Stripe test cards accept any three-digit CVC, so there is no single "cvv v1" value to copy. When a list labels a test card "cvv v1," that is a column header someone typed into a spreadsheet, not a field Stripe reads. Enter 123, 000 or any other three digits with a future expiry date and the sandbox charge runs.

Stripe Test Card CVV Explained: What "v10" Lists Get Wrong

Which CVC do I enter on a Stripe test card?

Stripe skips CVC validation on a normal test charge. Three digits pass on Visa, Mastercard, Discover, JCB and UnionPay cards, and four digits pass on American Express.

stripe test card cvv v2

The value only matters when the card number itself is built to fail a check. Stripe ships a separate set of card numbers for each decline reason, so the card number controls the outcome.

more on this topic

  • Visa, Mastercard, Discover, JCB, UnionPay: any 3 digits, such as 123, 000 or 999.
  • American Express: any 4 digits, such as 1234.
  • Expiry date: any month and year in the future, such as 12/34.
  • ZIP or postal code: any value, unless you are testing a card that checks the address.

Standard Stripe test card numbers

Stripe publishes one basic number per brand. Each one succeeds, and the CVC field accepts anything you type.

Stripe Test Card CVV V7 Guide

  • Visa: 4242 4242 4242 4242
  • Visa debit: 4000 0566 5556 5556
  • Mastercard: 5555 5555 5555 4444
  • Mastercard 2-series: 2223 0031 2200 3222
  • American Express: 3782 822463 10005
  • Discover: 6011 1111 1111 1117
  • Diners Club: 3056 9309 0200 04
  • JCB: 3566 0020 2036 0505
  • UnionPay: 6200 0000 0000 0005

These numbers work only with test API keys. Stripe rejects them in live mode, and Stripe blocks real card numbers in test mode.

What does "v1" mean in "stripe test card cvv v1"?

Nothing official. Stripe has no field, header or parameter named "cvv v1," and its API versions use date strings such as 2024-06-20 rather than version numbers.

Three readings come up most often:

  • A spreadsheet tab or CSV column named "cvv v1" in someone's private list of fake cards.
  • A version label from a third-party testing tool that groups its fake numbers into v1, v2 and so on.
  • A mix-up with dated documentation or a vendor's own release naming.

None of these change how Stripe handles the CVC. The sandbox still ignores it on a standard test card.

How do I test a CVC failure?

Use a card number that forces the check to fail. Stripe returns a named decline code for each one, which lets you test how your checkout handles errors.

  • 4000 0000 0000 0127 returns incorrect_cvc.
  • 4000 0000 0000 0002 returns a generic card_declined.
  • 4000 0000 0000 9995 returns insufficient_funds.
  • 4000 0000 0000 0069 returns expired_card.
  • 4000 0000 0000 0119 returns processing_error.

With 4000 0000 0000 0127, type a normal three-digit CVC and Stripe still returns incorrect_cvc. The card number does the work, not the digits you entered.

Testing 3D Secure

Stripe also ships cards that trigger an authentication step. 4000 0025 0000 3155 requires 3DS authentication, and 4000 0027 6000 3184 requires it and then succeeds once you finish the challenge. Both accept any three-digit CVC.

What does cvc_check return in test mode?

Every charge carries a cvc_check value: pass, fail, unavailable or unchecked. On the standard 4242 card in test mode the value comes back as pass, because Stripe treats the CVC as valid.

On the incorrect_cvc card the value returns fail. Your code can read that field and decide whether to ask the customer to re-enter the card.

How do I run a full card test in Stripe?

  1. Switch the dashboard to test mode, or load a test secret key that starts with sk_test_.
  2. Create a PaymentIntent or a Checkout Session with that key.
  3. Enter a test card number, any future expiry date, and any 3 or 4-digit CVC.
  4. Confirm the payment shows in the test dashboard with the result you expected.
  5. Repeat with a decline card to check that your error message appears.

Why you should not keep real card data

PCI rules forbid storing the CVV after authorization, in any form. Versioned files named "cvv v1" or "cvv v2" are fine when they hold fake numbers only. Real card data should never sit in a spreadsheet, a repo or a chat log.

Common questions

Does the CVV matter on a Stripe test card?

No, not unless the card number is a CVC-failure card. Standard test cards pass with 123, 000 or any other three digits.

Is there an official "Stripe test card CVV v1" list?

No. Stripe publishes free test card numbers and a page of decline triggers, and neither uses a "v1" label. A file with that name comes from a third party.

Can a test card work in live mode?

No. Test numbers fail in live mode, and real numbers fail in test mode. Keep the two key types apart on every environment.

Do I need a valid expiry date with a test card?

Yes, use a future date. Stripe checks the date format and rejects a card that has already expired.