API ReferenceIntegrationsKnowledge Base

Refunds

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:

How Refunds work?#

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:

Payment Methods#

We support all payment methods for normal refunds.

Refunds will be sent back to the original payment method used in making the payment. For example, if a credit card was used to make the payment, the refund will be pushed to the same credit card.

Processing Time#

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.

Payment Method

Refund Time

credit or debit cards

5-10 days

netbanking

2-10 days

wallet

0-3 days

upi

2-7 days

Refund Fees#

For normal refunds, Razorpay does not charge any processing fee. However, the transaction fee and GST levied by Razorpay at the time of payment capture will not be reversed to your account.

How Instant Refunds work?#

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.

A typical flow for instant refund is shown below:

Payment Methods#

We support the following payment methods for instant refunds. The list of banks that support instant refunds differ according to payment methods.

Refunds will be sent back to the original payment method used in making the payment. For example, if a credit card was used to make the payment, the refund will be pushed to the same credit card.

Processing Time#

For all credit card transactions, the time taken depends on the amount to be refunded:

Refund Amount

Time Taken for refund

Up to ₹2 lakhs

Credited immediately to the customer's account.

More than ₹2 lakhs

Credited within two hours during the business hours.
For refunds raised beyond working hours, it can take up to 1 business day for the refund to reflect in the customer's account.

Refund Fees#

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.

For more details about pricing, contact our Support team.

Issuing Refunds#

You can issue refunds to your customers using the Refunds API or from the 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.

Using the Dashboard#

To issue refunds:

  1. Log into your Dashboard with appropriate credentials.

  2. Locate the payment for which refund is requested.
    The payment should be in the captured state.

  3. In the Refund Payment screen, in the amount field, enter an amount lesser than the captured amount for issuing a partial refund. By default, the entire amount will be refunded.

  4. Look for the Refund Instantly checkbox.

    If you want to...

    Do this...

    Example

    issue a normal refund

    unselect the Refund Instantly checkbox

    issue an instant refund

    select the Refund Instantly checkbox

  5. Review the fees that will be levied for the refund to be processed instantly.

  6. Click the Issue Full Refund or Issue Partial Refund button, depending on the amount to be refunded.

Using the API#

To refund a payment via the API, send the payment_id in the Refund request. In case of instant refunds, send the speed attribute as optimum along with the other request attributes.

Setting the Default Speed of Refunds#

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:

  1. Log into your Dashboard with appropriate credentials.

  2. Navigate to Settings and click the Configuration tab in the right pane.

  3. 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.

Overriding the Default Refund Speed#

The default speed set globally can be overridden while refunding a payment from the TransactionsPayments tab of the Dashboard.

The possible ways in which you can switch between Normal and Instant Refunds are listed below:

Default Speed setting

All Refunds

Refund Payment option

Processed speed of the Refund

Normal Refund

All the refunds will be processed at the normal speed.

Refund Instantly option is selected.

The refund will be processed at the optimum speed. If an instant refund is not possible, Razorpay will initiate a normal refund.

Instant Refund

All the refunds will be processed at an optimum speed.
If an instant refund is not possible, Razorpay will initiate a normal refund.

Refund Instantly option is unselected.

The refund will be processed at the normal speed.

Handling Chargebacks for Refunds#

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.

Handling Errors#

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.

Copy{ "error": { "code": "BAD_REQUEST_ERROR", "description": "Payment is more than 6 months old, only instant refund is supported", "source": null, "step": null, "reason": null, "metadata": {} } }

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.

Note:
We charge a small fee to process instant 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:

Copy{ "error": { "code": "BAD_REQUEST_ERROR", "description": "Refund is not supported by the bank because the payment is more than 6 months old", "source": null, "step": null, "reason": null, "metadata": {} } }

Note:
If the instant refund fails, any fee charged will be reversed to your account.

Email Notifications#

For better visibility and tracking of Refunds in the Refund process, Razorpay will send email notifications to you and your customers. You will receive email notifications for:

  • Refund Initiated - An email is sent as soon as a Refund is initiated. This indicates that a refund request has been conveyed to the banking partner.
  • RRN Updated - Once the Refund Reference Number (RRN) is received from the partner bank, you and your customers will receive an email with the RRN for the specific Refund ID. This indicates that the refund request has been accepted and processed by the partner bank. RRN can be shared with the customer's bank for further escalation in case they don't receive any credit within 5-7 working days. In most cases, you and your customers will receive an RRN Updated email within 1-2 working days.

FAQs#

Refunds#

  1. How do I initiate a refund?
    #

    You can issue partial or full refunds:

    By default, the entire amount will be refunded. If you are issuing a partial refund, ensure the partial refund option is selected and enter the desired value in INR.

    Note: Refunds are immediate from our end. Once issued a refund cannot be canceled or reversed.

  2. Do you charge for refund?
    #

    • Normal Refunds: No. We do not charge you for refunds. However, fees and tax charged for a captured payment will not be reversed.
    • Instant Refunds: Yes. There is a small charge to issue instant refunds. Refer to the Refund Fees section for more details.
  3. I am unable to refund a payment. What do I do?
    #

    If your current balance is less than the amount you are trying to refund, you can either initiate the refund once you receive further payments or you can add funds to your account from your Dashboard.

Instant Refunds#

  1. Are there any charges for instant refunds?
    #

    • Normal Refunds: No. We do not charge you for refunds. However, fees and tax charged for a captured payment will not be reversed.
    • Instant Refunds: Yes. There is a small charge to issue instant refunds. Refer to the Refund Fees section for more details.
  2. Does Razorpay support Instant Refunds for International Payments?
    #

    Yes, instant refunds are possible for payments involving international currencies. Here is a list of supported currencies.

  3. What are the payment methods supported for Instant Refunds?
    #

    Currently, you can issue Instant Refunds on payments accepted via debit cards, credit cards, netbanking and UPI.

×