Refunds

Initiate normal and instant refunds to your customers using Razorpay's Refund APIs. View and update refund using APIs.


You can make full or partial refunds to customers. Know more about

.

Refunds Can be Made Only on Captured Payments

You can initiate refunds only on those payments that are in captured state. A payment in authorized state is auto-refunded if not captured within 5 days of creation.

You can try out our APIs on the Razorpay Postman Public Workspace. Fork the workspace and test the APIs with your

.

API EndpointDescription
Creates a normal refund for a payment.
Creates an instant refund for a payment.
Retrieves multiple refunds for a payment.
Retrieves details of a specific refund made for a payment.
Retrieves details of all refunds.
Retrieves the refund using the id.
Updates the notes parameter for a refund.

The Refund entity has the following fields:

id

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

entity

string Indicates the type of entity. Here, it is refund.

amount

integer The amount to be refunded (in the smallest unit of currency).
For example, if the refund value is ₹30.00 it will be 3000.

currency

string The currency of payment amount for which the refund is initiated. Check the list of

.

payment_id

string The unique identifier of the payment for which a refund is initiated. For example, pay_FgR9UMzgmKDJRi.

speed

string Speed at which the refund is to be processed. Possible values:

  • normal: Indicates that the refund will be processed via the normal speed. The refund will take 5-7 working days.
  • optimum: Indicates that the refund will be processed at an optimal speed based on Razorpay's internal fund transfer logic.
    • If the refund can be processed instantly, Razorpay will do so, irrespective of the payment method used to make the payment.
    • If an instant refund is not possible, Razorpay will initiate a refund that is processed at the normal speed. For example, in case of payments made using debit cards, netbanking or unsupported credit cards.

created_at

integer Unix timestamp at which the refund was created. For example, 1600856650.

batch_id

string This parameter is populated if the refund was created as part of a batch upload. For example, batch_00000000000001

notes

json object Key-value store for storing your reference data. A maximum of 15 key-value pairs can be included. For example, "note_key": "Beam me up Scotty”.

receipt

string A unique identifier provided by you for your internal reference.

acquirer_data

array A dynamic array consisting of a unique reference number (either RRN, ARN or UTR) that is provided by the banking partner when a refund is processed. This reference number can be used by the customer to track the status of the refund with the bank.

status

string Indicates the state of the refund. Possible values:

  • pending: This state indicates that Razorpay is attempting to process the refund.
  • processed: This is the final state of the refund.
  • failed: A refund can attain the failed state in the following scenarios:
    • Normal refund is not possible for a payment which is more than 6 months old.
    • Instant Refund can sometimes fail because of customer's account or bank-related issues.

speed_requested

string The processing mode of the refund seen in the refund response.
This attribute is seen in the refund response only if the speed parameter is set in the refund request.
Possible values:

  • normal: Indicates that the refund will be processed via the normal speed. The refund will take 5-7 working days.
  • optimum: Indicates that the refund will be processed at an optimal speed based on Razorpay's internal fund transfer logic.
    • If the refund can be processed instantly, Razorpay will do so, irrespective of the payment method used to make the payment.
    • If an instant refund is not possible, Razorpay will initiate a refund that is processed at the normal speed.

speed_processed

string This is a parameter in the response which describes the mode used to process a refund.
This attribute is seen in the refund response only if the speed parameter is set in the refund request. Possible values:

  • instant: Indicates that the refund has been processed instantly via fund transfer.
  • normal: Indicates that the refund has been processed by the payment processing partner. The refund will take 5-7 working days.

You can create and manage refunds using APIs or from the

.

Razorpay Webhooks to configure and receive notifications when a specific occurs. When one of these events is triggered, we send an HTTP POST in JSON to the webhook's configured URL.


Was this page helpful?