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 thetoken_id in the following ways:

Know more about

.

The following endpoint fetches a token id using the Payment id.

GET
/payments/:id

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.

currency

string The currency in which the payment is made. Refer to the list of

that we support.

status

string The status of the payment. Possible values:

  • created
  • authorized
  • captured
  • refunded
  • failed

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.

method

string The payment method used for making the payment. Possible values:

  • card
  • netbanking
  • wallet
  • emi
  • upi

amount_refunded

integer The amount refunded in smallest unit of the currency passed.

refund_status

string The refund status of the payment. Possible values:

  • null
  • partial
  • full

captured

boolean Indicates if the payment is captured.

description

string Description of the payment, if any.

email

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.

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.

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 all tokens linked to a customer.

GET
/customers/:id/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

string 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.

vpa

string The VPA details.

username

string The username of the VPA holder. For example, gaurav.kumar.

handle

string The VPA handle. Here it is upi.

name

string The name of the VPA holder.

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:

  • initiated
  • confirmed
  • rejected
  • cancelled
  • paused

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 enabled
  • false: The option to change currency is not enabled.

The following endpoint fetches a particular token linked to a customer.

GET
/customers/:customer_id/tokens/:token_id

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

string 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.

vpa

string The VPA details.

username

string The username of the VPA holder. For example, gaurav.kumar.

handle

string The VPA handle. Here it is upi.

name

string The name of the VPA holder.

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:

  • initiated
  • confirmed
  • rejected
  • cancelled
  • paused

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 enabled
  • false: The option to change currency is not enabled.

The following endpoint deletes a token.

DELETE
/customers/:customer_id/tokens/:token_id

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?