Skip to content

Token

A token representing a payment instrument.

Create a new token

Request

Creating a new token for the payment instrument.

Security
BasicAuth
Bodyapplication/vnd.worldpay.tokens-v2.hal+json
descriptionstring, [ 1 .. 255 ] characters^[^&<]*$

A description of your token. If not supplied, a default description is created for you.

tokenExpiryDateTimestring, (date-time)

The date/time after which the token is unavailable, expressed in ISO 8601 format. If not supplied, the default expiry date/time is 7 days in Try and 4 years in the Live environment.

We extend the expiry by 7 days or 4 years after any use of the token, if under half of the time remains on the token.

namespacestring, [ 1 .. 64 ] characters

A namespace is used to group up to 16 cards, e.g. for one customer. A card can exist in more than one namespace.

schemeTransactionReferencestring, [ 1 .. 56 ] characters^[a-zA-Z0-9 ]*$

A value provided by Visa or Mastercard which tracks recurring transactions.

Note: You are not normally expected to provide a value for schemeTransactionReference. If you are using the Verified Tokens API to create tokens, it is automatically included where applicable.

paymentInstrumentobjectrequired

An object that contains the payment type and details. All sub-fields are mandatory with the exception of billingAddress (see below).

merchantobjectrequired

An object that contains information about your merchant account.

Creating a token from payment instrument

{ "paymentInstrument": { "type": "card/front", "cardNumber": "4444333322221111", "cardExpiryDate": { "month": 1, "year": 2025 }, "cardHolderName": "Testy McTester" }, "merchant": { "entity": "default" } }

Responses

A token already exists matching the details in the request.

Headers
Acceptstring

application/vnd.worldpay.tokens-v2.hal+json

Content-Typestring

application/vnd.worldpay.tokens-v2.hal+json

Locationstring, (uri)

A URI identifying the created token resource.

Bodyapplication/vnd.worldpay.tokens-v2.hal+json
tokenPaymentInstrumentobjectrequired
descriptionstring, [ 1 .. 255 ] characters^[^&<]*$required

A description of your token. If not supplied, a default description is created for you.

tokenExpiryDateTimestring, (date-time)required

The date/time after which the token is unavailable, expressed in ISO 8601 format. If not supplied, the default expiry date/time is 7 days in Try and 4 years in the Live environment.

We extend the expiry by 7 days or 4 years after any use of the token, if under half of the time remains on the token.

paymentInstrumentobjectrequired
tokenIdstring, [ 15 .. 21 ] characters^[0-9A-HJ-NP-Z]+$
namespacestring, [ 1 .. 64 ] characters
schemeTransactionReferencestring, [ 1 .. 56 ] characters^[a-zA-Z0-9 ]*$

A value provided by Visa or Mastercard which tracks recurring transactions.

Note: You are not normally expected to provide a value for schemeTransactionReference. If you are using the Verified Tokens API to create tokens, it is automatically included where applicable.

Response

A 200 OK response means that you've already tokenized the card and that all data supplied in your create a token request matches the data stored with Access Worldpay.

Sometimes, a token can be matched even if the data isn't quite the same. For example, if Access Worldpay has a billingAddress on file, the existing billingAddress is retained if no billingAddress was supplied in your request. Additionally, you receive the 200 OK response code.

The existing token resource reference is returned in the tokenPaymentInstrument object.

{ "tokenPaymentInstrument": { "type": "card/tokenized", "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ" }, "tokenId": "9902480679618049603", "description": "Test Token Description", "tokenExpiryDateTime": "2021-06-24T09:19:35Z", "paymentInstrument": { "type": "card/masked", "cardNumber": "4444********1111", "cardHolderName": "Sherlock Holmes", "cardExpiryDate": { "month": 5, "year": 2035 }, "billingAddress": { "address1": "221B Baker Street", "address2": "Marylebone", "address3": "Westminster", "postalCode": "NW1 6XE", "city": "London", "state": "Greater London", "countryCode": "GB" }, "bin": "444433", "brand": "VISA" }, "_links": { "tokens:token": { "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0NzI0NE1rdUtjMUFJdjYxVnlibWZuUT0ifQ" }, "tokens:description": { "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0MWJVbkh1WTFGZExUNXJxc04va1ZoTFVzYW1OU1lxSFE2NHI1c2JkY1pWaSJ9" }, "tokens:cardHolderName": { "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdjFnVXlzakdPSXdWWkRhZkZyUmlMd3c9PSJ9" }, "tokens:cardExpiryDate": { "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdUpLN2N3VVc5WUk3czRUTW1RQ2JLdkVpVW5GNnBsZThNTXNQWTRGbzFzTXc9PSJ9" }, "tokens:billingAddress": { "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/tokens/eyJrIjoxLCJkIjoialRBL0FFelBzcnZpNCtzRGNRemh0d3ltd21ieGo3TlZLYzRYSkExOUhSdFpSdXFxbWZlNVl1TkpHZEVvZXN3MTlCU0lmdCtxSTUyVDJSdXlmSTIwM3c9PSJ9" }, "tokens:schemeTransactionReference": { "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/tokens/eyJrIjoxLCJkIjoiSENXWFZQZjNIZ1V3dnpDMElJZS9Zdmc4M0pYM3dDWEJTVnQrWVlacXdDUXFFKzhzaC8xNSs2d3NkTTdFWUFNVU9tdXBmUlZGeVNDY2dPMkhKV2NIcGc9PSJ9" }, "curies": [ { "href": "https://try.access.worldpay-bsh.securedataplatform.co.uk/rels/tokens/{rel}.json", "name": "tokens", "templated": true } ] } }