2. Fetch and Manage Tokens
Retrieve tokens using Razorpay APIs to create subsequent payments.
Once you capture a payment, Razorpay Checkout returns a razorpay_payment_id. You can use this ID to fetch the token_id, which is used to create and charge subsequent payments.
You can retrieve the token_id in the following ways:
- API
Know more about
.The following endpoint fetches a token id using the Payment id.
curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \-X GET https://api.razorpay.com/v1/payments/pay_1Aa00000000001
Handy Tips
You can also retrieve the token_id from the
id
mandatory
string The unique identifier of the payment to be retrieved. For example, pay_1Aa00000000002.
id
string Unique identifier of the payment.
entity
string Indicates the type of entity. Here, it is payment.
amount
integer The payment amount represented in smallest unit of the currency passed. For example, amount = 100 translates to 100 subunits, that is $1.00.
status
string The status of the payment. Possible values:
createdauthorizedcapturedrefundedfailed
order_id
string The unique identifier of the order.
invoice_id
string The unique identifier of the invoice.
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.
amount_refunded
integer The amount refunded in smallest unit of the currency passed.
refund_status
string The refund status of the payment. Possible values:
nullpartialfull
captured
boolean Indicates if the payment is captured. Possible values:
true: Payment has been captured.false: Payment has not been captured.
description
string Description of the payment, if any.
string Customer email address used for the payment.
contact
integer Customer contact number used for the payment.
customer_id
string The unique identifier of the customer.
token_id
string The unique identifier of the token.
notes
json object Contains user-defined fields, stored for reference purposes.
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.
created_at
integer Timestamp, in UNIX format, on which the payment was created.
A customer can have multiple tokens and these tokens can be used to create subsequent payments for multiple products or services. The following endpoint fetches tokens linked to a customer.
Watch Out!
This endpoint will not fetch the details of expired, rejected and unused tokens.
curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \-X GET https://api.razorpay.com/v1/customers/cust_1Aa00000000002/tokens
id
mandatory
string The unique identifier of the customer for whom tokens are to be retrieved. For example, cust_1Aa00000000002.
entity
string The entity being created. Here, it is a collection.
count
integer The number of tokens to be fetched.
items
Details related to token such as token id and bank information.
id
string The unique identifier linked to an item. In this example, it is token_id.
entity
string The entity being created. Here, it is a token.
token
string The token is being fetched.
bank
string Card issuing bank details.
wallet
string Provides wallet information.
method
string The payment method used to make the transaction.
card
Details related to card used to make the transaction.
entity
string The entity being created. Here, it is card.
name
string Name of the cardholder.
last4
integer Last 4 digits of the card.
network
string Name of the payment processor. Here it is Visa.
type
string Card type (debit or credit). In this example, it is credit.
issuer
string Name of the card-issuing bank.
international
boolean Card usage restriction. Possible values:
true: Supports international transactions.false: International transactions are not supported.
emi
string Card EMI status. Possible values.
true: The card is on EMI.false: The card is not on EMI.
sub_type
string Type of the customer.
expiry_month
integer Month on which the card expires.
expiry_year
integer Year on which the card expires.
flows
The transaction flow details.
otp
string Whether the OTP function is enabled or not. Possible values:
true: The OTP function is enabled.false: The OTP function is not enabled.
recurring
string Whether the recurring for this payment method is enabled or not. Possible Values:
true: Recurring is enabled.false: Recurring is not enabled.
recurring
string This represents whether recurring is enabled for this token or not. Possible values:
true: Recurring is enabled.false: Recurring is not enabled.
recurring_details
object Details of the recurring transaction.
status
string This represents the status of the recurring transaction. Possible values:
initiatedconfirmedrejectedcancelledpaused
failure_reason
string This provides the reason why the recurring transaction failed.
auth_type
string The authorisation type details.
mrn
string The unique identifier issued by the payment gateway during customer registration. This can be Gateway Reference Number or Gateway Token.
used_at
integer The VPA usage timestamp.
created_at
integer The token creation timestamp.
expired_at
integer The token expiry date timestamp.
dcc_enabled
string Indicates whether the option to change currency is enabled or not. Possible values.
true: The option to change currency is enabledfalse: The option to change currency is not enabled.
The following endpoint fetches a particular token linked to a customer.
curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \-X GET https://api.razorpay.com/v1/customers/cust_IjsVsJ7d27hxOs/tokens/token_J0BgMu8YDVusZa
customer_id
mandatory
string The unique identifier of the customer for whom tokens are to be retrieved. For example, cust_IjsVsJ7d27hxOs.
token_id
mandatory
string The unique identifier of the token that should be retrieved. For example, token_J0BgMu8YDVusZa.
entity
string The entity being created. Here, it is a collection.
count
integer The number of tokens to be fetched.
items
Details related to token such as token id and bank information.
id
string The unique identifier linked to an item. In this example, it is token_id.
entity
string The entity being created. Here, it is a token.
token
string The token is being fetched.
bank
string Card issuing bank details.
wallet
string Provides wallet information.
method
string The payment method used to make the transaction.
card
Details related to card used to make the transaction.
entity
string The entity being created. Here, it is card.
name
string Name of the cardholder.
last4
integer Last 4 digits of the card.
network
string Name of the payment processor. Here it is Visa.
type
string Card type (debit or credit). In this example, it is credit.
issuer
string Name of the card-issuing bank.
international
boolean Card usage restriction. Possible values:
true: Supports international transactions.false: International transactions are not supported.
emi
string Card EMI status. Possible values.
true: The card is on EMI.false: The card is not on EMI.
sub_type
string Type of the customer.
expiry_month
integer Month on which the card expires.
expiry_year
integer Year on which the card expires.
flows
The transaction flow details.
otp
string Whether the OTP function is enabled or not. Possible values:
true: The OTP function is enabled.false: The OTP function is not enabled.
recurring
string Whether the recurring for this payment method is enabled or not. Possible Values:
true: Recurring is enabled.false: Recurring is not enabled.
recurring
string This represents whether recurring is enabled for this token or not. Possible values:
true: Recurring is enabled.false: Recurring is not enabled.
recurring_details
object Details of the recurring transaction.
status
string This represents the status of the recurring transaction. Possible values:
initiatedconfirmedrejectedcancelledpaused
failure_reason
string This provides the reason why the recurring transaction failed.
auth_type
string The authorisation type details.
mrn
string The unique identifier issued by the payment gateway during customer registration. This can be Gateway Reference Number or Gateway Token.
used_at
integer The VPA usage timestamp.
created_at
integer The token creation timestamp.
expired_at
integer The token expiry date timestamp.
dcc_enabled
string Indicates whether the option to change currency is enabled or not. Possible values.
true: The option to change currency is enabledfalse: The option to change currency is not enabled.
The following endpoint deletes a token.
customer_id
mandatory
string The unique identifier of the customer with whom the token is linked. For example, cust_1Aa00000000002.
token_id
mandatory
string The unique identifier of the token that is to be deleted. For example, token_1Aa00000000001.
deleted
boolean Indicates whether the token is deleted. Possible values:
true: The token is deleted successfully.false: The token was not deleted.
Was this page helpful?