Refunds
Integrate with Refunds API using partner auth.
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.
Given below are the sample codes to create a full refund. You should send the account_id
of the sub-merchant using X-Razorpay-Account
in the header. Refer to the
id
mandatory
string
The unique identifier of the payment which needs to be refunded.
amount
optional
integer
The amount to be refunded. Amount should be in the smallest unit of the currency in which the payment was made.
- For a partial refund, enter a value lesser than the payment amount. For example, if the payment amount is ₹1,500.00 and you want to refund only ₹500.00, you must pass
50000
. - For full refund, enter the entire payment amount. If the
amount
parameter is not passed, the entire payment amount will be refunded.
speed
optional
string
The speed at which the refund is to be processed. The default value is normal
. Refund will be processed via the normal speed, and the customer will receive the refund within 5-7 working days. Pass optimum
for instant refunds.
- 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.
notes
optional
json object
Key-value pairs used to store additional information. A maximum of 15 key-value pairs can be included.
receipt
optional
string
A unique identifier provided by you for your internal reference.
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
.
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.
- Normal refund is not possible for a payment which is more than 6 months old.
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.
Given below is the sample code for Fetch all Refunds API. Pass the account_id
of the sub-merchant using X-Razorpay-Account
in the header. Know more about
By default, only the last 10 refunds are returned. You can use count and skip query parameters to change that behaviour.
from
optional
integer
Unix timestamp at which the refunds were created.
to
optional
integer
Unix timestamp till which the refunds were created.
count
optional
integer
The number of refunds to fetch. You can fetch a maximum of 100 refunds.
skip
optional
integer
The number of refunds to be skipped.
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
.
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.
- Normal refund is not possible for a payment which is more than 6 months old.
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.
Was this page helpful?