There could be situations when customers request a refund of the payments made for the products or services purchased or availed on your website or app.
Depending on the time that you wish the refunds to be processed for your customers, you can opt either for:
Normal Refunds where it takes 5-7 working days for the refunds to reach your customers.
Instant Refunds where the customers receive their amount almost immediately. By issuing instant refunds to your customers, you can provide a better user experience for them. This also helps in improving their reliability and trust in your business.
When you make a normal refund request to Razorpay, the information is conveyed to banking partners or other related stakeholders. Each of them has its own mechanism to file the refund request, map it to their respective payments that were originally made and then take it forward. On completion of this process, the refund is sent back to the customer's bank account or card balance.
A typical flow for card refunds is illustrated below:
When you send a normal refund request to Razorpay, the information is conveyed to our banking partners. Depending on the bank's processing time, it can take 5-7 business days for the refunds to reflect in the customer's bank account or card balance.
The time taken to process a normal refund depends on the payment mode that was used while making the payment.
When an instant refund request is sent to Razorpay, the refunds are processed instantly by our system. The customer receives the refund within minutes (or an hour, sometimes) on their original payment source.
Razorpay charges a small transaction fee to process instant refunds. Fees will be deducted directly from your account balance and shall be reflected on the Refunds tab in the Dashboard. In cases where instant refund fails and the refund takes 5-7 working days, the levied fee is credited to your balance. The fee break-up is shown in the end-of-the-month invoice generated by Razorpay. Details are available in the Instant Refunds Reports downloadable from the Razorpay Dashboard.
Refunds are possible for captured payments only. Refunds can be made either in full or in part:
Full Refund You can refund the entire amount that you received in the payment.
Partial Refund You can refund part of the amount received in the payment. You can issue multiple, partial refunds as long as their sum does not exceed the captured amount.
A payment moves to the refunded state only when the entire amount is refunded to the customer. In case of partial refunds, the payment continues to remain in the captured state till the entire payment is refunded.
You can configure the speed at which all the refunds should be processed for your customers. Depending on your business needs, you can select from the following:
Normal Refund In this mode, the speed attribute is set to normal. The customers will receive their refunds within 5-7 business days.
Instant Refund In this mode, the speed attribute is set to optimum. Razorpay attempts to initiate fund transfer using IMPS, NEFT or UPI. The customer will receive the refunds instantly. If unsuccessful, Razorpay processes the refund via the normal speed.
The selected speed is set as the default speed and all the refunds, thereafter, will be processed at the chosen speed.
To set the default speed for all the refunds:
Log into your Dashboard with appropriate credentials.
Navigate to Settings and click the Configuration tab in the right pane.
In the Default Refund Speed section, choose between Normal Refund and Instant Refund.
Default Speed attribute for Refund API:
The chosen value will be applied as the default speed in the Refund API request as well.
For the prevention of chargebacks, Razorpay only does source refunds. It means that money is refunded to the payment method that the customer used to make the payment. For example, if a credit card was used to make the payment, the refund will be pushed to the same credit card. Similarly, in the case of UPI payments, the refund is pushed to the VPA used while making the payment.
If a chargeback is received for an instantly refunded payment, the processed refund will have a UTR (Unique Transfer Reference) in the callback. This UTR appears against the ARN (Application Reference Number) parameter in the Refund entity. The UTR serves as a proof of refund completed between you and Razorpay.
Additionally, Razorpay passes the RRN (Razorpay Reference Number) of the payment in the Fund Transfer Request sent for the Refund. This ties the instant refund back to the parent payment, thereby serving as a proof of the refund. This data can also be used as a defense against a future Chargeback or Arbitration case.
Sometimes when you try processing a Refund Request, it fails to get processed and you may encounter BAD_REQUEST_ERROR messages stating refunds not being supported. This happens because most of the banks do not support refunds for the payments which are more than 6 months old.
"description": "Payment is more than 6 months old, only instant refund is supported",
You can try to process such refunds using Instant Refund. To check the Refund status, navigate to the Refund Details modal by clicking on the specific Refund Id in the Transactions → Refunds tab. For more details, refer Refund States.
You can get the ARN/RRN for successfully processed refunds on the Dashboard or via the Fetch Refund API. This is a unique reference number which can be used by the customers to track refunds.
If Instant Refund for a payment which is more than 6 months old is not supported, then an error message is displayed on the Refund Payment modal.
You will encounter the following error code and error message in the API response:
"description": "Refund is not supported by the bank because the payment is more than 6 months old",
If the instant refund fails, any fee charged will be reversed to your account.