What is a Stripe test card CVV v1?

Stripe test cards use fixed card numbers that run only in test mode. The CVV field accepts any 3-digit number (4 digits for American Express) on almost every one of them, so there is no secret "v1" CVV value to memorize. The "v1" in your query points to a card list version or to Stripe's /v1/ API path, not to a special code.

related article

No money moves and no real card data is involved. Test mode exists so developers can build checkout flows without touching a live account.

read more

Which test card numbers does Stripe publish?

Stripe keeps a public list that covers success, decline, and 3D Secure cases. A handful of numbers handle most testing needs.

stripe test card cvv v6

  • 4242 4242 4242 4242: Visa, payment succeeds.
  • 4000 0000 0000 0002: Visa, generic decline.
  • 4000 0000 0000 9995: Visa, decline for insufficient funds.
  • 4000 0000 0000 0127: Visa, decline for an incorrect CVC.
  • 4000 0000 0000 3220: Visa, requires 3D Secure authentication.
  • 5555 5555 5555 4444: Mastercard, payment succeeds.
  • 3782 822463 10005: American Express, payment succeeds.

Stripe adds and retires numbers over time. Check the current list before you build a test suite around one card.

Stripe Test Card CVV: What to Enter and Which Numbers Behave How

What CVV should you type on a Stripe test card?

Type any 3 digits, such as 123. Amex cards take 4 digits, such as 1234. Test mode does not compare the CVV against a stored value, so 000 and 999 behave the same as 123.

The one exception is a card built to fail the CVC check. Card 4000 0000 0000 0127 returns an incorrect_cvc decline no matter what you type in that field.

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

Two things share that label. Stripe's REST API uses versioned paths that start with /v1/, so creating a PaymentMethod or a PaymentIntent hits an endpoint like /v1/payment_intents. Internal test notes and tutorials also carry version tags (v1, v2) when a team updates its own fixture list.

Neither case changes how the CVV field behaves. Test mode accepts any 3-digit CVC unless the card number itself is a CVC-failure card.

When does Stripe check a CVC for real?

In live mode, the card issuer runs the CVC check and returns a result. Stripe passes that result to you as pass, fail, or unchecked, and the value shows up on the charge object. Stripe does not store the CVC after the authorization request, which is why saved cards and subscriptions cannot re-check it.

That rule comes from PCI DSS, not from Stripe. Storing a card verification code after authorization is prohibited for any merchant that handles card data.

How do you test a CVC failure?

Use the decline card and assert on the error your integration receives.

  1. Create a payment method with card 4000 0000 0000 0127, any future expiry, and any 3-digit CVC.
  2. Confirm a PaymentIntent with that method.
  3. Read the decline_code on the returned error. It comes back as incorrect_cvc.

Handle that error the way you handle a live decline: show a clear message, ask for the card again, and avoid retrying the same number in a loop.

Do test cards work with live API keys?

No. A test card number fails against a live key, and a real card fails against a test key. Stripe separates the two by key prefix: sk_test_ and pk_test_ for test mode, sk_live_ and pk_live_ for live charges.

Send real card data to a test key and you still expose it. Use published test numbers only.

Which expiry date and postal code should you use?

Use any date in the future. A past date triggers an expired_card decline, which is handy when you want to test that branch. Address checks apply only to cards built to test verification, so 4242 accepts any ZIP code.

Checklist before you ship a payment flow

  • Test one success card per brand you plan to accept.
  • Test at least one decline and one CVC failure.
  • Test a 3D Secure card, since the redirect step breaks more integrations than declines do.
  • Confirm your error messages do not leak raw processor codes to shoppers.
  • Switch to live keys and run one real charge at the lowest amount your account allows.

Frequently asked questions

Does Stripe validate the CVV on test cards?

Only the CVC-failure cards enforce a result. Every other test card accepts any 3-digit value you type.

Why is my Stripe test card declined?

Three common causes: you are using a decline card by accident, the expiry date sits in the past, or a live key is paired with a test number. Check the decline_code in the API response first.

Is 4242 4242 4242 4242 safe to use?

Yes. It is a published test number, it runs only in test mode, and it charges nothing. It is also the fastest way to confirm that your keys and endpoint are wired right.

Can I use a test card in production?

No. Stripe rejects test numbers on live keys, and the attempt can show up in your account logs as a failed charge.