Last updated: 12 May 2025 | Change log
Create a network token via card schemes to replace your customer's sensitive card information. Use network tokens to improve payment authorization rates, gain built-in account updater and minimize fraud.
Supported schemes: Visa, Mastercard, American Express and Discover
To create a network token:
POST your request to the tokens:networkToken request link.
POST https://try.access.worldpay.com/tokens/network
Network token creation request body:
{
"paymentInstrument": {
"cardHolderName": "name",
"type": "card/front",
"cardExpiryDate": {
"month": 1,
"year": 2030
},
"cardNumber": "4444333322221111"
},
"merchant": {
"entity": "default"
}
}Description of your network token creation request parameters:
| Parameter | Required | Description |
|---|---|---|
merchant | ✅ | An object that contains information about your merchant account. |
merchant.entity | ✅ | Identifies merchant account for billing, reporting and reconciliation. Contact your Worldpay Implementation Manager for more details. |
paymentInstrument | ✅ | An object that contains the card details and token href. |
paymentInstrument.type | ✅ | An identifier for the paymentInstrument being used.
|
paymentInstrument.cardHolderName | ❌ | Your customer's card name. This field can only be supplied with card/front payment instrument. |
paymentInstrument.cardExpiryDate | ❌ | An object that contains your customer's card expiry date. This field can only be supplied with card/front payment instrument. |
paymentInstrument.cardNumber | ❌ | Your customer's 16 digit card number. This field can only be supplied with card/front payment instrument. |
paymentInstrument.href | ❌ | A link to your token. This field can only be supplied with card/tokenized payment instrument. |
The majority of network token requests will include the network token in the response. These are referred to as synchronous network token creations.
For a synchronous network token creation, you receive:
- an HTTP code
200 tokenReferencetokenPaymentInstrumentobject which contains networktokenNumber- links to query a network token and provision a network token cryptogram
For an asynchronous network token creation, you receive:
- an HTTP code
200 tokenReference- link to query a network token
For more information about provisioning errors, please see Network token error responses.
{
"tokenReference": "aa224320-425c-40b6-9781-2cb7df76b0c8",
"paymentInstrument": {
"type": "card/masked",
"firstSix": "444433",
"lastFour": "1111",
"cardExpiryDate": {
"month": 1,
"year": 2030
},
"paymentAccountReference": "Q1HJZ28RKA1EBL470G9XYG90R5D3E"
},
"tokenPaymentInstrument": {
"status": "Active",
"type": "card/networkToken",
"tokenNumber": "4917610000000000",
"expiryDate": {
"month": 3,
"year": 2030
}
},
"_links": {
"self": {
"href": "https://try.access.worldpay.com/tokens/network"
},
"tokens:networkTokenLookup": {
"href": "https://try.access.worldpay.com/tokens/network/aa224320-425c-40b6-9781-2cb7df76b0c8"
},
"tokens:networkTokenCryptogram": {
"href": "https://try.access.worldpay.com/tokens/network/cryptograms"
},
"curies": [
{
"href": "https://try.access.worldpay.com/rels/tokens/{rel}.json",
"name": "tokens",
"templated": true
}
]
}
}
| Parameter | Description |
|---|---|
tokenReference | A reference to get the tokenNumber with tokens:networkTokenLookup. |
paymentInstrument | An object that contains the payment type and details. |
paymentInstrument.type | An identifier for the paymentInstrument being used, e.g. card/masked |
paymentInstrument.firstSix | First six digits of your customer's card number. |
paymentInstrument.lastFour | Last four digits of your customer's card number. |
paymentInstrument.cardExpiryDate | An object that contains your customer's card expiry date. |
paymentInstrument.paymentAccountReference | The payment account reference (PAR) is a non-financial reference that uniquely identifies the underlying cardholder account. This allows you to correlate payments made from the same account with differing instruments (e.g. cards, network tokens, and wallets), where the same account funds the transaction. A PAR cannot be used to initiate a payment. |
tokenPaymentInstrument | An object that contains the details of the network token created. |
tokenPaymentInstrument.status |
|
tokenPaymentInstrument.type | Should always be card/networkToken to indicate that this is a network token. |
tokenPaymentInstrument.tokenNumber | A network token with the same length as the card number it masks. |
tokenPaymentInstrument.expiryDate | Expiry date of the network token. This value is likely different to the expiry date of the underlying card that corresponds to the network token (found in paymentInstrument.cardExpiryDate). Include this value where you use this token in payment authorization requests. |
tokenPaymentInstrument.expiryDate.month | Expiry month of the network token. |
tokenPaymentInstrument.expiryDate.year | Expiry year of the network token. |
provisioningErrors.errorCode | Worldpay's representation of the error code. |
provisioningErrors.providerErrorCode | The error code returned from the card schemes. |
provisioningErrors.source | Where the error occurred. |
provisioningErrors.context | Context of the error. |
provisioningErrors.message | Greater description of the error. |
Next steps
Query a network token or
Provision a network token cryptogram or
Delete a network token