Razorpay
The premium Razorpay add-on adds Razorpay to the providers of the Payment field, next to Stripe and PayPal. Visitors pay with cards, UPI, netbanking or wallets in Razorpay Checkout before their message is sent.
Set it up
- Install the add-on and activate its license, as for any add-on.
- In your Razorpay dashboard, under Account & Settings → API keys, generate a key. Copy the Key ID and the Key secret: Razorpay shows the secret only once.
- Paste them in Contact Form → Settings → Payments → Razorpay and save. The card shows Test payments for test keys (they start with rzp_test_) and Live for live ones.
- In a form, add a Payment field and set its Currency, such as INR. Razorpay is offered when Pay with is empty or lists it.
What visitors see
- They fill in the form and press Send. The payment box opens with the amount.
- The Pay button, such as Pay 499.50 INR, opens Razorpay Checkout over the page, with your site’s name and their email filled in.
- They pay, and the message is sent. A declined try shows Razorpay’s reason under the form, and Checkout stays open to try again.
In the mail, [payment] prints the payment, such as 499.50 INR paid with Razorpay (pay_…), so you can find it in your dashboard.
Currencies
INR works with any Razorpay account. USD, EUR, GBP, AUD, CAD, SGD, AED, SAR, MYR, HKD, CHF and NZD need international payments turned on in your Razorpay account. A Payment field in another currency doesn’t offer Razorpay.
Test, then go live
With test keys, pay with Razorpay’s test cards and UPI IDs; the payments show in the dashboard’s Test mode. When it works, switch the dashboard to Live mode, generate live keys and paste them in the same place.
How each payment is checked
Before the message is sent, the add-on reads the payment from Razorpay with your Key secret. It must be paid, for the same amount and currency, for an order made for that form, and not used before. It’s then marked used and captured, so one payment sends one message. If the capture fails, the message isn’t sent, and Razorpay refunds a payment that is never captured.
Troubleshooting
| Problem | What to check |
|---|---|
| Razorpay isn’t offered in the form | Both keys are saved, the field’s currency is one Razorpay takes, and Pay with is empty or lists Razorpay. |
| The payment doesn’t start | The Key ID and Key secret come from the same mode, test or live, and were copied whole. |
| Paid, but the message wasn’t sent | Find the payment in your Razorpay dashboard. One that was never captured is refunded by Razorpay; the visitor can send the form again. |