The short answer

Enter 123 as the CVV for every 3-digit Stripe test card (Visa, Mastercard, Discover, Diners Club) and 1234 for American Express. Stripe test cards accept any 3- or 4-digit code, so 123 is a convention, not a requirement. The CVC check fails only when you use a designated decline card such as 4000 0000 0000 0127.

stripe test card cvv v6

Test cards work in test mode only. No live account, cardholder, or bank is involved, and no charge can settle.

Stripe Test Card CVV V9: A Comprehensive Guide

Prerequisites

  • A Stripe account with test mode turned on
  • Test API keys that start with pk_test_ and sk_test_
  • A payment form, client library, or the Dashboard payments page where you can type card data

How to run a CVV test

  1. Open the Stripe Dashboard and confirm the Test mode toggle is on.
  2. Create a payment intent or open a test checkout page that accepts card data.
  3. Type the card number 4242 4242 4242 4242.
  4. Type 123 in the CVC field.
  5. Type a future expiration date, for example 12 / 34.
  6. Type any postal code, for example 10001, unless you are testing an address decline.
  7. Submit the payment and confirm the charge returns a succeeded status.

Test cards that return CVC results

  • 4000 0000 0000 0127: incorrect CVC. The card number passes validation and the CVC check fails.
  • 4242 4242 4242 4242: CVC check passes with any three digits.
  • 3782 822463 10005: American Express, four-digit CID, use 1234.
  • 6011 1111 1111 1117: Discover, three-digit CVC, use 123.

Other decline cards worth keeping

  • 4000 0000 0000 0002: generic decline.
  • 4000 0000 0000 9995: insufficient funds.
  • 4000 0000 0000 0069: expired card.
  • 4000 0000 0000 0119: processing error.

About the v1 in the search term

The v1 label comes from Stripe's older token and charge endpoints, which sit under the /v1/ path in the API. Stripe does not publish a separate v1 test card set. The same test numbers and the same CVC rules apply across API versions and across Tokens, PaymentIntents, and Checkout, so a card that returns incorrect_cvc today returns the same code on any pinned version.

read more

When you read a decline, check the decline_code field instead of the raw message. incorrect_cvc maps to the CVC check and appears only when the simulated issuer triggers it. A real failed CVC looks the same from your integration's point of view, which is why the test set includes one card built for it.

related article