Skip to main content

Manage Customer Payment Instruments


This page describes how to create, retrieve, update, and delete payment instruments linked to a customer token, including how to add default and non-default instruments using an instrument identifier or a validated payment, and how to change which instrument is the customer's default.

Create a Customer Payment Instrument

Endpoint

POST /tms/v2/customers/{customerTokenId}/payment-instruments

POST /tms/v2/customers/{customerTokenId}/payment-instruments

The {customerTokenId} is the customer token ID returned in the id field when you created the customer token.

Example

{  "card": {    "expirationMonth": "12",    "expirationYear": "2031",    "type": "001"  },  "billTo": {    "firstName": "John",    "lastName": "Doe",    "company": "Company Name",    "address1": "1 Market St",    "locality": "San Francisco",    "administrativeArea": "CA",    "postalCode": "94105",    "country": "US",    "email": "{% t key="test-email" /%}",    "phoneNumber": "4158880000"  },  "instrumentIdentifier": {    "id": "7010000000016241111"  }}
{  "_links": {    "self": {      "href": "/tms/v2/customers/F2F3ADA770102B51E053A2598D0A9078/payment-instruments/F39732BE4BDA9A1EE053AF598E0A4081"    },    "customer": {      "href": "/tms/v2/customers/F2F3ADA770102B51E053A2598D0A9078"    }  },  "id": "F39732BE4BDA9A1EE053AF598E0A4081",  "default": true,  "state": "ACTIVE",  "card": {    "expirationMonth": "12",    "expirationYear": "2031",    "type": "001"  },  "billTo": {    "firstName": "John",    "lastName": "Doe",    "company": "Company Name",    "address1": "1 Market St",    "locality": "San Francisco",    "administrativeArea": "CA",    "postalCode": "94105",    "country": "US",    "email": "{% t key="test-email" /%}",    "phoneNumber": "4158880000"  },  "instrumentIdentifier": {    "id": "7010000000016241111"  },  "metadata": {    "creator": "testrest"  }}
FieldTypeDescription
card.typestringRequired if the instrument identifier ID being linked to is card-based. For example, 001 for Visa.
Optional Fields
FieldTypeDescription
bankAccount.typestringThe bank account type.
billTo.address1stringThe first line of the billing street address.
billTo.address2stringThe second line of the billing street address.
billTo.administrativeAreastringState or province in the billing address.
billTo.companystringThe name of the customer's company.
billTo.countrystringCountry of the billing address. Use the two-character ISO Standard Country Code.
billTo.emailstringThe customer's billing email address.
billTo.firstNamestringThe customer's first name.
billTo.lastNamestringThe customer's last name.
billTo.localitystringCity in the billing address.
billTo.phoneNumberstringThe customer's phone number.
billTo.postalCodestringZIP or postal code in the billing address.
buyerInformation.companyTaxIDstringThe company tax ID of the customer.
buyerInformation.currencystringThe default currency for the customer.
buyerInformation.dateOfBirthstringThe customer's date of birth.
buyerInformation.personalIdentification.idstringPersonal identification number.
buyerInformation.personalIdentification.issuedBy.administrativeAreastringState or province that issued the personal identification.
buyerInformation.personalIdentification.typestringType of personal identification.
card.expirationMonthstringCard expiration month in two-digit format. For example, 12.
card.expirationYearstringCard expiration year in four-digit format. For example, 2031.
card.issueNumberstringNumber of times a Maestro (UK Domestic) card has been issued.
card.startMonthstringMonth of the start of the Maestro (UK Domestic) card validity period.
card.startYearstringYear of the start of the Maestro (UK Domestic) card validity period.
card.useAsstringHow the card is used. For example, credit or debit.
card.tokenizedInformation.requestorIDstringToken requestor ID for the tokenized card.
card.tokenizedInformation.transactionTypestringTransaction type for the tokenized card.
defaultbooleanSet to true to designate this as the default payment instrument. If not included, the first payment instrument for a customer becomes the default.
instrumentIdentifier.idstringThe instrument identifier token ID to link to this payment instrument.
processingInformation.billPaymentProgramEnabledbooleanSet to true to enable the bill payment program.
merchantInformation.merchantDescriptor.alternateNamestringAlternate name for the merchant descriptor.

Add a Default Payment Instrument Using Instrument Identifier

Add a default payment instrument to a customer account using an existing instrument identifier.

Endpoint

POST /tms/v2/customers/{customerTokenId}/payment-instruments

POST /tms/v2/customers/{customerTokenId}/payment-instruments

FieldTypeDescription
instrumentIdentifier.idstringThe instrument identifier token ID to link as the default payment instrument.
defaultbooleanSet to true to designate this as the default payment instrument.

Add Default Payment Instrument with Validated Payment

Add a default payment instrument to a customer account by validating a payment.

Endpoint

POST /pts/v2/payments

POST /pts/v2/payments

FieldTypeDescription
paymentInformation.paymentInstrument.idstringThe payment instrument token ID.
orderInformation.amountDetails.totalAmountstringThe total amount for the order.
orderInformation.amountDetails.currencystringThe currency for the order. Use the three-character ISO Standard Currency Code.

Add a Non-Default Payment Instrument Using Instrument Identifier

Add a non-default payment instrument to a customer account using an existing instrument identifier.

Endpoint

POST /tms/v2/customers/{customerTokenId}/payment-instruments

POST /tms/v2/customers/{customerTokenId}/payment-instruments

