Skip to main content
Welcome to the preview portal — This is an early release of the new Doc Hub experience, with more content coming soon.

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 string

Unique reference code for the transaction.

orderInformation.amountDetails.currency string

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 string

The total amount for the order.

paymentInformation.customer.id string

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 string

Unique reference code for the transaction.

orderInformation.amountDetails.currency string

The currency for the order. Use the three-character ISO Standard Currency Code.

orderInformation.amountDetails.totalAmount string

The total amount for the order.

paymentInformation.customer.id string

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 string

Unique reference code for the transaction.

paymentInformation.paymentInstrument.id string

The payment instrument token ID of the non-default payment instrument.

orderInformation.amountDetails.totalAmount string

The total amount for the order.

orderInformation.amountDetails.currency string

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 string

The first line of the billing street address.

orderInformation.billTo.administrativeArea string

State or province in the billing address.

orderInformation.billTo.country string

Country of the billing address. Use the two-character ISO Standard Country Code.

orderInformation.billTo.email string

The customer's billing email address.

orderInformation.billTo.firstName string

The customer's first name.

orderInformation.billTo.lastName string

The customer's last name.

orderInformation.billTo.locality string

City in the billing address.

orderInformation.billTo.postalCode string

ZIP or postal code in the billing address.

paymentInformation.card.expirationMonth string

Card expiration month in two-digit format. For example, 12.

paymentInformation.card.expirationYear string

Card expiration year in four-digit format. For example, 2031.

paymentInformation.card.number string

The customer's payment card number.

paymentInformation.card.type string

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 string

Unique reference code for the transaction.

paymentInformation.paymentInstrument.id string

The payment instrument token ID of the non-default payment instrument.

orderInformation.amountDetails.totalAmount string

The total amount for the order.

orderInformation.amountDetails.currency string

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 string

The first line of the billing street address.

orderInformation.billTo.administrativeArea string

State or province in the billing address.

orderInformation.billTo.country string

Country of the billing address. Use the two-character ISO Standard Country Code.

orderInformation.billTo.email string

The customer's billing email address.

orderInformation.billTo.firstName string

The customer's first name.

orderInformation.billTo.lastName string

The customer's last name.

orderInformation.billTo.locality string

City in the billing address.

orderInformation.billTo.postalCode string

ZIP or postal code in the billing address.

paymentInformation.card.expirationMonth string

Card expiration month in two-digit format. For example, 12.

paymentInformation.card.expirationYear string

Card expiration year in four-digit format. For example, 2031.

paymentInformation.card.number string

The customer's payment card number.

paymentInformation.card.type string

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 string

The total amount for the order.

paymentInformation.customer.id string

Set to the ID of the customer token you want to use.

paymentInformation.shippingAddress.id string

Set to the ID of the shipping address token you want to use.

Last published: October 28, 2026

Not available for your audience

This page isn't available for your current audience selection.