Why should I configure webhooks for Razorpay?
Razorpay supports receiving payments through multiple payment modes. When the customer clicks the Proceed to Pay button, a Razorpay pop-up will open from which they can select a payment mode and make the payment. Once the customer authenticates the payment through OTP or other methods, the amount will be deducted from the customer’s account. Next, Razorpay will notify Zoho Inventory for the payment to be recorded. However, the notification to record the payment in Zoho Inventory might fail as explained in the cases below. So, configuring a webhook for Razorpay ensures that Zoho Inventory is notified about the payment statuses and payments do not fail to be recorded.
Case 1: Mobile browser and UPI/Wallet payments
Let’s say, your customer opens the payment URL in a mobile browser and chooses to pay via Wallet or UPI payment mode. They will be redirected to one of the mobile apps to make the payment. Once they make the payment, the payment status becomes Authorised and if they return to the payment initiation screen, the payment will be captured and recorded in Zoho Inventory. However, if the customer does not return to the payment initiation screen, their payment will be in Authorised status and the payment may never be recorded in Zoho Inventory. Moreover, if the payment stays in the Authorised status, Razorpay will initiate an auto-refund of the payment based on the Default Speed of Refunds you’ve configured.
In this case, configuring the webhook ensures that the payment status is passed on to Zoho Inventory, even if your customer does not return to the payment initiation screen.
Case 2: Late authorisation
When your customer pays you via Net Banking and there is a delay in payment authorisation response from the bank to Razorpay, the transaction times out and the payment status is updated as failed. Later, the payment could become a success and the bank might send a success message to Razorpay.
Configuring the webhook ensures that Zoho Inventory receives this success message and records the payment.