---
title: "Tokenization"
description: "Store payment details for recurring payments with our Tokenization feature."
url: "https://docs.adyen.com/online-payments/tokenization"
source_url: "https://docs.adyen.com/online-payments/tokenization.md"
canonical: "https://docs.adyen.com/online-payments/tokenization"
last_modified: "2026-06-01T15:33:14+02:00"
language: "en"
---

# Tokenization

Store payment details for recurring payments with our Tokenization feature.

[View source](/online-payments/tokenization.md)

![](/user/pages/reuse/development-resources/additional-info-resources/postman-logo-vertical-orange-2021.svg?decoding=auto\&fetchpriority=auto)  [Postman collection](https://www.postman.com/adyendev/workspace/adyen-apis/collection/25716737-46ad970e-dc9e-4246-bac2-769c6083e7b5)

**Implementation examples**\
![](/user/pages/reuse/development-resources/additional-info-resources/java-original.svg?decoding=auto\&fetchpriority=auto)  [Java Spring](https://github.com/adyen-examples/adyen-java-spring-online-payments/tree/main/subscription-example)\
![](/user/pages/reuse/development-resources/additional-info-resources/dot-net-original.svg?decoding=auto\&fetchpriority=auto)  [.NET](https://github.com/adyen-examples/adyen-dotnet-online-payments/tree/main/subscription-example)\
![](/user/pages/reuse/development-resources/additional-info-resources/nodejs-original.svg?decoding=auto\&fetchpriority=auto)  [Node.js](https://github.com/adyen-examples/adyen-node-online-payments/tree/main/subscription-example)

Tokenization is the process of replacing sensitive data with a non-sensitive equivalent, called a token. For payments, a token represents the shopper's payment details, such as the [Primary Account Number (PAN)](/get-started-with-adyen/adyen-glossary/#card-number-pan).

If the shopper consents to save their payment details, we store payment details in the Adyen Vault. When the shopper chooses to pay with their saved payment details, you make the payment with a token. Tokens reduce your security risks and lowers your [PCI DSS](/development-resources/pci-dss-compliance-guide/) scope.

Tokenize is an [Adyen Uplift](/uplift) module, and it lets you:

* Store payment details to offer faster checkout experiences to returning shoppers.
* Store payment details for subscription or other non-fixed schedule contracts.
* Reduce your [PCI DSS](/development-resources/pci-dss-compliance-guide/) scope by letting Adyen handle the sensitive payment data in the Adyen Vault.
* [Enhance your implementation with additional features](#enhance) to increase authorization rates and reduce declines due to replaced or expired cards.

## Implementation options

You can choose one of the following [server-side flows](/online-payments/build-your-integration) to implement tokenization:

* The **Sessions flow** is the simplest way to store payment details. It minimizes your [security requirements](#security-and-compliance) by creating a secure session that contains all the information needed for our client-side components to securely create and pay with tokens. This implementation qualifies you for the simplest form of PCI validation [(SAQ A)](/development-resources/pci-dss-compliance-guide/saq-a-eligibility/).

* The **Advanced flow** gives you more control over your checkout experience. You use our client-side components, or your own front-end, to collect payment details before sending them to your server to make an API call. It also requires you to manage the data flow and state yourself, offering greater flexibility for complex integrations.

## Recurring payment types

You can make the following types of recurring payments:

* **One-click payments**: transactions where a returning shopper uses their saved payment details to pay in your website or app for simpler and faster checkout.
* **Subscriptions**: recurring transactions you initiate at regular intervals for a product or a service.
* **Automatic top-ups and other non-fixed schedule contracts**: transactions you initiate at irregular intervals for contracts where payments occur on a non-fixed schedule This includes automatic top-ups when the cardholder's balance drops below a certain amount.

The available recurring payment types depend on your server-side flow. If you use the Sessions flow, you must also use the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) endpoint to make token payments where the shopper is not present, such as subscription payments.

| Type                                                     | Sessions flow                                                                               |                                                                                             | Advanced flow                                                                               |                                                                                             |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|                                                          | Create a token                                                                              | Make a payment                                                                              | Create a token                                                                              | Make a payment                                                                              |
| One-click payments                                       | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| Subscriptions                                            | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-x-](/user/data/smileys/emoji/x.png "-x-")                                                | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| Automatic top-ups and other non-fixed schedule contracts | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-x-](/user/data/smileys/emoji/x.png "-x-")                                                | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |

## Supported payment methods

We support tokenization for many card and local payment methods, including [major card brands](/payment-methods/cards), [ACH Direct Debit](/payment-methods/ach-direct-debit), and [SEPA Direct Debit](/payment-methods/sepa-direct-debit).

[Our payment methods overview](/payment-methods/?features%5B0%5D=recurring) shows if each payment method supports recurring payments using tokenization.

## Shopper reference management

When you store a shopper's payment details, you must store the token with a unique shopper reference. This shopper reference must be unique to each shopper, because we use it to associate the token with the shopper.

By default, shopper references and tokens can only be used with one [merchant account](/account/account-structure/#merchant-accounts). If your company account has multiple merchant accounts, you can enable the Token Groups feature which shares shopper references and their associated tokens between your merchant accounts. Contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other) to enable the feature.

## Security and compliance

We use client-side encryption (CSE) and end-to-end encryption to ensure that sensitive data is never exposed. All cryptographic keys are managed in a secure and compliant manner, so that you can focus on processing payments while Adyen handles the security requirements.

If you are not [fully PCI DSS compliant](/development-resources/pci-dss-compliance-guide), we recommend that you use Adyen tokens to make payments and limit your PCI scope.

To collect raw card data, you need to be fully PCI DSS compliant. If you are fully PCI DSS compliant, you can either create your own token vault or store raw card data to offer faster checkout options.

## Enhance your tokenization implementation

Our solution lets you benefit from additional features to make your tokenization implementation more reliable and robust.

* **Network tokenization**: use secure tokens created and managed directly by card networks. It is independent of the physical card's expiration date, and remains valid even if the card is lost or expires. Adyen automatically requests network tokens for stored cards when possible, and no extra integration is required to use them.
* **Account Updater**: prevent declined payments due to expired or replaced cards. Account Updater automatically updates card details by working in the background with card schemes to get the latest card information.
* **Forward**: forward the payment details you stored with Adyen to a PCI-compliant third party. This lets you use the payment details you have securely stored with Adyen across providers.

[![](/user/pages/docs/02.online-payments/20.tokenization/credit-card-lock.svg?decoding=auto\&fetchpriority=auto)](/online-payments/network-tokenization)

###### [Network tokenization](/online-payments/network-tokenization)

[Increase authorization rates with secure tokens from card networks.](/online-payments/network-tokenization)

[![](/user/pages/docs/02.online-payments/20.tokenization/account-updater.svg?decoding=auto\&fetchpriority=auto)](/online-payments/account-updater)

###### [Account updater](/online-payments/account-updater)

[Automatically update expired or replaced card details in your vault.](/online-payments/account-updater)

[![](/user/pages/docs/02.online-payments/20.tokenization/pay-by-link-plane.svg?decoding=auto\&fetchpriority=auto)](/online-payments/tokenization/forward-payment-details)

###### [Forward](/online-payments/tokenization/forward-payment-details)

[Forward payment details you stored in the Adyen Vault to third parties.](/online-payments/tokenization/forward-payment-details)

## Next steps

[![](/user/pages/docs/02.online-payments/20.tokenization/token.svg?decoding=auto\&fetchpriority=auto)](/online-payments/tokenization/create-tokens)

###### [Create tokens](/online-payments/tokenization/create-tokens)

[Create tokens to store your shopper's payment details for recurring payments.](/online-payments/tokenization/create-tokens)

[![](/user/pages/docs/02.online-payments/20.tokenization/api-only.svg?decoding=auto\&fetchpriority=auto)](/online-payments/tokenization/make-token-payments)

###### [Make token payments](/online-payments/tokenization/make-token-payments)

[Make one-click, subscription, or unscheduled card-on-file payments with the tokens you created.](/online-payments/tokenization/make-token-payments)
