There is no Stripe test card called "v8." If you searched for stripe test card cvv v8, you were most likely looking for the CVC value that pairs with a Stripe test card number, or you saw "v8" in a software version string and assumed it belonged to a card. In Stripe test mode the rule is simple: use the standard test card number 4242 4242 4242 4242, any future expiry date, and any 3-digit CVC (4 digits for American Express). The CVV is not validated against a fixed list unless you deliberately pick a card that is built to fail a CVC check.
Where the "v8" part comes from
Stripe test cards do not carry version numbers. Card networks use fixed numbering schemes, and Stripe publishes a small set of static test numbers that never change. A "v8" suffix normally comes from one of three places:
- A software library version, such as an SDK release tagged v8.
- A saved payment method label or a dashboard reference.
- A blog post or forum title that happened to combine a card question with a version tag.
The useful takeaway: the CVC field is not the variable you need to look up. The card number is.
How to Use Stripe Test Card CVV V9
The default Stripe test card and its CVV
For a successful charge, Stripe's documentation points to 4242 4242 4242 4242. Enter any three digits in the CVC field, any expiry date in the future, and any valid postal code. Stripe accepts the request and returns a successful test charge. Nothing about the CVC is checked in that flow, which is why developers can type 123, 456, or 000 and still see a green success state.
Test cards that actually check the CVV
Stripe provides separate test numbers for CVC outcomes so you can verify that your integration surfaces the right error message. These are the rows most teams use:
- 4000 0000 0000 0101 returns a CVC check failure.
- 4000 0000 0000 0127 returns an incorrect CVC error.
- 4000 0000 0000 0002 is a generic decline, unrelated to CVC.
- 4000 0000 0000 9995 simulates insufficient funds.
- 4000 0000 0000 0069 simulates an expired card.
Pair any of these with a future expiry, a normal CVC, and a normal postal code. The decline reason is driven by the card number, not by what you type in the CVC box.
Test cards for other card brands
If your checkout logic branches on card brand, use a matching test number so the brand detection path is exercised:
- Visa debit: 4000 0566 5556 5556
- Mastercard: 5555 5555 5555 4444
- American Express: 3782 822463 10005 (use a 4-digit CVC)
- Discover: 6011 1111 1111 1117
- JCB: 3566 0020 2036 0505
The same CVC rule applies across brands: any three digits, or four for Amex, unless the number itself is designed to trigger a verification failure.
Why test cards never work outside test mode
Stripe test numbers are routed to a sandbox. They are not attached to a real funding account, so they cannot be charged in live mode and they produce no money movement. That is the entire point of the system: you can rehearse failures, retries, and webhook handling without touching a real card. Any card number that works in live mode came from a real issuer, and storing or sharing those numbers is regulated by card network rules and PCI DSS.
Common mistakes when testing CVC behavior
- Typing a 4-digit CVC on a non-Amex test card. Stripe will reject the format before the charge is attempted.
- Using an expiry date in the past and blaming the CVC field for the decline.
- Testing CVC failures with 4242 4242 4242 4242. That number always succeeds, so the error path never runs.
- Mixing test keys with live card numbers. The API returns an error, and the mismatch is a common source of confusion.
If you remember one thing, remember this: the card number decides the outcome, and the CVC is just a field you fill in. There is no v8 card to hunt down.