An Adyen test CVV is a dummy card verification value published next to each Adyen test card number, and it works only inside the Adyen sandbox. It never reaches a real card, issuer, or bank account. For the standard Visa test card 4111 1111 1111 1111, Adyen lists 737 as the CVV and 03/2030 as the expiry. Confirm the current values on Adyen's test card page before you hardcode anything in a test suite.

What is an Adyen test CVV?

The CVV is the 3 or 4 digit code printed on a physical card. In test mode Adyen swaps the real code for a fixed dummy value tied to each test card number. The sandbox checks what you submit, then returns a simulated result.

That means the number, the expiry, and the CVV form one set. Pull them from the same row of the test card table and the payment behaves like a real one, minus the money.

Which CVV goes with which Adyen test card?

Adyen groups its test cards by brand and by scenario. Each row lists the card number, the expiry date, and the CVV to use with it.

  • Visa consumer example: 4111 1111 1111 1111, CVV 737, expiry 03/2030.
  • Visa, Mastercard, and Discover test cards use a 3 digit code.
  • American Express test cards use a 4 digit code.
  • Cards listed as having no CVC check need an empty field or the placeholder the docs name.
  • Scenario cards (3D Secure, refusal, fraud) carry their own numbers and dummy codes.

Values change when Adyen retires old test data. Treat the docs page as the source of truth, not a blog post or a Stack Overflow answer from 2019.

Does Adyen validate the CVV in test mode?

The sandbox validates the format of the code and, for cards with a fixed test CVV, the value itself. A code with the wrong digit count fails before the request reaches the payment simulator. Some test cards exist to force a CVV mismatch, so you can exercise your error handling on purpose.

No issuer is contacted at any point. Every response you see in the sandbox comes from Adyen's own simulator.

How do you trigger specific test outcomes?

Adyen maps certain amounts and certain card numbers to result codes such as Authorised, Refused, Error, and the 3D Secure states (IdentifyShopper, ChallengeShopper, RedirectShopper). The test result codes page lists the mapping.

For CVV work, the useful cases are a clean authorisation, a mismatch, and a 3DS challenge. Build a test for each so a broken field does not slip into production.

Where to find the current Adyen test CVV list

  1. Open the Adyen documentation site and find the test card numbers page under payment methods.
  2. Pick the brand and the scenario you need to test.
  3. Copy the number, expiry, and CVV as a single set.

Mixing a number from one row with a CVV from another is the most common reason a test payment fails. It looks like a bug in your integration when it is just mismatched fixture data.

Common mistakes when testing CVV fields

  • Running test card data through a live API key, which returns an error rather than a simulated result.
  • Hardcoding 737 for every brand. Amex needs four digits and rejects three.
  • Trimming leading zeros from the CVV input, which shortens a valid code.
  • Letting the browser autofill a saved real card into a sandbox checkout form.
  • Storing the CVV after authorisation. PCI DSS forbids it, and a test path that stores it often becomes a production path that stores it.

Adyen test CVV: common questions

Can I use any 3 digit code as a test CVV?

Some sandbox setups accept any 3 digit code, but you lose the ability to test mismatch handling. Use the value from the published row. If 123 still authorises, your CVV check may not be wired the way you assume.

Why does my 4 digit CVV get rejected?

Field length follows the brand. Amex uses four digits; Visa, Mastercard, and Discover use three. A card typed as Visa with a 4 digit code fails validation before any network call, so check the brand detection in your form.

Is the Adyen test CVV the same in every region?

The test card table is global and the dummy codes do not change by country. Regional differences show up in payment methods and currency support, not in test card data. A card that authorises on an EU sandbox account authorises on a US one.

Do I need a real card to test CVV validation?

No. The sandbox covers format checks, mismatch results, and 3DS challenge flows with dummy data. A live check with your own card belongs in a controlled release step, not in daily testing.

Keep sandbox and live data apart

Use separate configuration keys for test and live, and never let a test form post to a live endpoint. Test card values are public and harmless; a real card number typed into a sandbox form is neither. Clear fixture data from logs and databases on the same schedule you clear other test records.