TestCardsGet a free key

Stripe test cards

The card numbers below are the ones Stripe documents for use in test mode. They let you exercise a checkout flow end-to-end without moving real money. Pair any of them with any future expiry date and any CVC. They are non-functional fixtures — they hold no funds and are declined in production.

Successful payments

Cards that complete a charge in test mode.

NumberBrandBehavior (test mode)
4242 4242 4242 4242
VisaSucceeds and immediately processes the payment.
4000 0566 5566 5556
Visa (debit)Succeeds; card type is debit.
5555 5555 5555 4444
MastercardSucceeds and immediately processes the payment.
2223 0031 2200 3222
Mastercard (2-series)Succeeds; tests the 2221–2720 range.
5200 8282 8282 8210
Mastercard (debit)Succeeds; card type is debit.
5105 1051 0510 5100
Mastercard (prepaid)Succeeds; card type is prepaid.
3782 822463 10005
American ExpressSucceeds; 15-digit PAN, 4-digit CID.
3714 496353 98431
American ExpressSucceeds; alternate Amex test number.
6011 1111 1111 1117
DiscoverSucceeds and immediately processes the payment.
3056 9300 0902 0004
Diners ClubSucceeds; 14-digit Diners Club.
3566 0020 2036 0505
JCBSucceeds and immediately processes the payment.
6200 0000 0000 0005
UnionPaySucceeds and immediately processes the payment.

Declines & errors

Trigger specific decline codes to test your error handling.

NumberBrandBehavior (test mode)
4000 0000 0000 0002
VisaCharge is declined with a generic decline code.
4000 0000 0000 9995
VisaDeclined: insufficient_funds.
4000 0000 0000 9987
VisaDeclined: lost_card.
4000 0000 0000 9979
VisaDeclined: stolen_card.
4000 0000 0000 0069
VisaDeclined: expired_card.
4000 0000 0000 0127
VisaDeclined: incorrect_cvc.
4000 0000 0000 0119
VisaDeclined: processing_error.
4100 0000 0000 0019
VisaDeclined: flagged as fraudulent (Radar).

Authentication (3D Secure)

Force a 3DS challenge to test SCA flows.

NumberBrandBehavior (test mode)
4000 0025 0000 3155
VisaRequires authentication (3DS) on the first transaction.
4000 0027 6000 3184
VisaRequires authentication (3DS) for every transaction.
4000 0084 0000 1629
Visa3DS authentication fails (use to test the failure path).

Use any future expiry date (e.g. 12 / 34) and any postal code. Behaviors shown are for Stripe’s test mode; other processors publish their own test numbers. These cards are non-functional fixtures — they will be declined in production.

Using these in tests

See copy-paste snippets for Cypress, Playwright, Jest, and Vitest. Need to validate a number or generate fixtures? Try the Luhn validator or the test-card generator.