Card networks, like Visa, Mastercard, and American Express, offer services that create a network token for a card. A network token is 16-digit alternative for the Primary Account Number (PAN), and is unique per combination of shopper and merchant. When making a payment, the card details can be swapped for the network token.
Making payments with network tokens has important benefits:
- Reduced shopper friction and declines because card networks maintain network tokens to ensure tokens remain valid when the card details change. For example, if the shopper receives a new card because the old one expired or was lost, the network token remains the same.
- Higher authorization rates compared to payments made without network tokens.
- Minimal integration efforts for adopting EMVCo's network token standards.
- Better payment security because each transaction is protected with a single-use cryptogram.
This page describes how you can implement network tokenization.
Requirements
Requirement | Description |
---|---|
Integration type | An online payments integration that supports card payments. |
API credential roles | Make sure that you have the following role(s):
|
Webhooks | Subscribe to the Standard webhooks. |
Limitations | Network tokenization is only applicable for payments acquired by Adyen. It cannot be used with external acquirer connections. |
How it works
Network tokenization is different from standard tokenization. With tokenization, Adyen swaps the shopper's card details from your payment request for a token. You receive this token in a webhook so that you can use the token instead of the card details in later recurring payment requests for that same shopper.
With network tokenization, the shopper's card details are swapped for a network token. How this is done, depends on the implementation option you choose:
-
Let Adyen manage network tokens on your behalf.
This option does not require any additional integration. We collect and store network tokens from the card schemes. When you send a payment request, we automatically swap the card details from your payment request for the network token and then forward the payment for authorization.
You can use our tokenization feature together with network tokenization. When your payment request contains astoredPaymentMethodId
token, we automatically swap that for a network token. We recommend combining these features because that limits your PCI scope and further increases authorization rates. -
Manage network tokens yourself.
This requires additional steps, but you can keep your existing network tokens and use them in the payment requests that you send to Adyen. It is not possible to combine this with our tokenization feature.
Co-badged network tokens in the US
Regardless of the implementation option you choose, you can benefit from routing co-badged network tokens to the optimal network in the US.
In the US, some Visa, Mastercard, and Discover network tokens are co-badged with one or more US Debit networks: Accel, Maestro USA, NYCE, PULSE, or STAR. This means that it is possible to route the payment over the network with the lowest costs and/or the best authorization rate.
To enable routing co-badged network tokens, you need to add the US Debit payment methods to your merchant account.
Payment routing is based on:
- Any routing priorities set for your merchant account. For example, 1: PULSE and 2: Visa.
- Optimized routing determined by Adyen, provided this does not contradict any routing priorities for your account.
Force the route for an individual payment
You can force the route for an individual payment:
- Make a POST /cardDetails request for a list of brands on the network token or card.
- In your /payments request, use the
paymentMethod.brand
parameter to specify the network over which you want to route the payment.
Let Adyen manage network tokens
To manage network tokens yourself, ask our Support Team to enable payments with network tokens.
If Adyen manages your network tokens, you can benefit from network tokenization without changing anything in your card payment integration. You continue using your regular payment flow, and Adyen swaps card details or the storedPaymentMethodId
token for a network token.
Optionally, you can set up receiving the following additional data in your payment responses:
Collect attempts data
If you want to analyze network token usage, you can set up receiving additional information in your /payments response about attempts to get a payment authorized with or without a network token.
To set up receiving attempts data:
- Log in to your Customer Area.
- Go to Developers > Additional data.
- In the Acquirer section, select Include the retry attempts.
- Select Save configuration.
The additionalData
object in the /payments response will then contain the following parameters:
Parameter name | Description |
---|---|
retry.attempt.acquirer |
The name of the acquirer that processed the payment. |
retry.attempt.acquirerAccount |
The acquirer account that was used for the transaction. |
retry.attempt.responseCode |
The numeric acquirer response code from the card network. |
retry.attempt.rawResponse |
The details of the raw unmodified response from the acquirer. |
retry.attempt.networkTokenOffered |
Indicates if the transaction was attempted with or without a network token. |
In the following example, the additionalData
object shows that the payment was approved on the first attempt (attempt1
) and that a network token was used.
If a payment attempt with a network token fails (attempt1
), we automatically retry the payment. In the second attempt (attempt2
), we do not swap the card details or the storedPaymentMethodId
token for a network token.
The AUTHORISATION webhook contains the same additional information as the additionalData
object from the /payments response.
Collect data about network tokens
You can set up receiving the following additional information in your /payments response:
- The BIN and last four digits of the network token used.
- The BIN, last four digits, and expiry date of the card associated with the network token.
To set up receiving data about the network token:
- Log in to your Customer Area and switch to your merchant account.
- Go to Developers > Additional data.
- In the Card section, select Network token bin and summary for tokenised payments.
- Select Save configuration.
The additionalData
object in the /payments response will then contain the following parameters:
Parameter name | Description |
---|---|
networkToken.bin |
The BIN of the network token. |
networkToken.tokenSummary |
The last four digits of the network token. |
latestCard.bin |
The BIN of the card. This is only returned for Mastercard tokens. |
latestCard.summary |
The last four digits of the card. |
latestCard.expiryDate |
The expiry month and year of the card. |
Manage network tokens yourself
Because network tokens are non-sensitive, you can also choose to collect and store them yourself. If you are already collecting network tokens from card networks like Visa, Mastercard and American Express, you can use those network tokens to make payments with Adyen.
To manage network tokens yourself:
- Enable receiving relevant data in your Customer Area to receive card details and network token information in the payment response.
- Make the initial payment with a network token, using the network token you collect from the card network.
- You receive the
networkTxReference
that you need to use for subsequent payments in the payment response. Save this value. - Make a subsequent payment using the same network token.
Enable receiving relevant data
To enable the relevant fields:
- Log in to your Customer Area.
- Go to Developers > Additional data.
- Select the following fields:
- In the Acquirer section: Network Transaction Reference
- In the Card section: Card bin and Card summary
- Select Save configuration.
Make the initial payment with a network token
Make a one-off payment, the first payment in a subscription, or the first payment for automatic top-ups.
-
Make a POST /payments request, specifying:
Parameter name Description paymentMethod.type
networkToken paymentMethod.expiryMonth
The expiry month of the network token. paymentMethod.expiryYear
The expiry year of the network token. paymentMethod.cvc
Optional. The card verification code or security code. paymentMethod.holderName
The name of the cardholder associated with the network token. paymentMethod.number
The network token you get from the card networks. paymentMethod.brand
Optional. For co-badged network tokens in the US, this is the card network that you want to route the transaction to. Allowed values: - visa
- mc
- amex
- discover
- accel
- maestro_usa
- nyce
- pulse
- star
mpiData.directoryResponse
Y mpiData.authenticationResponse
Y mpiData.tokenAuthenticationVerificationValue
The network token authentication verification value (TAVV). This is the network token cryptogram.
If using Checkout API v67 and earlier, use the parametermpiData.cavv
instead. This is the cardholder authentication value (CAVV) received from the issuer.mpiData.eci
The electronic commerce indicator you get from the issuer. recurringProcessingModel
CardOnFile, Subscription, or UnscheduledCardOnFile, depending on your business model. shopperInteraction
Ecommerce -
In the /payments response, note the
networkTxReference
field. You need this value to make subsequent subscription or automatic top-up payments.
Make a subsequent payment with a network token
Make a subsequent payment, using the networkTxReference
you received in the payment response.