Answer first

Stripe test cards use the same CVC format as live cards. Visa, Mastercard, Discover, and Maestro test cards take a 3-digit CVC. American Express test cards take a 4-digit code. The card number 4242 4242 4242 4242 accepts any 3-digit CVC in test mode.

stripe test card cvv v1

Stripe has no test card labeled v4. No Stripe document uses that label for a card number, a CVC, or an API version. Pages that tie v4 to a Stripe CVV do not cite Stripe. Treat that part of the query as unverified.

stripe test card cvv v3

How test cards work

Stripe publishes a list of card numbers for test mode. These numbers route to a simulator, not to a bank. They work with test API keys only. A test key starts with sk_test_ or pk_test_. Test card numbers fail when used with a live key. Live card numbers fail when used in test mode.

more on this topic

Rules that apply to most Stripe test cards:

stripe test card cvv v3

  • Expiry date: any future date.
  • Postal code: any value that passes your own form validation.
  • CVC: any value for plain success cards, fixed values for cards built to test CVC results.

CVC length by brand

  • Visa: 3 digits on the back of the card.
  • Mastercard: 3 digits on the back.
  • Discover: 3 digits on the back.
  • Maestro: 3 digits.
  • American Express: 4 digits on the front, above the card number.

Stripe calls the field cvc on most card objects. For Amex it is still sent in the cvc field, with 4 digits.

Test cards that check CVC behavior

  • 4242 4242 4242 4242: charge succeeds, cvc_check returns pass.
  • 4000 0000 0000 0101: charge succeeds, cvc_check returns fail.
  • 4000 0000 0000 0127: charge declines with the code incorrect_cvc.
  • 4000 0000 0000 0002: charge declines with a generic decline code.
  • 4000 0000 0000 9995: charge declines with insufficient_funds.

Stripe reports four values for cvc_check: pass, fail, unavailable, and unchecked. Amex test card 3782 822463 10005 takes a 4-digit CVC.

What v4 points to

Stripe API versions carry dates, such as 2020-08-27 or 2022-11-15. Card numbers carry no version number. CVC values carry no version number. The v4 string in this query has no match in Stripe's testing documentation, and the source of the term is unknown.

Limits of test mode

Test mode never contacts a card network or an issuer. A pass in test mode proves the code path in your integration. It proves nothing about a live card or a live account.

PCI DSS treats the CVC as sensitive authentication data. It must not be stored after authorization. Stripe does not store CVC values after the authorization step.

Verify in your own account

Open the Testing page in Stripe's docs. Use your own test keys. Run the charge and read the cvc_check field in the API response or in the Dashboard. That response is the record for your account.