Appearance
Direct Payment
The Razorpay gateway is the one-time payment side of this plugin. Whenever a customer needs to settle a single AcelleMail invoice — a plan purchase, a top-up, any one-off charge — they pay through Razorpay's hosted checkout and the plugin confirms the result before the invoice is marked paid. There is nothing to map and no recurring commitment: this gateway simply collects a single INR payment.
What your customer sees
When a customer chooses Razorpay at checkout, the plugin opens Razorpay's own payment window under the heading "Complete Your Payment". From there they can pay using any method Razorpay offers in India:
- UPI — Google Pay, PhonePe, Paytm and any UPI app
- Cards — credit and debit cards
- Net banking — direct bank transfer
- Wallets — popular Indian wallets
Admin → Payment Gateways → Razorpay
Because the payment happens inside Razorpay's checkout, card details are never handled by your server — Razorpay collects and processes them directly.
What happens after they pay
Once the customer finishes (or abandons) the payment, they see one of three plain messages:
- "Payment successful. Thank you!" — the payment went through and the invoice is settled.
- "Payment could not be completed. Please try again." — the attempt failed; the customer can retry.
- "Payment was cancelled." — the customer closed checkout without paying.
The success message is only shown after the plugin has confirmed the payment on your server — the browser's word is never taken at face value.
How the payment is trusted
The moment Razorpay reports a result, the plugin verifies it before crediting anything:
- Razorpay returns the payment together with an HMAC signature.
- The plugin re-computes that signature from your API keys and compares it. A mismatch is rejected.
- The outcome is then confirmed server-side against Razorpay — the browser callback alone is never trusted to mark an invoice paid.
This is why a customer who tampers with the return page, or replays an old success URL, cannot fake a payment. See Security for the full verification model.
Currency
The Razorpay gateway is INR-only — it collects payments in Indian Rupees. No plan mapping is required for direct payments; the amount comes straight from the AcelleMail invoice.
Test before you go live
While your API keys start with rzp_test_, every payment runs in Razorpay's test mode. Switch to your rzp_live_ keys when you're ready — see Going live.
Related pages
- Subscriptions — recurring billing via Razorpay
- Security — signature verification and server-side confirmation
- Configuration — enter your keys and enable the gateway
- Get your API keys — Key ID and Key Secret
- Errors — payment message reference