Short answer

Stripe does not have a "CVV v3" field. The card verification value is three digits for Visa, Mastercard, and Discover, and four digits for American Express. Any three digit value works with Stripe test cards in test mode, so you never need a special number to pass a CVC check. When you see "v3" in a gateway setting or a support article, it refers to the position of the field or to a CVC response code, not to a third version of the CVV itself.

Stripe Test Card CVV V10 Buying Guide

Prerequisites

  • A Stripe account with test mode turned on
  • Test API keys that begin with pk_test_ and sk_test_
  • A payment form, Stripe Checkout session, or the Stripe CLI
  • The Stripe test card list open for reference

How to test a card and its CVC

  1. Open the Stripe Dashboard and switch the account to test mode.
  2. Copy the test publishable key and the test secret key.
  3. Load your payment form with the test publishable key.
  4. Enter 4242 4242 4242 4242 in the card number field.
  5. Enter any three digit number in the CVC field, such as 123.
  6. Enter any future expiry date, such as 12/34.
  7. Enter any billing postal code and submit the payment.
  8. Confirm the API response returns a succeeded charge.
  9. Replace the card number with 4000 0000 0000 0127 and submit again to trigger an incorrect CVC decline.
  10. Replace the card number with 4000 0000 0000 0101 to see a CVC check that fails while the charge still completes.
  11. Read your own error handling on screen and confirm each message matches the decline reason.
  12. Swap the test keys for live keys only after every path behaves as expected.

Test cards that exercise CVC behavior

  • 4242424242424242: charge succeeds with any CVC.
  • 4000000000000002: generic decline.
  • 4000000000009995: insufficient funds.
  • 4000000000000069: expired card.
  • 4000000000000127: incorrect CVC.
  • 4000000000000101: CVC check fails.
  • 4000000000003220: 3D Secure 2 authentication required.
  • 378282246310005: American Express, four digit CVC accepted.

Reading the cvc_check value

Stripe returns a cvc_check field on the charge or PaymentIntent. The value is pass when the CVC matched, fail when it did not, unavailable when the issuer could not verify it, and unchecked when you skipped the check. Test cards do not validate the digits you type, so a pass result in test mode tells you your integration reads the field correctly, not that the number was verified against an issuer.

Stripe Test Card CVV V9 Guide

Common mistakes

  • Submitting test card numbers with live API keys, which returns a real decline.
  • Entering a three digit CVC for an American Express test card instead of four digits.
  • Assuming test mode proves the CVC digits were checked by a bank.
  • Storing the CVC after authorization. PCI DSS forbids keeping the verification value once the transaction is complete.
  • Testing only the success card and skipping the CVC failure paths your customers will hit.