Stripe Test Card Numbers

Official Stripe test card numbers for every card brand, every decline code, and 3D Secure authentication flows.

The standard Stripe test card is 4242 4242 4242 4242 (Visa). Use any future expiry date such as 12/34 and any 3-digit CVC, and the payment succeeds in test mode. To test failures, use 4000 0000 0000 0002 for a generic decline or 4000 0000 0000 9995 for insufficient funds. For 3D Secure, 4000 0000 0000 3220 always requires authentication.

Last verified against Stripe's official documentation on .

Expiry: Any future date, e.g. 12/34
CVV: Any 3 digits (4 for Amex)
Official documentation

Visa test cards

The 4242 card is the one most Stripe integrations start with.

Card numberBrandResultCopy
4242 4242 4242 4242Visa
Payment succeeds
4000 0566 5566 5556Visa
Payment succeeds Debit

Mastercard test cards

Includes a 2-series number, which some card-input validators still reject.

Card numberBrandResultCopy
5555 5555 5555 4444Mastercard
Payment succeeds
2223 0031 2200 3222Mastercard
Payment succeeds 2-series
5200 8282 8282 8210Mastercard
Payment succeeds Debit
5105 1051 0510 5100Mastercard
Payment succeeds Prepaid

American Express test cards

Amex numbers are 15 digits and take a 4-digit CVC.

Card numberBrandResultCopy
3782 822463 10005American Express
Payment succeeds
3714 496353 98431American Express
Payment succeeds

Discover test cards

Card numberBrandResultCopy
6011 1111 1111 1117Discover
Payment succeeds
6011 0009 9013 9424Discover
Payment succeeds
6011 9811 1111 1113Discover
Payment succeeds Debit

Diners Club, JCB and UnionPay test cards

Covers the 14-digit and 19-digit lengths your card field has to accept.

Card numberBrandResultCopy
3056 9300 0902 0004Diners Club
Payment succeeds
3622 720627 1667Diners Club
Payment succeeds 14-digit
3566 0020 2036 0505JCB
Payment succeeds
6200 0000 0000 0005UnionPay
Payment succeeds
6200 0000 0000 0047UnionPay
Payment succeeds Debit
6205 5000 0000 0000 004UnionPay
Payment succeeds 19-digit

Co-branded test cards

Card numberBrandResultCopy
4000 0025 0000 1001Cartes Bancaires
Payment succeeds Cartes Bancaires / Visa
5555 5525 0000 1001Cartes Bancaires
Payment succeeds Cartes Bancaires / Mastercard
6555 9000 0060 4105BCcard and DinaCard
Payment succeeds

Declines and errors

The cases your checkout has to handle gracefully. Each returns a specific error or decline code.

Card numberBrandResultCopy
4000 0000 0000 0002Visa
Generic decline generic_decline
4000 0000 0000 9995Visa
Insufficient funds insufficient_funds
4000 0000 0000 9987Visa
Lost card lost_card
4000 0000 0000 9979Visa
Stolen card stolen_card
4000 0000 0000 6975Visa
Velocity limit exceeded card_velocity_exceeded
4000 0000 0000 0069Visa
Expired card expired_card
4000 0000 0000 0127Visa
Incorrect CVC incorrect_cvc
4000 0000 0000 0119Visa
Processing error processing_error
4242 4242 4242 4241Visa
Incorrect number incorrect_number (fails Luhn)

3D Secure authentication

For testing SCA and the authentication challenge flow.

Card numberBrandResultCopy
4000 0000 0000 3220Visa
Authentication required, then succeeds Ireland-issued
4000 0084 0000 0027Visa
Authentication required, then succeeds US-issued
4000 0027 6000 3184Visa
Always authenticate Every transaction
4000 0025 0000 3155Visa
Authenticate unless set up Off-session needs setup
4000 0000 3220 0000Visa
Frictionless flow succeeds
4000 0000 0000 3055Visa
Authentication supported but not required
4000 0084 0000 1629Visa
Authentication required, then declines card_declined
4000 0082 6000 3178Visa
Authenticates, then insufficient funds insufficient_funds
4000 0000 0000 3097Visa
Authentication attempt errors processing_error

Invalid-data values

No special card needed. Submit any valid test card with one of these to trigger the matching error.

ScenarioValueEffect
Expiry month13invalid_expiry_month
Expiry year95invalid_expiry_year (a past year)
CVC99invalid_cvc (two digits)

Before you use these

  • Only works with test API keys. Live keys reject these numbers.
  • Any future expiry date and any CVC of the right length will be accepted.
  • Cards that simulate issuer declines cannot be attached to a Customer. To test a decline after attaching, use 4000 0000 0000 0341.
  • These numbers are published by Stripe for sandbox testing. They are not real cards and cannot be used for a real purchase.

How to use Stripe test cards

  1. Switch your Stripe integration to its test or sandbox environment and use test credentials. Live credentials reject these numbers.
  2. Enter a card number from the tables above. Expiry: Any future date, e.g. 12/34. Security code: Any 3 digits (4 for Amex).
  3. Start with a successful card to confirm the happy path, then work through the decline and error cards so every failure message in your checkout gets exercised.
  4. Run the authentication cards through your full checkout to test the 3-D Secure challenge and its success and failure outcomes.
  5. Use the trigger values (invalid-data values) to simulate outcomes that are not tied to a card number.

Stripe test card FAQ

What is the Stripe test card number 4242?

4242 4242 4242 4242 is Stripe's default Visa test card. It succeeds in test mode with any future expiry date and any 3-digit CVC, and it is rejected by live API keys.

How do I trigger a specific decline code in Stripe?

Use the matching decline card: 4000 0000 0000 9995 returns insufficient_funds, 4000 0000 0000 9987 returns lost_card and 4000 0000 0000 0002 returns generic_decline.

Which Stripe test cards trigger 3D Secure?

4000 0000 0000 3220 and 4000 0027 6000 3184 always require authentication, while 4000 0000 0000 3055 supports 3D Secure without requiring it.

What are the Stripe test card numbers?

The standard Stripe test card is 4242 4242 4242 4242 (Visa). Use any future expiry date such as 12/34 and any 3-digit CVC, and the payment succeeds in test mode. To test failures, use 4000 0000 0000 0002 for a generic decline or 4000 0000 0000 9995 for insufficient funds. For 3D Secure, 4000 0000 0000 3220 always requires authentication.

Do Stripe test cards work in production?

No. These numbers are only recognised by the Stripe test environment and are rejected by the live platform. They are not real cards and cannot be used for a purchase.

How do I test a declined payment with Stripe?

Stripe triggers failures through invalid-data values as well as dedicated card numbers. Both are listed on this page.