API Test Keys
Refund Payments
POST
/v1/payments/:id/refund
Click to copy
Use this endpoint to refund payments made on a QR Code.
Is this page helpful?
1curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \2-X POST https://api.razorpay.com/v1/payments/pay_HKrqmsgBHbaeIM/refund \3-H "Content-Type: application/json" \
Success
Failure
1{2"id": "rfnd_HMtH2fBtD60QkX",3"entity": "refund",4"amount": 200,5"currency": "INR",6"payment_id": "pay_HKrqmsgBHbaeIM",7"notes": [],8"receipt": null,9"acquirer_data": {10"rrn": null11},12"created_at": 1623663010,13"batch_id": null,14"status": "processed",15"speed_processed": "normal",16"speed_requested": "normal"17}
Path Parameters
id
*
string
The unique identifier of the payment to be refunded.
Request Parameters
amount
string
Amount to be refunded. If no value is passed, a full refund is issued.
notes
object
Key-value pair that can be used to store additional information about the QR Code. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”
.
Response Parameters
id
string
The unique identifier of the refund.
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, refund in INR, a value of 100 means 100 paise (equivalent to ₹1).
currency
string
The currency of the amount for which refund is initiated.
payment_id
string
Unique identifier of the payment for which the refund is initiated.
created_at
integer
Timestamp, in Unix format, when the refund was created.
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.
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 status of the refund, indicating that the refund is paid.failed
: A refund can attain the failed state in the following scenarios:
- Normal refund 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 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. That is, the refund will take 5-7 working days. Know more about .optimum
: Indicates that the refund will be processed at an optimal speed based on Razorpay's internal fund transfer logic. That is:- 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. Know more about .
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
: This means that the refund has been processed instantly via fund transfer.normal
: This means that the refund has been processed by the payment processing partner. That is, the refund takes 5-7 working days to be processed.
Errors
The API {key/secret} provided is invalid.
Error Status: 4xx
The API credentials passed in the API call differ from the ones generated on the Dashboard.
Solution
{Payment_id} is not a valid id.
Error Status: 400
A wrong Payment id is provided.
Solution
The requested URL was not found on the server.
Error Status: 400
- The URL is wrong or is missing something.
- A POST API is executed by GET Method.
Solution
Refund Payments
POST
/v1/payments/:id/refund
Click to copy
Use this endpoint to refund payments made on a QR Code.
Is this page helpful?
Path Parameters
id
*
string
The unique identifier of the payment to be refunded.
Request Parameters
amount
string
Amount to be refunded. If no value is passed, a full refund is issued.
notes
object
Key-value pair that can be used to store additional information about the QR Code. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”
.
Response Parameters
id
string
The unique identifier of the refund.
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, refund in INR, a value of 100 means 100 paise (equivalent to ₹1).
currency
string
The currency of the amount for which refund is initiated.
payment_id
string
Unique identifier of the payment for which the refund is initiated.
created_at
integer
Timestamp, in Unix format, when the refund was created.
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.
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 status of the refund, indicating that the refund is paid.failed
: A refund can attain the failed state in the following scenarios:
- Normal refund 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 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. That is, the refund will take 5-7 working days. Know more about .optimum
: Indicates that the refund will be processed at an optimal speed based on Razorpay's internal fund transfer logic. That is:- 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. Know more about .
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
: This means that the refund has been processed instantly via fund transfer.normal
: This means that the refund has been processed by the payment processing partner. That is, the refund takes 5-7 working days to be processed.
Errors
The API {key/secret} provided is invalid.
Error Status: 4xx
The API credentials passed in the API call differ from the ones generated on the Dashboard.
Solution
{Payment_id} is not a valid id.
Error Status: 400
A wrong Payment id is provided.
Solution
The requested URL was not found on the server.
Error Status: 400
- The URL is wrong or is missing something.
- A POST API is executed by GET Method.
Solution
1curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \2-X POST https://api.razorpay.com/v1/payments/pay_HKrqmsgBHbaeIM/refund \3-H "Content-Type: application/json" \
Success
Failure
1{2"id": "rfnd_HMtH2fBtD60QkX",3"entity": "refund",4"amount": 200,5"currency": "INR",6"payment_id": "pay_HKrqmsgBHbaeIM",7"notes": [],8"receipt": null,9"acquirer_data": {10"rrn": null11},12"created_at": 1623663010,13"batch_id": null,14"status": "processed",15"speed_processed": "normal",16"speed_requested": "normal"17}