Stripe test card numbers are fake card numbers that work only in test mode. They let you simulate approvals, declines, 3D Secure prompts, and refunds without moving real money. The number most developers try first is 4242 4242 4242 4242, a Visa card that approves every charge.
longtail stripe test card numbers for development
How do Stripe test card numbers work?
Test mode is a separate version of your account. Payments there stay inside Stripe, so no bank and no card network sees the request. Each test number carries a fixed outcome: 4000 0000 0000 0002 always declines, while 4242 4242 4242 4242 always approves.
To switch, replace your live API keys with test keys and set the Dashboard toggle to Test mode. Your code does not change. The key alone decides what the payment does.
related stripe test card numbers vs real card numbers
What expiry date and CVC should I enter?
Use any future date, such as 12/34, and any three digits for the CVC. American Express test cards take a four digit code. Postal code 12345 passes the address check on almost every test card.
Which Stripe test card numbers cover the main cases?
Cards that approve a payment
- 4242 4242 4242 4242: Visa, standard success
- 4000 0566 5566 5556: Visa debit
- 5555 5555 5555 4444: Mastercard
- 5200 8282 8282 8210: Mastercard debit
- 2223 0031 2200 3222: Mastercard prepaid
- 3782 822463 10005: American Express
- 6011 1111 1111 1117: Discover
- 3056 9300 0902 0004: Diners Club
- 3566 0020 2036 0505: JCB
Brand matters when you test wallets, currency rules, or fee logic. A JCB card exercises different code paths than a US Visa debit card.
Cards that decline or fail a check
- 4000 0000 0000 0002: generic decline
- 4000 0000 0000 9995: insufficient funds
- 4000 0000 0000 9987: lost card
- 4000 0000 0000 9979: stolen card
- 4000 0000 0000 0069: expired card
- 4000 0000 0000 0127: incorrect CVC
- 4000 0000 0000 0119: processing error
Each decline returns a decline_code on the charge object. Read that field in your logs and write error copy that matches it, instead of showing one vague message for every failure.
Cards that trigger 3D Secure
- 4000 0025 0000 3155: 3D Secure 2 authentication required
- 4000 0000 0000 3220: 3D Secure required, earlier flow
These numbers push the payment into an authentication step before it settles. Use them to confirm your app handles the redirect, the return_url, and the webhook that follows.
How do I run a test payment?
- Check that the Dashboard toggle reads Test mode.
- Copy the test publishable and secret keys from Developers, then API keys.
- Load your checkout page and enter a number from the lists above.
- Add a future expiry date, any CVC, and a postal code.
- Open the Events view in the Dashboard and compare it with your API response.
If the charge fails when you expected an approval, check the key first. A live key with a test card returns an error every time.
Do Stripe test cards work in live mode?
No. Live mode rejects test numbers, and repeated attempts can pull your account into a risk review. Keep them in test mode, where they are meant to live.
Should I test with real card numbers?
No. A real card number in a test system breaks PCI DSS rules and can bring fines, a frozen merchant account, and a forced audit. Using card data that belongs to someone else is card fraud under US law, whether or not a charge goes through.
The safe pattern is simple. Test numbers for test mode, real cards only through your live checkout, and never in a database, a spreadsheet, or a chat message.
Frequently asked questions
What is the most common Stripe test card number?
4242 4242 4242 4242. It approves every payment in test mode and works with any future expiry date and any three digit CVC.
Can I reuse the same test card number more than once?
Yes. Test cards have no limits and no rate caps. Run the same number as often as your test suite needs.
Why does my test payment show as incomplete?
That status means the payment method needs another step, such as 3D Secure authentication or a delayed notification method. Check the payment intent status in the Dashboard and finish the required action.
Do test cards create real refunds or disputes?
No. Refunds, disputes, and payouts in test mode are simulated entries. Balances reset in test mode and carry no cash value.
Where is the full list kept?
Stripe maintains the complete list in its testing documentation and adds new numbers as payment methods change. Treat the docs as the source of truth and the list above as a working starting point.