FieldTypeDescription
instrumentIdentifier.idstringThe instrument identifier token ID to link as a non-default payment instrument.

Add Non-Default Payment Instrument with Validated Payment

Add a non-default payment instrument to a customer account by validating a payment.

Endpoint

POST /pts/v2/payments

POST /pts/v2/payments

FieldTypeDescription
paymentInformation.paymentInstrument.idstringThe payment instrument token ID.
orderInformation.amountDetails.totalAmountstringThe total amount for the order.
orderInformation.amountDetails.currencystringThe currency for the order. Use the three-character ISO Standard Currency Code.

Change a Customer's Default Payment Instrument

Change which payment instrument is designated as the default for a customer.

Endpoint

PATCH /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

PATCH /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

FieldTypeDescription
customerTokenIdstringThe customer token ID in the URL path.
paymentInstrumentTokenIdstringThe payment instrument token ID in the URL path.

Retrieve a Customer Payment Instrument

Retrieve a specific customer payment instrument.

Endpoint

GET /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

GET /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

Example

GET /tms/v2/customers/F2F3ADA770102B51E053A2598D0A9078/payment-instruments/F39732BE4BDA9A1EE053AF598E0A4081
{  "_links": {    "self": {      "href": "/tms/v2/customers/F2F3ADA770102B51E053A2598D0A9078/payment-instruments/F39732BE4BDA9A1EE053AF598E0A4081"    },    "customer": {      "href": "/tms/v2/customers/F2F3ADA770102B51E053A2598D0A9078"    }  },  "id": "F39732BE4BDA9A1EE053AF598E0A4081",  "default": true,  "state": "ACTIVE",  "card": {    "expirationMonth": "12",    "expirationYear": "2031",    "type": "001"  },  "billTo": {    "firstName": "John",    "lastName": "Doe",    "company": "Company Name",    "address1": "1 Market St",    "locality": "San Francisco",    "administrativeArea": "CA",    "postalCode": "94105",    "country": "US",    "email": "{% t key="test-email" /%}",    "phoneNumber": "4158880000"  },  "instrumentIdentifier": {    "id": "7010000000016241111"  },  "metadata": {    "creator": "testrest"  }}

Retrieve a Customer Payment Instrument with an Unmasked Card Number

Retrieve a customer payment instrument with the card number unmasked.

Endpoint

GET /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

GET /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}


List Payment Instruments for a Customer

Retrieve all payment instruments for a customer.

Endpoint

GET /tms/v2/customers/{customerTokenId}/payment-instruments

GET /tms/v2/customers/{customerTokenId}/payment-instruments

Optional Fields
FieldTypeDescription
offsetintegerPage offset number for pagination. Defaults to 0.
limitintegerMaximum number of items to return. Defaults to 20; maximum is 100.

The {customerTokenId} is the customer token ID returned in the id field when you created the customer token.


Update a Customer Payment Instrument

Update a customer payment instrument.

Endpoint

PATCH /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

PATCH /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

FieldTypeDescription
customerTokenIdstringThe customer token ID in the URL path.
paymentInstrumentTokenIdstringThe payment instrument token ID in the URL path.
Optional Fields
FieldTypeDescription
bankAccount.typestringThe bank account type.
billTo.address1stringThe first line of the billing street address.
billTo.address2stringThe second line of the billing street address.
billTo.administrativeAreastringState or province in the billing address.
billTo.companystringThe name of the customer's company.
billTo.countrystringCountry of the billing address. Use the two-character ISO Standard Country Code.
billTo.emailstringThe customer's billing email address.
billTo.firstNamestringThe customer's first name.
billTo.lastNamestringThe customer's last name.
billTo.localitystringCity in the billing address.
billTo.phoneNumberstringThe customer's phone number.
billTo.postalCodestringZIP or postal code in the billing address.
buyerInformation.companyTaxIDstringThe company tax ID of the customer.
buyerInformation.currencystringThe default currency for the customer.
buyerInformation.dateOfBirthstringThe customer's date of birth.
buyerInformation.personalIdentification.idstringPersonal identification number.
buyerInformation.personalIdentification.issuedBy.administrativeAreastringState or province that issued the personal identification.
buyerInformation.personalIdentification.typestringType of personal identification.
card.expirationMonthstringCard expiration month in two-digit format. For example, 12.
card.expirationYearstringCard expiration year in four-digit format. For example, 2031.
card.issueNumberstringNumber of times a Maestro (UK Domestic) card has been issued.
card.startMonthstringMonth of the start of the Maestro (UK Domestic) card validity period.
card.startYearstringYear of the start of the Maestro (UK Domestic) card validity period.
card.typestringThe card type code. For example, 001 for Visa.
card.useAsstringHow the card is used. For example, credit or debit.
card.tokenizedInformation.requestorIDstringToken requestor ID for the tokenized card.
card.tokenizedInformation.transactionTypestringTransaction type for the tokenized card.
defaultbooleanSet to true if this is the default payment instrument; false otherwise.
instrumentIdentifier.idstringThe instrument identifier token ID to link to this payment instrument.
processingInformation.billPaymentProgramEnabledbooleanSet to true to enable the bill payment program.
merchantInformation.merchantDescriptor.alternateNamestringAlternate name for the merchant descriptor.

Delete a Customer Payment Instrument

Delete a customer payment instrument.

Endpoint

DELETE /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

DELETE /tms/v2/customers/{customerTokenId}/payment-instruments/{paymentInstrumentTokenId}

Last published: September 29, 2026