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 .
Visa test cards
The 4242 card is the one most Stripe integrations start with.
| Card number | Brand | Result | Copy |
|---|---|---|---|
4242 4242 4242 4242 | Visa | Payment succeeds | |
4000 0566 5566 5556 | Visa | Payment succeeds Debit |
Mastercard test cards
Includes a 2-series number, which some card-input validators still reject.
| Card number | Brand | Result | Copy |
|---|---|---|---|
5555 5555 5555 4444 | Mastercard | Payment succeeds | |
2223 0031 2200 3222 | Mastercard | Payment succeeds 2-series | |
5200 8282 8282 8210 | Mastercard | Payment succeeds Debit | |
5105 1051 0510 5100 | Mastercard | Payment succeeds Prepaid |
American Express test cards
Amex numbers are 15 digits and take a 4-digit CVC.
| Card number | Brand | Result | Copy |
|---|---|---|---|
3782 822463 10005 | American Express | Payment succeeds | |
3714 496353 98431 | American Express | Payment succeeds |
Discover test cards
| Card number | Brand | Result | Copy |
|---|---|---|---|
6011 1111 1111 1117 | Discover | Payment succeeds | |
6011 0009 9013 9424 | Discover | Payment succeeds | |
6011 9811 1111 1113 | Discover | 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 number | Brand | Result | Copy |
|---|---|---|---|
3056 9300 0902 0004 | Diners Club | Payment succeeds | |
3622 720627 1667 | Diners Club | Payment succeeds 14-digit | |
3566 0020 2036 0505 | JCB | Payment succeeds | |
6200 0000 0000 0005 | UnionPay | Payment succeeds | |
6200 0000 0000 0047 | UnionPay | Payment succeeds Debit | |
6205 5000 0000 0000 004 | UnionPay | Payment succeeds 19-digit |
Co-branded test cards
| Card number | Brand | Result | Copy |
|---|---|---|---|
4000 0025 0000 1001 | Cartes Bancaires | Payment succeeds Cartes Bancaires / Visa | |
5555 5525 0000 1001 | Cartes Bancaires | Payment succeeds Cartes Bancaires / Mastercard | |
6555 9000 0060 4105 | BCcard and DinaCard | Payment succeeds |
Declines and errors
The cases your checkout has to handle gracefully. Each returns a specific error or decline code.
| Card number | Brand | Result | Copy |
|---|---|---|---|
4000 0000 0000 0002 | Visa | Generic decline generic_decline | |
4000 0000 0000 9995 | Visa | Insufficient funds insufficient_funds | |
4000 0000 0000 9987 | Visa | Lost card lost_card | |
4000 0000 0000 9979 | Visa | Stolen card stolen_card | |
4000 0000 0000 6975 | Visa | Velocity limit exceeded card_velocity_exceeded | |
4000 0000 0000 0069 | Visa | Expired card expired_card | |
4000 0000 0000 0127 | Visa | Incorrect CVC incorrect_cvc | |
4000 0000 0000 0119 | Visa | Processing error processing_error | |
4242 4242 4242 4241 | Visa | Incorrect number incorrect_number (fails Luhn) |
3D Secure authentication
For testing SCA and the authentication challenge flow.
| Card number | Brand | Result | Copy |
|---|---|---|---|
4000 0000 0000 3220 | Visa | Authentication required, then succeeds Ireland-issued | |
4000 0084 0000 0027 | Visa | Authentication required, then succeeds US-issued | |
4000 0027 6000 3184 | Visa | Always authenticate Every transaction | |
4000 0025 0000 3155 | Visa | Authenticate unless set up Off-session needs setup | |
4000 0000 3220 0000 | Visa | Frictionless flow succeeds | |
4000 0000 0000 3055 | Visa | Authentication supported but not required | |
4000 0084 0000 1629 | Visa | Authentication required, then declines card_declined | |
4000 0082 6000 3178 | Visa | Authenticates, then insufficient funds insufficient_funds | |
4000 0000 0000 3097 | Visa | 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.
| Scenario | Value | Effect |
|---|---|---|
| Expiry month | 13 | invalid_expiry_month |
| Expiry year | 95 | invalid_expiry_year (a past year) |
| CVC | 99 | invalid_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
- Switch your Stripe integration to its test or sandbox environment and use test credentials. Live credentials reject these numbers.
- Enter a card number from the tables above. Expiry: Any future date, e.g. 12/34. Security code: Any 3 digits (4 for Amex).
- 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.
- Run the authentication cards through your full checkout to test the 3-D Secure challenge and its success and failure outcomes.
- 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.