Capture a Payment
POST
/v1/payments/:id/capture
Click to copy
Use this endpoint to change the payment status from authorized
to captured
. Attempting to capture a payment whose status is not authorized
will produce an error.
- After the customer's bank authorises the payment, you must verify if the authorised amount deducted from the customer's account is the same as the amount paid by the customer on your website or app.
- You can of payments on the Curlec Dashboard.
Is this page helpful?
1curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \2-H 'content-type: application/json' \3-X POST https://api.razorpay.com/v1/payments/pay_29QQoUBi66xm2f/capture \4-d '{5"amount": 1000,6"currency": "MYR"7}'
Success
Failure
1{2"id": "pay_LPpN6ssnoEVNv0",3"entity": "payment",4"amount": 1000,5"currency": "MYR",6"status": "captured",7"order_id": null,8"invoice_id": null,9"international": false,10"method": "card",11"amount_refunded": 0,12"refund_status": null,13"captured": true,14"description": "Test Transaction",15"card_id": "card_LPpN6ubeosLH4g",16"card": {17"id": "card_LPpN6ubeosLH4g",18"entity": "card",19"name": "",20"last4": "1111",21"network": "Visa",22"type": "debit",23"issuer": null,24"international": false,25"sub_type": "consumer",26"token_iin": null27},28"bank": null,29"wallet": null,30"email": "nur.aisyah@example.com",31"contact": "+60345675444",32"notes": {33"address": "Curlec Corporate Office"34},35"fee": 100,36"tax": 0,37"error_code": null,38"error_description": null,39"error_source": null,40"error_step": null,41"error_reason": null,42"acquirer_data": {43"auth_code": "878694"44},45"created_at": 167845263546}
Path Parameters
id
*
string
Unique identifier of the payment to be captured.
Request Parameters
amount
*
integer
The amount to be captured (should be equal to the order amount, in the smallest unit of the currency). While creating a capture request, in the amount
field, enter only the amount associated with the order that is stored in your database.
currency
*
string
ISO code of the currency in which the payment was made.
Response Parameters
id
string
Unique identifier of the payment.
entity
string
Indicates the type of entity.
amount
integer
The payment amount in currency subunits. For example, for an amount of RMÂ 1.00 enter 100.
currency
string
The currency in which the payment is made.
status
string
The status of the payment. Possible values:
created
authorized
captured
refunded
failed
method
string
The payment method used for making the payment. Possible values:
card
fpx
wallet
order_id
string
Order id, if provided. Know more about
.description
string
Description of the payment, if any.
international
boolean
Indicates whether the payment is done via an international card or a domestic one.
refund_status
string
The refund status of the payment. Possible values:
null
partial
full
amount_refunded
integer
The amount refunded in currency subunits. For example, if amount_refunded = 100
, it is equal to RMÂ 1.00.
captured
boolean
Indicates if the payment is captured.
email
string
Customer email address used for the payment.
contact
string
Customer contact number used for the payment.
fee
integer
Fee (including tax) charged by Curlec.
tax
integer
Tax charged for the payment.
error_code
string
Error that occurred during payment. For example, BAD_REQUEST_ERROR
.
error_description
string
Description of the error that occurred during payment. For example, Payment processing failed because of incorrect OTP
.
error_source
string
The point of failure. For example, customer
.
error_step
string
The stage where the transaction failure occurred. The stages can vary depending on the payment method used to complete the transaction. For example, payment_authentication
.
error_reason
string
The exact error reason. For example, incorrect_otp
.
notes
json object
Contains user-defined fields, stored for reference purposes.
created_at
integer
Timestamp, in UNIX format, on which the payment was created.
card_id
string
The unique identifier of the card used by the customer to make the payment.
card
object
Details of the card used to make the payment.
Show child parameters (8)
bank
string
The 4-character bank code which the customer's account is associated with.
wallet
string
The name of the wallet used by the customer to make the payment. For example, grabpay
.
acquirer_data
array
A dynamic array consisting of a unique reference number.
Show child parameters (2)
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
Capture amount must be equal to the amount authorized.
Error Status: 400
- The capture amount is incorrect.
- The amount you are trying to capture differs from the authorised amount .
Solution
Your payment has been declined as the order is already paid. Please initiate the payment with a new order.
Error Status: 400
This payment has already been captured.
Solution
The id provided does not exist
Error Status: 400
The payment_id
provided is incorrect.
Solution
The requested URL was not found on the server.
Error Status: 400
The URL is incorrect.
Solution
The amount must be an integer
Error Status: 400
The amount specified is incorrect.
Solution
Capture a Payment
POST
/v1/payments/:id/capture
Click to copy
Use this endpoint to change the payment status from authorized
to captured
. Attempting to capture a payment whose status is not authorized
will produce an error.
- After the customer's bank authorises the payment, you must verify if the authorised amount deducted from the customer's account is the same as the amount paid by the customer on your website or app.
- You can of payments on the Curlec Dashboard.
Is this page helpful?
Path Parameters
id
*
string
Unique identifier of the payment to be captured.
Request Parameters
amount
*
integer
The amount to be captured (should be equal to the order amount, in the smallest unit of the currency). While creating a capture request, in the amount
field, enter only the amount associated with the order that is stored in your database.
currency
*
string
ISO code of the currency in which the payment was made.
Response Parameters
id
string
Unique identifier of the payment.
entity
string
Indicates the type of entity.
amount
integer
The payment amount in currency subunits. For example, for an amount of RMÂ 1.00 enter 100.
currency
string
The currency in which the payment is made.
status
string
The status of the payment. Possible values:
created
authorized
captured
refunded
failed
method
string
The payment method used for making the payment. Possible values:
card
fpx
wallet
order_id
string
Order id, if provided. Know more about
.description
string
Description of the payment, if any.
international
boolean
Indicates whether the payment is done via an international card or a domestic one.
refund_status
string
The refund status of the payment. Possible values:
null
partial
full
amount_refunded
integer
The amount refunded in currency subunits. For example, if amount_refunded = 100
, it is equal to RMÂ 1.00.
captured
boolean
Indicates if the payment is captured.
email
string
Customer email address used for the payment.
contact
string
Customer contact number used for the payment.
fee
integer
Fee (including tax) charged by Curlec.
tax
integer
Tax charged for the payment.
error_code
string
Error that occurred during payment. For example, BAD_REQUEST_ERROR
.
error_description
string
Description of the error that occurred during payment. For example, Payment processing failed because of incorrect OTP
.
error_source
string
The point of failure. For example, customer
.
error_step
string
The stage where the transaction failure occurred. The stages can vary depending on the payment method used to complete the transaction. For example, payment_authentication
.
error_reason
string
The exact error reason. For example, incorrect_otp
.
notes
json object
Contains user-defined fields, stored for reference purposes.
created_at
integer
Timestamp, in UNIX format, on which the payment was created.
card_id
string
The unique identifier of the card used by the customer to make the payment.
card
object
Details of the card used to make the payment.
Show child parameters (8)
bank
string
The 4-character bank code which the customer's account is associated with.
wallet
string
The name of the wallet used by the customer to make the payment. For example, grabpay
.
acquirer_data
array
A dynamic array consisting of a unique reference number.
Show child parameters (2)
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
Capture amount must be equal to the amount authorized.
Error Status: 400
- The capture amount is incorrect.
- The amount you are trying to capture differs from the authorised amount .
Solution
Your payment has been declined as the order is already paid. Please initiate the payment with a new order.
Error Status: 400
This payment has already been captured.
Solution
The id provided does not exist
Error Status: 400
The payment_id
provided is incorrect.
Solution
The requested URL was not found on the server.
Error Status: 400
The URL is incorrect.
Solution
The amount must be an integer
Error Status: 400
The amount specified is incorrect.
Solution
1curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \2-H 'content-type: application/json' \3-X POST https://api.razorpay.com/v1/payments/pay_29QQoUBi66xm2f/capture \4-d '{5"amount": 1000,6"currency": "MYR"7}'
Success
Failure
1{2"id": "pay_LPpN6ssnoEVNv0",3"entity": "payment",4"amount": 1000,5"currency": "MYR",6"status": "captured",7"order_id": null,8"invoice_id": null,9"international": false,10"method": "card",11"amount_refunded": 0,12"refund_status": null,13"captured": true,14"description": "Test Transaction",15"card_id": "card_LPpN6ubeosLH4g",16"card": {17"id": "card_LPpN6ubeosLH4g",18"entity": "card",19"name": "",20"last4": "1111",21"network": "Visa",22"type": "debit",23"issuer": null,24"international": false,25"sub_type": "consumer",26"token_iin": null27},28"bank": null,29"wallet": null,30"email": "nur.aisyah@example.com",31"contact": "+60345675444",32"notes": {33"address": "Curlec Corporate Office"34},35"fee": 100,36"tax": 0,37"error_code": null,38"error_description": null,39"error_source": null,40"error_step": null,41"error_reason": null,42"acquirer_data": {43"auth_code": "878694"44},45"created_at": 167845263546}