Stripe Test Card Numbers: How to Pick the Right Ones

For most payment testing on Stripe, one number covers the job: 4242 4242 4242 4242, paired with any future expiry date, any three-digit CVC, and any billing postal code. It behaves like a normal Visa card in test mode and returns a successful charge. Every other number in the test set exists to simulate a specific outcome, such as a decline, an insufficient funds response, or a step up to 3D Secure authentication. Choose test numbers by the outcome you need to reproduce, not by brand alone. These values are published by Stripe, work only against test mode API keys, and cannot charge a real account.

What test card numbers are

A test card number is a placeholder credential that Stripe recognizes in test mode. It passes the same format checks a live card would pass, including the Luhn checksum, so your checkout form, tokenization step, and server-side validation all run the way they will in production. What it does not do is reach a card network. No funds move, no issuer sees the transaction, and the response comes from Stripe's test environment. Test mode and live mode are separate worlds, and a key from one will not work with data from the other.

How to choose a test card set

Build a small set that covers the branches in your payment flow. Four or five numbers is enough for most teams.

Match the brands you accept

Include at least one Visa and one Mastercard number, plus an American Express number if you accept Amex. Amex cards carry 15 digits and a four-digit CVC, so they exercise different input handling than the 16-digit, three-digit CVC case. Adding Discover or JCB helps if your checkout renders brand-specific messaging.

Cover every response path

You need a success number, a generic decline number, and a number that triggers additional authentication. If your application shows tailored error copy for insufficient funds, expired card, or incorrect CVC, add the numbers that produce those specific decline codes. Test the paths your support team will hear about.

Check the authentication case

3D Secure testing requires a card enrolled in the authentication flow, plus test values for the challenge screen. Confirm that your integration handles both the authenticated branch and the authentication failed branch, since the second one shows up in production and is easy to skip in testing.

Parameter bands to expect

Pitfalls that waste time

FAQ

Does 4242 4242 4242 4242 always succeed?

In test mode it does, for a standard charge. The outcome still depends on your integration and on the API flow you call, so a failure points to configuration more often than to the card.

Can I use these numbers on other payment providers?

Some providers publish the same well-known numbers because they came from shared testing conventions. Do not count on it. Use the set your provider documents.

Do I need a matching CVC?

No. In test mode any three-digit value works for most brands and any four-digit value works for American Express, unless you are deliberately testing a CVC failure.

Why does my test charge get declined?

Either you picked a number that maps to a decline response, or the request went to live mode. Check the key and the selected number before you change any code.

Are these numbers safe to publish?

Yes. They are public test values with no account behind them. Publishing a real card number is a different matter and creates risk for every party involved.

More

Read our complete guide: Buy CVV Cheap: Pricing, Risks, and What First-Time Buyers Need to Know