- Integrate Orders API
- Verify Signature to Avoid Data Tampering
- Check Payment/Order Status before Providing Services
- Implement Webhooks
- Implement Callback URL
- Implement VPA Saving and Validation Features
1. Integrate Orders API
Orders help in binding multiple payment attempts against a single order. This helps to prevent multiple payments. Integrate with Orders API on your server-side and pass theorder_id to Checkout.
2. Verify Signature to Avoid Data Tampering
This is a mandatory step that allows you to confirm the authenticity of the details returned to the Checkout form for successful payments. Know more about how to verify payment signature.3. Check Payment/Order Status before Providing Services
Check the payment/order status, that is, if the payment’s status iscaptured and the order’s status is paid before providing the services to the customers.
You can determine payment and order status using:
- Fetch All Payments for an Order API
- Fetch Status of a Payment using Payment ID API
- Fetch Status of an Order using Order ID API
4. Implement Webhooks
Implement Webhooks or the query API to avoid any cases of callback failure (drop-offs can be due to connectivity or network failure) and to verify the payment details using an S2S call. Following are some of the Webhook events that you should enable:payment.capturedpayment.failedorder.paid
5. Implement Callback URL
Implementcallback_url if your customer’s make online payments on browsers such as Instagram, Facebook Messenger, Opera, UC browsers and so on. These browsers do not support i-frame.
6. Implement VPA Saving and Validation Features
Follow these best practices if you accept UPI collect payments from customers:1
Step 1
Validate the VPA before initiating the payment request. Know more about VPA Validation.
2
Step 2
Add a custom UPI Collect expiry based on the business requirement to provide enough time for the customer to complete the payment.
3
Step 3
Use the Saved VPA feature provided by Razorpay to provide a better customer experience and avoid payment failures.