Batch Refunds

Create and cancel refunds in bulk to your customers using Batch Refunds.


Use Batch refunds to make refunds in bulk using an XLSX or CSV file. Once you upload a file, it is picked up for processing after 70 minutes. You can cancel a batch upload in the 70 minutes before it is picked up for processing.

Feature Request

This is an on-demand feature. Please raise a request with our

to get this feature activated on your Razorpay account.

A batch file can be in any of these states:

  • created: This is the initial state of the file when it is uploaded. Once you upload a file, it stays in the created state for 70 minutes. You can cancel the upload during this time.
  • processing: This state indicates that the batch file is getting processed.
  • processed: This is the final state of the file. It indicates that all the rows in the batch file were processed, either successfully or unsuccessfully. Download the Batch Refund Report from the Dashboard to check the status of each refund.
  • cancelled: You can only cancel batch uploads in the created state. You cannot cancel batch uploads in the processing or processed states.

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

Follow the steps given below to create refunds in bulk using batch refund.

Handy Tips

The instant refund is enabled by default for your account. You should set the refund speed to optimum when creating a refund request to ensure refunds are processed instantly. We will consider the default speed if you do not specify the same during the refund request. Know more about

from the Razorpay dashboard.

To create a batch refund:

  1. Log in to the Razorpay .
  2. Go to Transactions and click View All on the Refunds tab. Select Batch Refunds and click Click here to upload.
    batch refunds new
  3. .
  4. Add the required data to the sample file. Know more about .
  5. Upload the file to the Razorpay Dashboard, check the preview to ensure details are correct, and click Submit Batch.
Create a Batch Refund

, add your data to this file and upload it for processing. We support CSV, XLS and XLSX file formats for the batch file. We do not support custom headers.

Shown below is a sample data from a batch file:

Batch File Sample Data

The below table lists the various headers in the sample batch file and briefly describes each.

Payment Id

mandatory

string The unique identifier for the payment that is to be refunded. For example, pay_F1JdjAyjRexm9T.

amount

mandatory

integer The amount, in paise, to be refunded. For example, pass 1000 to process a refund of ₹10.00.

speed

optional

string The speed at which the refund should be processed. Possible values:

  • optimum : Instant Refunds. If it is not possible to process the refund instantly, we will process the refund in 5-7 working days. Know more about .
  • normal : The refund is processed in 5-7 working days.

If no value is passed, the refund is processed using the

set on the Razorpay Dashboard.

You can cancel a batch upload from the Razorpay Dashboard.

Handy Tips

You can only cancel batch uploads in the created states. You cannot cancel batch uploads in the processing and processed states.

To cancel a batch upload:

  1. Log in to the Razorpay .
  2. Go to Transactions and click View All on the Refunds tab. Select Batch Refunds.
    batch refunds new
  3. Click Cancel for the Batch Id that you want to cancel.

Though a batch file may have acquired processed state, all the refunds may not have been successful due to errors. For example, if an incorrect payment id is added to the file, the file might be processed, but the refund would have failed.

You can download the Batch Refund report to check the status of each data row.

To download the Batch Refund report:

  1. Log in to the Razorpay .
  2. Go to Transactions and click View All on the Refunds tab. Select Batch Refunds.
    batch refunds new
  3. Click Download for the required Batch Id to download the Batch Refund Report.
    • If a payment was successfully refunded, the corresponding data row is populated with a Refund Id.
    • If a payment was not successfully refunded, the corresponding data row is populated with an Error Code and Error Description.

Given below is a sample data from a processed batch file:

Processed Batch File Sample Data

The below table describes each of the headers of the processed batch file:

Payment Id

string The unique identifier for the payment that is to be refunded. For example, pay_F1JdjAyjRexm9T.

Amount

integer The amount, in paise, to be refunded. For example, pass 1000 to process a refund of ₹10.00.

Refund Id

string The unique identifier of the refund. For example, rfnd_EqWThTE7dd7utf.

Refunded Amount

integer The amount, in paise, refunded to the customer. For example, 1000 means ₹10.00 was refunded to the customer.

status

string The status of the refund. Possible values:

  • processed : The refund was successfully processed by us.
  • failure : The refund was not processed. You need to create the refund again.

speed

optional

string The speed at which the refund should be processed. Possible values:

  • optimum : Instant Refunds. If it is not possible to process the refund instantly, we will process the refund in 5-7 working days. Know more about .
  • normal : The refund is processed in 5-7 working days.

Error Code

string The error code for the failure. For example, BAD_REQUEST_ERROR.

Error Description

string The reason for the error. For example, The refund amount provided is greater than the unrefunded amount.


Was this page helpful?


refunds
batch refunds
refund fees
create batch refunds