A Stripe test card CVV is any three digits, or any four digits for American Express. Stripe accepts the charge unless you pick a card number that is built to fail a specific check. There is no v3 test card family in Stripe's documentation, so that label points to a test variant or an API version, not a separate set of cards.

Stripe Test Card CVV v10: What It Is and What to Use Instead

What does v3 mean in a Stripe test card search?

Stripe names test cards after the scenario they trigger: success, decline, expired card, failed CVC, or 3D Secure. It does not ship version numbers for those cards.

stripe test card cvv v3

When a guide or video calls a card v3, three explanations cover most cases:

stripe test card cvv v6

  • A third revision in a tutorial that lists test numbers from memory.
  • The API version used in the code sample, which Stripe dates like 2024-06-20.
  • 3D Secure 2, which many writers shorten to v3 because 1.0.2 came before it.

Treat any version label as a hint, then check the number against Stripe's own testing page before you build a test suite on it.

read more

Which Stripe test card numbers work for each brand?

These numbers pass address and CVC checks with any future expiry date and any CVC code.

  • Visa: 4242 4242 4242 4242
  • Visa debit: 4000 0566 5566 5556
  • Mastercard: 5555 5555 5555 4444
  • Mastercard 2-series: 2223 0000 0000 0044
  • American Express: 3782 822463 10005
  • Discover: 6011 1111 1111 1117
  • JCB: 3566 0020 2036 0505
  • Diners Club: 3056 9300 0902 0004
  • UnionPay: 6200 0000 0000 0005

Use the matching brand in the card field. A Visa number with a Mastercard selection returns a card_declined error in test mode and fails in live mode too.

How does Stripe treat the CVV on a test card?

For Visa, Mastercard, Discover, JCB, Diners Club, and UnionPay, type any three digits. For American Express, type any four digits. The value carries no weight unless the card number is a CVC failure card.

Test mode still runs a CVC check so your code sees the same response shape as production. That matters if your checkout handles cvc_check values like pass, fail, and unavailable in different ways.

PCI DSS rules bar merchants from storing the CVV after a transaction is authorized, and test mode follows the same model. Do not log that field in your own database, even for fake numbers, because the habit leaks into production code.

Which test cards fail a CVV check?

Use these when you need to see your error handling for a bad code:

  • 4000 0000 0000 0127 returns incorrect_cvc.
  • 4000 0000 0000 0101 returns a failed CVC check.
  • 4000 0000 0000 0002 returns a generic decline.
  • 4000 0000 0000 9995 returns insufficient_funds.
  • 4000 0000 0000 0069 returns expired_card.

The code lands in the decline_code field on the charge or PaymentIntent object. That lets you map each case to a message your support team can read.

Which test cards trigger 3D Secure?

3DS cards open an authentication page in the browser or an in-app sheet. Stripe's test page offers both an authorize button and a fail button so you can test both paths.

  • 4000 0025 0000 3155 requires 3D Secure 2 authentication.
  • 4000 0000 0000 3220 requires 3D Secure 2, then fails if you tap the fail button.
  • 4000 0000 0000 3063 requires 3D Secure 1 style authentication.
  • 4000 0084 0000 1629 requires authentication and passes the CVC check.

Stripe also publishes 3DS numbers for Mastercard, Amex, and Discover. The handled flow returns a requires_action status, and your code confirms the PaymentIntent after the customer finishes.

How do you run a test charge step by step?

  1. Switch your dashboard to test mode and copy the test secret key, which starts with sk_test_.
  2. Pick a card number from the list above and pair it with any future expiry month and year.
  3. Enter any three digits in the CVC field, or four digits for American Express.
  4. Submit the charge and read the response object for a status, a decline code, or a requires_action flag.
  5. Swap in live keys after the success, decline, and 3DS paths all behave the way you expect.

What breaks a Stripe test charge?

  • Using a live key with a test number, which returns a real decline and can flag the account.
  • Picking a past expiry date, even on a success card.
  • Typing three digits into the Amex CID field, which needs four.
  • Copying a number from a forum instead of Stripe's docs, because stale numbers drop out of the list.
  • Testing 3DS inside an iframe that blocks the authentication window.

Frequently asked questions

Is 4242 4242 4242 4242 a real card?

No. Visa reserves that number for testing and it maps to no live account. It works with test keys only.

Does Stripe store the CVV I type in test mode?

No. Stripe uses the value to run the check and does not keep it, which matches PCI DSS rules for live traffic.

Why is my test card declined?

Either you chose a decline card, or your code is running with live keys. Check the key prefix first.

Can I use a test card to buy something online?

No. Test numbers run against Stripe's sandbox, and no live merchant can charge them.