Overview
Not every merchant coming onto ValPay has an existing tokenized payment method to migrate. If a merchant has never processed with a tokenized solution before, there's no token to exchange, so the Token Migration Process to Adyen guide doesn't apply.
Unlike migration, this doesn't require a ValPay-led process. Partners already integrate directly with Adyen's Checkout API using credentials ValPay provisions (see API Integration and Tokenization & Recurring Payments). Creating a brand-new token from a card is the same tokenization request covered there, just submitted with a zero-value amount instead of a real charge.
1. When to Use This
Use this path when:
The merchant has no existing recurring token from a prior processor
A card is being collected for the first time and needs to be stored for future recurring billing
No live, full-value payment should run against the card just to generate the token
If the merchant already has a token from a previous processor, use the Token Migration Process to Adyen guide instead.
2. How It Works
This is the same flow described in Tokenization & Recurring Payments, just with the amount set to zero. Submit a standard /payments request with:
amount.value:0storePaymentMethod:trueshopperReference: your unique identifier for the shopperrecurringProcessingModel: for exampleUnscheduledCardOnFile
POST /v71/payments
{
"merchantAccount": "YOUR_MERCHANT_ACCOUNT",
"amount": { "currency": "USD", "value": 0 },
"reference": "TOKENIZE-0001",
"paymentMethod": { /* card details collected by Drop-in/Components */ },
"shopperReference": "SHOPPER-001",
"storePaymentMethod": true,
"recurringProcessingModel": "UnscheduledCardOnFile",
"store": "YOUR_STORE_ID"
}
A successful zero-value authorization confirms the card is real and chargeable. Adyen returns the token on the recurring.token.created webhook, the same as any other tokenization request. Store that token with the shopperReference.
Zero-value authorizations are supported for cards, Google Pay, PayPal, Apple Pay, Klarna, and Amazon Pay. They are not supported for Alipay or WeChat Pay, if a merchant needs one of those tokenized, a minimal real-value auth is required instead.
3. PCI Considerations
How the card number is collected determines PCI scope, same as any other integration:
Raw card number sent server to server: requires the partner to be fully PCI DSS compliant (SAQ D).
Card number collected via a client-side encrypted field (Drop-in/Components): the card number is encrypted in the browser before it reaches any server, keeping PCI scope down at SAQ A or SAQ A-EP.
4. One-Time Setup, Not a Per-Request Step
If tokenization and the zero-auth role aren't already enabled on the partner's account, they'll need to reach out to ValPay Support once to have them turned on, the same enablement check referenced in Tokenization & Recurring Payments. Once enabled, no ValPay involvement is required per token, the partner calls the API directly the same way they do for any other payment.
Summary
Use the Token Migration Process to Adyen guide when a merchant already has a token to move over, that process genuinely requires ValPay to retrieve and upload a file. Use this zero-auth process when there's no existing token and a partner needs to tokenize a card directly through their existing API integration, no ValPay involvement required per request.
