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 configure automatic capture of payments on the Dashboard.
Request
Curl
Response
Success
Parameters
id mandatory
: string Unique identifier of the payment to be captured.
Parameters
amount mandatory
: 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 mandatory
: string ISO code of the currency in which the payment was made. Refer to the list of supported currencies.
Handy Tips
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 1 enter 100.
currency
: string The currency in which the payment is made. Refer to the list of international currencies that we support.
status
: string The status of the payment. Possible values:
createdauthorizedcapturedrefundedfailed
method
: string The payment method used for making the payment. Possible values:
cardnetbankingwalletemiupi
order_id
: string Order id, if provided. Know more about Orders.
description
: string Description of the payment, if any.
international
: boolean Indicates whether the payment is done via an international card or a domestic one. Possible values:
true: Payment made using international card.false: Payment not made using international card.
refund_status
: string The refund status of the payment. Possible values:
nullpartialfull
amount_refunded
: integer The amount refunded in currency subunits. For example, if amount_refunded = 100, it is equal to 1.
captured
: boolean Indicates if the payment is captured. Possible values:
true: Payment has been captured.false: Payment has not been captured.
email
: string Customer email address used for the payment.
contact
: string Customer contact number used for the payment.
fee
: integer Fee (including GST) charged by Razorpay.
tax
: integer GST 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.
id
: string The unique identifier of the card used by the customer to make the payment.
entity
: string The name of the entity. Here, it is card.
name
: string Name of the cardholder.
last4
: integer The last 4 digits of the card number.
network
: string The card network. Possible values:
American ExpressDiners ClubMaestroMasterCardRuPayUnknownVisa
type
: string The card type. Possible values:
creditdebitprepaidunknown
issuer
: string The card issuer. The 4-character code denotes the issuing bank. This attribute will not be set for the card issued by a foreign bank.
emi
: boolean Indicates whether the card can be used for EMI payment method. Possible values:
true: Card can be used for EMI payments.false: Card cannot be used for EMI payments.
sub_type
: string The sub-type of the customer’s card. Possible values:
customerbusiness
upi
: object Details of the UPI payment received. Only applicable if method is upi.
payer_account_type
: string The payment method used for making the payment. Possible values:
bank_accountcredit_cardwalletcredit_line
vpa
: string The customer’s VPA (Virtual Payment Address) or UPI id used to make the payment. For example, gauravkumar@exampleupi.
flow
: string The type of UPI flow. Possible values:
intent: When a UPI app is selected and user is redirected to it.collect: The user enters their UPI ID and receives a notification from the UPI app. They open the app and complete the payment.in_appIn case of Turbo UPI Payments.
bank
: string The 4-character bank code which the customer’s account is associated with. For example, UTIB for Axis Bank.
vpa
: string The customer’s VPA (Virtual Payment Address) or UPI id used to make the payment. For example, gauravkumar@exampleupi.
wallet
: string The name of the wallet used by the customer to make the payment. For example, payzapp.
acquirer_data
: array A dynamic array consisting of a unique reference numbers.
rrn
: string A unique bank reference number 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.
authentication_reference_number
: string A unique reference number generated for RuPay card payments.
bank_transaction_id
: string A unique reference number provided by the banking partner in case of netbanking payments.
Errors
The API “ provided is invalid.- code: 4xx
- description: The API credentials passed in the API call differ from the ones generated on the Dashboard.
- solution: The API keys must be active and entered correctly with no whitespace before or after.
- code: 400
- description: - The capture amount is incorrect.
- The amount you are trying to capture differs from the authorised amount .
- solution: - Enter the correct capture amount.
- Ensure that the amount to be captured is equal to the authorised amount.
- code: 400
- description: This payment has already been captured.
- solution: Ensure that the payment is in the
authorizedstate to capture it successfully.
- code: 400
- description: The
payment_idprovided is incorrect. - solution: Enter the correct
payment_id.
- code: 400
- description: The URL is incorrect.
- solution: Use the correct URL.
- code: 400
- description: The amount specified is incorrect.
- solution: Enter the correct amount without any decimal points.