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.
| Number | Brand | CVC | Behavior (test mode) |
|---|---|---|---|
4242 4242 4242 4242 | Visa | any 3 digits | Succeeds and immediately processes the payment. |
4000 0566 5566 5556 | Visa (debit) | any 3 digits | Succeeds; card type is debit. |
5555 5555 5555 4444 | Mastercard | any 3 digits | Succeeds and immediately processes the payment. |
2223 0031 2200 3222 | Mastercard (2-series) | any 3 digits | Succeeds; tests the 2221–2720 range. |
5200 8282 8282 8210 | Mastercard (debit) | any 3 digits | Succeeds; card type is debit. |
5105 1051 0510 5100 | Mastercard (prepaid) | any 3 digits | Succeeds; card type is prepaid. |
3782 822463 10005 | American Express | any 4 digits | Succeeds; 15-digit PAN, 4-digit CID. |
3714 496353 98431 | American Express | any 4 digits | Succeeds; alternate Amex test number. |
6011 1111 1111 1117 | Discover | any 3 digits | Succeeds and immediately processes the payment. |
3056 9300 0902 0004 | Diners Club | any 3 digits | Succeeds; 14-digit Diners Club. |
3566 0020 2036 0505 | JCB | any 3 digits | Succeeds and immediately processes the payment. |
6200 0000 0000 0005 | UnionPay | any 3 digits | Succeeds and immediately processes the payment. |
Declines & errors
Trigger specific decline codes to test your error handling.
| Number | Brand | CVC | Behavior (test mode) |
|---|---|---|---|
4000 0000 0000 0002 | Visa | any 3 digits | Charge is declined with a generic decline code. |
4000 0000 0000 9995 | Visa | any 3 digits | Declined: insufficient_funds. |
4000 0000 0000 9987 | Visa | any 3 digits | Declined: lost_card. |
4000 0000 0000 9979 | Visa | any 3 digits | Declined: stolen_card. |
4000 0000 0000 0069 | Visa | any 3 digits | Declined: expired_card. |
4000 0000 0000 0127 | Visa | any 3 digits | Declined: incorrect_cvc. |
4000 0000 0000 0119 | Visa | any 3 digits | Declined: processing_error. |
4100 0000 0000 0019 | Visa | any 3 digits | Declined: flagged as fraudulent (Radar). |
Authentication (3D Secure)
Force a 3DS challenge to test SCA flows.
| Number | Brand | CVC | Behavior (test mode) |
|---|---|---|---|
4000 0025 0000 3155 | Visa | any 3 digits | Requires authentication (3DS) on the first transaction. |
4000 0027 6000 3184 | Visa | any 3 digits | Requires authentication (3DS) for every transaction. |
4000 0084 0000 1629 | Visa | any 3 digits | 3DS 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.