Payments with Customer Tokens
The customer token represents customer-related information including details for a payment card or electronic check, billing address, shipping address, and merchant defined data. You can make a payment using an existing customer token or create one. To make a payment using a new customer token, you must include token creation in the authorization request. To process a payment using an existing customer token, you must include the customer token ID as the value in the paymentInformation.customer.id field.
Authorize a Payment with a Customer Token
This section provides the information you need to authorize a payment with a customer token.
Endpoint
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
Example
{ "clientReferenceInformation": { "code": "12345678" }, "paymentInformation": { "customer": { "id": "F45FB3E443AC3C57E053A2598D0A9CFF" } }, "orderInformation": { "amountDetails": { "currency": "USD", "totalAmount": "10.00" } }}{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7055928871556818104953/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7055928871556818104953" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7055928871556818104953/captures" } }, "clientReferenceInformation": { "code": "12345678" }, "id": "7055928871556818104953", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7010000000016241111", "state": "ACTIVE" }, "shippingAddress": { "id": "0F35F0D99AD088B5E063A2598D0AE066" }, "paymentInstrument": { "id": "0F35E9CFEA463E34E063A2598D0A3FC2" }, "card": { "type": "001" }, "customer": { "id": "B21E6717A6F03479E05341588E0A303F" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "67467352CRIISD1G", "status": "AUTHORIZED", "submitTimeUtc": "2024-01-18T15:48:07Z"}The request response returns the payment instrument and shipping address IDs that are used as the customer's defaults.
Network Token Variant
The following example authorizes a payment using a customer token that is linked to a network token.
{ "clientReferenceInformation": { "code": "12345678" }, "paymentInformation": { "customer": { "id": "F60328413BAB09A4E053AF598E0A33DB" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }}{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6778647071126384904953/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6778647071126384904953" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6778647071126384904953/captures" } }, "clientReferenceInformation": { "code": "TC50171_3" }, "id": "6778647071126384904953", "issuerInformation": { "responseRaw": "0110322000000E100002000....." }, "orderInformation": { "amountDetails": { "authorizedAmount": "102.21", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "002" } }, "paymentInformation": { "tokenizedCard": { "type": "002" }, "instrumentIdentifier": { "id": "7020000000010603216", "state": "ACTIVE" }, "shippingAddress": { "id": "F60328413BAE09A4E053AF598E0A33DB" }, "paymentInstrument": { "id": "F6032841BE33098EE053AF598E0AB0A5" }, "card": { "type": "002" }, "customer": { "id": "F60328413BAB09A4E053AF598E0A33DB" } }, "pointOfSaleInformation": { "terminalId": "08244117" }, "processingInformation": { "paymentSolution": "014" }, "processorInformation": { "paymentAccountReferenceNumber": "50015OU4U5UYXLV127XTONYN49CL1", "merchantNumber": "000844028303882", "approvalCode": "831000", "networkTransactionId": "0602MCC603474", "transactionId": "0602MCC603474", "responseCode": "00", "avs": { "code": "Y", "codeRaw": "Y" } }, "reconciliationId": "EUHW1EMHIZ3O", "status": "AUTHORIZED", "submitTimeUtc": "2023-03-03T17:31:48Z"}The request response returns the payment instrument and shipping address IDs that are used as the customer's defaults.
Required Fields for Authorize a Payment with a Customer Token
clientReferenceInformation.code
Unique reference code for the transaction.
orderInformation.amountDetails.currency
The currency for the order. Use the three-character ISO Standard Currency Code. For RuPay, set the value to INR. Vero supports Brazilian real (BRL) currency only.
orderInformation.amountDetails.totalAmount
The total amount for the order.
paymentInformation.customer.id
Set to the ID of the customer token you want to use.
Make a Credit with a Customer Token
This section describes how to make a credit with a customer token.
Endpoint
POST /pts/v2/credits
POST /pts/v2/credits
POST /pts/v2/credits
POST /pts/v2/credits
POST /pts/v2/credits
Example
{ "clientReferenceInformation": { "code": "12345678" }, "paymentInformation": { "customer": { "id": "F45FB3E443AC3C57E053A2598D0A9CFF" } }, "orderInformation": { "amountDetails": { "currency": "USD", "totalAmount": "10.00" } }}{ "_links": { "void": { "method": "POST", "href": "/pts/v2/credits/7055967677826132904951/voids" }, "self": { "method": "GET", "href": "/pts/v2/credits/7055967677826132904951" } }, "clientReferenceInformation": { "code": "12345678" }, "creditAmountDetails": { "currency": "USD", "creditAmount": "10.00" }, "id": "7055967677826132904951", "orderInformation": { "amountDetails": { "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7030000000014831523", "state": "ACTIVE" }, "shippingAddress": { "id": "F45FD8DE51B99E9CE053A2598D0AFDFA" }, "paymentInstrument": { "id": "F45FE45E7993C7DBE053A2598D0AED19" }, "card": { "type": "001" }, "customer": { "id": "F45FB3E443AC3C57E053A2598D0A9CFF" } }, "processorInformation": { "paymentAccountReferenceNumber": "V0010013019326121538313096266", "approvalCode": "888888", "responseCode": "100" }, "reconciliationId": "67444961BRIL0BB8", "status": "PENDING", "submitTimeUtc": "2024-01-18T16:52:48Z"}Required Fields for Make a Credit with a Customer Token
clientReferenceInformation.code
Unique reference code for the transaction.
orderInformation.amountDetails.currency
The currency for the order. Use the three-character ISO Standard Currency Code.
orderInformation.amountDetails.totalAmount
The total amount for the order.
paymentInformation.customer.id
The ID of the customer token to use for the credit.
To process a payment using a payment instrument token, include the payment instrument token ID as the value in the paymentInformation.paymentInstrument.id field. You can make payments using non-default payment instruments associated with the customer.
Authorize a Payment with a Non-Default Payment Instrument
Authorize a payment using a non-default payment instrument.
Endpoint
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
Example
{ "clientReferenceInformation": { "code": "12345678" }, "paymentInformation": { "paymentInstrument": { "id": "0F3BB131F8143A58E063A2598D0AB921" } }, "orderInformation": { "amountDetails": { "currency": "USD", "totalAmount": "10.00" } }}{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7055952648586653304951/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7055952648586653304951" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7055952648586653304951/captures" } }, "clientReferenceInformation": { "code": "12345678" }, "id": "7055952648586653304951", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7010000000016241111", "state": "ACTIVE" }, "paymentInstrument": { "id": "0F3BB131F8143A58E063A2598D0AB921" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "67468244CRIL0U0Y", "status": "AUTHORIZED", "submitTimeUtc": "2024-01-18T16:27:45Z"}Required Fields for Authorize a Payment with a Non-Default Payment Instrument
clientReferenceInformation.code
Unique reference code for the transaction.
paymentInformation.paymentInstrument.id
The payment instrument token ID of the non-default payment instrument.
orderInformation.amountDetails.totalAmount
The total amount for the order.
orderInformation.amountDetails.currency
The currency for the order. Use the three-character ISO Standard Currency Code. For RuPay, set the value to INR. Vero supports Brazilian real (BRL) currency only.
Optional Fields for Authorize a Payment with a Non-Default Payment Instrument
orderInformation.billTo.address1
The first line of the billing street address.
orderInformation.billTo.administrativeArea
State or province in the billing address.
orderInformation.billTo.country
Country of the billing address. Use the two-character ISO Standard Country Code.
orderInformation.billTo.email
The customer's billing email address.
orderInformation.billTo.firstName
The customer's first name.
orderInformation.billTo.lastName
The customer's last name.
orderInformation.billTo.locality
City in the billing address.
orderInformation.billTo.postalCode
ZIP or postal code in the billing address.
paymentInformation.card.expirationMonth
Card expiration month in two-digit format. For example, 12.
paymentInformation.card.expirationYear
Card expiration year in four-digit format. For example, 2031.
paymentInformation.card.number
The customer's payment card number.
paymentInformation.card.type
The card type code. For example, 001 for Visa.
Make a Credit with a Non-Default Payment Instrument
Process a credit (refund) using a non-default payment instrument.
Endpoint
POST /pts/v2/credits
POST /pts/v2/credits
POST /pts/v2/credits
POST /pts/v2/credits
POST /pts/v2/credits
Example
{ "clientReferenceInformation": { "code": "12345678" }, "paymentInformation": { "paymentInstrument": { "id": "0F3BB131F8143A58E063A2598D0AB921" } }, "orderInformation": { "amountDetails": { "currency": "USD", "totalAmount": "10.00" } }}{ "_links": { "void": { "method": "POST", "href": "/pts/v2/credits/7055968581386446104953/voids" }, "self": { "method": "GET", "href": "/pts/v2/credits/7055968581386446104953" } }, "clientReferenceInformation": { "code": "12345678" }, "creditAmountDetails": { "currency": "USD", "creditAmount": "10.00" }, "id": "7055968581386446104953", "orderInformation": { "amountDetails": { "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7010000000016241111", "state": "ACTIVE" }, "paymentInstrument": { "id": "0F3BB131F8143A58E063A2598D0AB921" }, "card": { "type": "001" } }, "processorInformation": { "approvalCode": "888888", "responseCode": "100" }, "reconciliationId": "67445196PRILCQCN", "status": "PENDING", "submitTimeUtc": "2024-01-18T16:54:18Z"}Required Fields for Make a Credit with a Non-Default Payment Instrument
clientReferenceInformation.code
Unique reference code for the transaction.
paymentInformation.paymentInstrument.id
The payment instrument token ID of the non-default payment instrument.
orderInformation.amountDetails.totalAmount
The total amount for the order.
orderInformation.amountDetails.currency
The currency for the order. Use the three-character ISO Standard Currency Code. For RuPay, set the value to INR. Vero supports Brazilian real (BRL) currency only.
Optional Fields for Make a Credit with a Non-Default Payment Instrument
orderInformation.billTo.address1
The first line of the billing street address.
orderInformation.billTo.administrativeArea
State or province in the billing address.
orderInformation.billTo.country
Country of the billing address. Use the two-character ISO Standard Country Code.
orderInformation.billTo.email
The customer's billing email address.
orderInformation.billTo.firstName
The customer's first name.
orderInformation.billTo.lastName
The customer's last name.
orderInformation.billTo.locality
City in the billing address.
orderInformation.billTo.postalCode
ZIP or postal code in the billing address.
paymentInformation.card.expirationMonth
Card expiration month in two-digit format. For example, 12.
paymentInformation.card.expirationYear
Card expiration year in four-digit format. For example, 2031.
paymentInformation.card.number
The customer's payment card number.
paymentInformation.card.type
The card type code. For example, 001 for Visa.
Authorize a Payment with a Non-Default Shipping Address
This operation authorizes a payment and explicitly specifies a non-default shipping address token for the order.
Endpoint
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
Example
{ "clientReferenceInformation": { "code": "12345678" }, "paymentInformation": { "customer": { "id": "F45FB3E443AC3C57E053A2598D0A9CFF" }, "shippingAddress": { "id": "F45FD8DE51B99E9CE053A2598D0AFDFA" } }, "orderInformation": { "amountDetails": { "currency": "USD", "totalAmount": "10.00" } }}{ "_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/7055949037316786904953/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/7055949037316786904953" }, "capture": { "method": "POST", "href": "/pts/v2/payments/7055949037316786904953/captures" } }, "clientReferenceInformation": { "code": "12345678" }, "id": "7055949037316786904953", "orderInformation": { "amountDetails": { "authorizedAmount": "10.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "instrumentIdentifier": { "id": "7030000000014831523", "state": "ACTIVE" }, "shippingAddress": { "id": "F45FD8DE51B99E9CE053A2598D0AFDFA" }, "paymentInstrument": { "id": "F45FE45E7993C7DBE053A2598D0AED19" }, "card": { "type": "001" }, "customer": { "id": "F45FB3E443AC3C57E053A2598D0A9CFF" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "674679208RIKQ52K", "status": "AUTHORIZED", "submitTimeUtc": "2024-01-18T16:21:44Z"}Required Fields for Authorize a Payment with a Non-Default Shipping Address
clientReferenceInformation.code
orderInformation.amountDetails.currency
For RuPay, set the value to INR. Vero supports Brazilian real (BRL) currency only.
orderInformation.amountDetails.totalAmount
The total amount for the order.
paymentInformation.customer.id
Set to the ID of the customer token you want to use.
paymentInformation.shippingAddress.id
Set to the ID of the shipping address token you want to use.
Thanks for your feedback!
Last published: October 28, 2026