The most used Stripe test card is 4242 4242 4242 4242, a Visa that always succeeds. Use it with any future expiry date (such as 12/34), any 3-digit CVC and any other details. For a decline, 3D Secure, a fraud check, a dispute or a refund, pick the scenario below and copy the card Stripe provides for it.
Every number on this page comes from Stripe’s testing documentation, which we read on 31 October 2026. Stripe adds and changes test cards, so check that page if a number here behaves differently.
Stripe test card picker
| Card | Number | What happens |
|---|---|---|
| Visa | 4242 4242 4242 4242 | Payment succeeds. 3D Secure supported but the card is not enrolled, so no authentication. |
| Visa (debit) | 4000 0566 5566 5556 | Payment succeeds. |
| Mastercard | 5555 5555 5555 4444 | Payment succeeds. |
| Mastercard (2-series) | 2223 0031 2200 3222 | Payment succeeds. |
| Mastercard (debit) | 5200 8282 8282 8210 | Payment succeeds. |
| Mastercard (prepaid) | 5105 1051 0510 5100 | Payment succeeds. |
| American Express | 3782 822463 10005 | Payment succeeds. Use a 4-digit CVC. 3D Secure is not supported. |
| American Express (second) | 3714 496353 98431 | Payment succeeds. Use a 4-digit CVC. |
| Discover | 6011 1111 1111 1117 | Payment succeeds. |
| Discover (second) | 6011 0009 9013 9424 | Payment succeeds. |
| Discover (debit) | 6011 9811 1111 1113 | Payment succeeds. |
| Diners Club | 3056 9300 0902 0004 | Payment succeeds. |
| Diners Club (14-digit) | 3622 7206 2716 67 | Payment succeeds. |
| JCB | 3566 0020 2036 0505 | Payment succeeds. |
| UnionPay | 6200 0000 0000 0005 | Payment succeeds. |
| UnionPay (debit) | 6200 0000 0000 0047 | Payment succeeds. |
| UnionPay (19-digit) | 6205 5000 0000 0000 004 | Payment succeeds. |
| Cartes Bancaires / Visa | 4000 0025 0000 1001 | Payment succeeds. Co-branded card. |
| Cartes Bancaires / Mastercard | 5555 5525 0000 1001 | Payment succeeds. Co-branded card. |
| eftpos Australia / Visa | 4000 0503 6000 0001 | Payment succeeds. Co-branded card. |
| eftpos Australia / Mastercard | 5555 0503 6000 0080 | Payment succeeds. Co-branded card. |
| Generic decline | 4000 0000 0000 0002 | Error code card_declined, decline code generic_decline. |
| Insufficient funds | 4000 0000 0000 9995 | Error code card_declined, decline code insufficient_funds. |
| Lost card | 4000 0000 0000 9987 | Error code card_declined, decline code lost_card. |
| Stolen card | 4000 0000 0000 9979 | Error code card_declined, decline code stolen_card. |
| Expired card | 4000 0000 0000 0069 | Error code expired_card. |
| Incorrect CVC | 4000 0000 0000 0127 | Error code incorrect_cvc. |
| Processing error | 4000 0000 0000 0119 | Error code processing_error. |
| Incorrect number | 4242 4242 4242 4241 | Error code incorrect_number (fails the Luhn check). |
| Exceeding velocity limit | 4000 0000 0000 6975 | Error code card_declined, decline code card_velocity_exceeded. |
| Decline after attaching | 4000 0000 0000 0341 | Attaches to a customer, then the charge is declined. The only decline card Stripe lets you attach to a Customer. |
| 3D Secure: authenticate unless set up | 4000 0025 0000 3155 | Needs authentication for off-session payments unless the card was set up; on-session payments always need it. |
| 3D Secure: always authenticate | 4000 0027 6000 3184 | Needs authentication on every transaction. |
| 3D Secure: already set up | 4000 0038 0000 0446 | Set up for off-session use; one-time and on-session payments still need authentication. |
| 3D Secure: insufficient funds | 4000 0082 6000 3178 | Needs authentication; every payment then declines with insufficient_funds. |
| 3D Secure required (Ireland-issued) | 4000 0000 0000 3220 | Authentication must be completed. Succeeds. |
| 3D Secure required (US-issued) | 4000 0084 0000 0027 | Authentication must be completed. Succeeds. |
| 3D Secure required, then declined | 4000 0084 0000 1629 | Authentication is required, then the payment is declined. |
| 3D Secure required, lookup error | 4000 0084 0000 1280 | Authentication is required but the lookup fails. |
| 3D Secure supported | 4000 0000 0000 3055 | Authentication may happen but is not required. |
| 3D Secure supported, error | 4000 0000 0000 3097 | Authentication may happen and results in an error. |
| 3D Secure frictionless | 4000 0000 3220 0000 | Required on all payments; the frictionless flow succeeds. |
| Always blocked | 4100 0000 0000 0019 | Risk level highest. Radar always blocks the payment. |
| Highest risk | 4000 0000 0000 4954 | Risk level highest. Radar might block it. |
| Elevated risk | 4000 0000 0000 9235 | Risk level elevated. Radar might queue it for review. |
| CVC check fails | 4000 0000 0000 0101 | If you give a CVC, the CVC check fails. |
| Postal code check fails | 4000 0000 0000 0036 | If you give a postal code, the check fails. |
| Address line 1 check fails | 4000 0000 0000 0028 | The address line 1 check fails. |
| Address checks fail | 4000 0000 0000 0010 | Both address checks fail. |
| Address checks unavailable | 4000 0000 0000 0044 | Both address checks are unavailable. |
| Fraudulent dispute (asynchronous) | 4061 2199 4639 3810 | Payment succeeds; a fraudulent dispute is created afterwards. |
| Fraudulent dispute (synchronous) | 4000 0000 0000 0259 | Payment succeeds; the dispute is created during the request. |
| Product not received dispute | 4000 0000 0000 2685 | Payment succeeds; disputed as product not received. |
| Dispute enquiry | 4000 0000 0000 1976 | Payment succeeds; disputed as an enquiry. |
| Early fraud warning | 4000 0000 0000 5423 | Payment succeeds; receives an early fraud warning. |
| Multiple disputes | 4000 0004 0400 0079 | Payment succeeds; disputed more than once. |
| Refund starts pending, then succeeds | 4000 0000 0000 7726 | Charge succeeds; the refund begins pending and moves to succeeded. |
| Refund succeeds, then fails | 4000 0000 0000 5126 | Charge succeeds; the refund begins succeeded and moves to failed. |
| Skip the pending balance (US) | 4000 0000 0000 0077 | Funds go straight to the available balance. |
| Skip the pending balance (international) | 4000 0037 2000 0278 | Funds go straight to the available balance. |
For every card: any future expiry date (for example 12/34), any 3-digit CVC (4 digits for American Express), and any other details. Numbers from Stripe's testing page, checked 2026-10-31. Use them with test API keys only.
How to use a Stripe test card
- Switch to test mode. Stripe’s rule is to use test API keys in every call, and its agreement prohibits testing in live mode with real payment details. Never type a real card number into a test.
- Open your checkout and enter a test card number from the picker.
- Enter any future expiry date, for example 12/34. Use any 3-digit CVC, or 4 digits for American Express. Anything is accepted for the other fields, unless you are testing a card that checks them.
- Submit the payment and check the result: the buyer sees the success page or the error, and the payment appears in your Stripe test data.
A card’s state can carry over between tests, so use a different card for each independent scenario. Cards that simulate declines cannot be attached to a Stripe Customer, with one exception: 4000 0000 0000 0341 attaches and then declines the charge.
Which test card should I use?
- Checking that a sale goes through:
4242 4242 4242 4242(Visa) or5555 5555 5555 4444(Mastercard). - Checking the decline message:
4000 0000 0000 0002gives a generic decline.4000 0000 0000 9995declines for insufficient funds. - Checking 3D Secure:
4000 0027 6000 3184asks for authentication on every transaction.4000 0000 0000 3220requires authentication and succeeds once it is completed. - Checking an address or CVC rule:
4000 0000 0000 0101fails the CVC check and4000 0000 0000 0036fails the postal code check. - Checking how you handle chargebacks:
4000 0000 0000 0259succeeds and creates a fraudulent dispute during the request. - Checking an American Express field:
3782 822463 10005, with a 4-digit CVC.
Invalid input without a special card
Stripe also lists errors you can trigger with ordinary numbers and odd values rather than a special card:
| Error | How to trigger it |
|---|---|
invalid_expiry_month |
Use month 13 |
invalid_expiry_year |
Use a year far in the future, such as 95 |
invalid_cvc |
Use a 2-digit CVC, such as 99 |
incorrect_number |
Use a number that fails the Luhn check, such as 4242 4242 4242 4241 |
Test a full Plandalf checkout
A single test card tells you the processor works. A buyer’s path has more steps: the price, any order bump or upsell, a coupon or a deadline price, and what happens after the payment. If your checkout is built in Plandalf on Stripe, run each of those with a test card:
- Run the checkout in test mode and pay with
4242 4242 4242 4242. The hosted checkout guide covers connecting a test Stripe account and opening the test link. If you use the SDK,mode: "test"is the option; the going live guide shows it. - Confirm the checkout is really in test mode before you type card details. Plandalf’s SDK identity docs warn that a session marked as test can fall back to a live Stripe connection if no test connection exists.
- Turn on Run on test purchases for any automation you want to check, because test purchases skip automation sequences unless it is enabled.
- Pay once with a failing card, such as
4000 0000 0000 9995, to see what your buyer sees when a payment declines. - If you run a deadline promo, buy on both sides of the deadline and compare the charged amount with the price you expect. Plandalf’s promo guide recommends this.
- Read the checkout testing steps, then reconcile the test payment with the Plandalf invoice before you go live.
To work out what each of those live sales will cost you, use the Stripe fee calculator. For the end-to-end setup, see how to sell digital products.
FAQ
What is the Stripe test card number?
4242 4242 4242 4242, a Visa card that always succeeds. Use any future expiry date, any 3-digit CVC and any other details.
What expiry date and CVC do I use for a Stripe test card?
Any valid future expiry date, for example 12/34, and any 3-digit CVC. American Express test cards take a 4-digit CVC.
How do I test a declined card in Stripe?
Use 4000 0000 0000 0002 for a generic decline. For a specific reason, use 4000 0000 0000 9995 (insufficient funds), 4000 0000 0000 9987 (lost card), 4000 0000 0000 9979 (stolen card) or 4000 0000 0000 0069 (expired card).
How do I test 3D Secure with Stripe?
Use a 3D Secure test card. 4000 0027 6000 3184 requires authentication on every transaction, 4000 0000 0000 3220 requires it and succeeds when completed, and 4000 0084 0000 1629 requires it and then declines. The picker above lists the rest.
Can I use a real card in Stripe test mode?
No. Stripe says to use test API keys and test card numbers only, and its Services Agreement prohibits testing in live mode with real payment method details.
Do Stripe test cards work in live mode?
They are for test mode with test API keys. Stripe’s documentation says to use test keys for test cards, and to switch to live keys and real payment details only when you take real payments.




