Skip to content

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

The Razorpay checkout window opening for a one-time paymentAdmin → 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:

  1. Razorpay returns the payment together with an HMAC signature.
  2. The plugin re-computes that signature from your API keys and compares it. A mismatch is rejected.
  3. 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.

Documentation for the Relyweb app catalogue.