Best Practices
Follow these Best practices while doing TPV integration.
Given below are some of the best practices to be followed for a smooth TPV integration and payment experience:
When a payment made by your customer is authorised, it needs to be captured for it to be settled to your bank account. Use the Payment Capture Settings to configure the capture settings at an account level using the Razorpay Dashboard.
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 the order_id
to Checkout.
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.
Check the payment/order status if the payment's status is captured
and the order's status is paid
before providing the services to the customers.
You can determine payment and order status using:
Use Webhooks or API query to avoid any cases of callback failure (drop-offs can be dues to connectivity or network failure) and to verify the payment details using an S2S call. Following are some of the Webhook events you should enable:
payment.captured
payment.failed
order.paid
Know more about Webhooks.
Use the callback_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.