1. Integrate Payments Rainy Day Kit
Use Payments Rainy Day kit to overcome payments exceptions such as:2. 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.
3. Verify Signature to Avoid Data Tampering
Verifying the Signature is a mandatory step that lets you confirm the authenticity of the details returned to the Checkout form for successful payments. Know more about how to verify payment signature.4. Check Payment or 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 proving 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
5. Implement Webhooks
Implement webhooks or the query API to avoid any cases of callback failure (drop-offs could be connectivity or network failure) and to verify the payment details via an S2S call. Some of the webhook events you should enable are:payment.capturedpayment.failedorder.paid
6. Implement Callback URL
Implementcallback_url if your customers make online payments on browsers such as Instagram, Facebook Messenger, Opera, UC browsers and so on. This is because these browsers do not support i-frame.
7. Implement Card Saving and Validation Features
Follow these best practices if you accept card payments from customers:- Validate the card number to avoid any payment failures. Know more about Card Validation.
- Use the Saved card feature provided by Razorpay for better user experience and prevent payment failures because of incorrect card details.
8. 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.