Checkout

Stripe test cards: numbers for every scenario

Free Stripe test card picker: copy the number for a successful payment, a decline, 3D Secure, a fraud check, a dispute or a refund. Checked against Stripe's docs.

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

CardNumberWhat happens
Visa4242 4242 4242 4242Payment succeeds. 3D Secure supported but the card is not enrolled, so no authentication.
Visa (debit)4000 0566 5566 5556Payment succeeds.
Mastercard5555 5555 5555 4444Payment succeeds.
Mastercard (2-series)2223 0031 2200 3222Payment succeeds.
Mastercard (debit)5200 8282 8282 8210Payment succeeds.
Mastercard (prepaid)5105 1051 0510 5100Payment succeeds.
American Express3782 822463 10005Payment succeeds. Use a 4-digit CVC. 3D Secure is not supported.
American Express (second)3714 496353 98431Payment succeeds. Use a 4-digit CVC.
Discover6011 1111 1111 1117Payment succeeds.
Discover (second)6011 0009 9013 9424Payment succeeds.
Discover (debit)6011 9811 1111 1113Payment succeeds.
Diners Club3056 9300 0902 0004Payment succeeds.
Diners Club (14-digit)3622 7206 2716 67Payment succeeds.
JCB3566 0020 2036 0505Payment succeeds.
UnionPay6200 0000 0000 0005Payment succeeds.
UnionPay (debit)6200 0000 0000 0047Payment succeeds.
UnionPay (19-digit)6205 5000 0000 0000 004Payment succeeds.
Cartes Bancaires / Visa4000 0025 0000 1001Payment succeeds. Co-branded card.
Cartes Bancaires / Mastercard5555 5525 0000 1001Payment succeeds. Co-branded card.
eftpos Australia / Visa4000 0503 6000 0001Payment succeeds. Co-branded card.
eftpos Australia / Mastercard5555 0503 6000 0080Payment succeeds. Co-branded card.
Generic decline4000 0000 0000 0002Error code card_declined, decline code generic_decline.
Insufficient funds4000 0000 0000 9995Error code card_declined, decline code insufficient_funds.
Lost card4000 0000 0000 9987Error code card_declined, decline code lost_card.
Stolen card4000 0000 0000 9979Error code card_declined, decline code stolen_card.
Expired card4000 0000 0000 0069Error code expired_card.
Incorrect CVC4000 0000 0000 0127Error code incorrect_cvc.
Processing error4000 0000 0000 0119Error code processing_error.
Incorrect number4242 4242 4242 4241Error code incorrect_number (fails the Luhn check).
Exceeding velocity limit4000 0000 0000 6975Error code card_declined, decline code card_velocity_exceeded.
Decline after attaching4000 0000 0000 0341Attaches to a customer, then the charge is declined. The only decline card Stripe lets you attach to a Customer.
3D Secure: authenticate unless set up4000 0025 0000 3155Needs authentication for off-session payments unless the card was set up; on-session payments always need it.
3D Secure: always authenticate4000 0027 6000 3184Needs authentication on every transaction.
3D Secure: already set up4000 0038 0000 0446Set up for off-session use; one-time and on-session payments still need authentication.
3D Secure: insufficient funds4000 0082 6000 3178Needs authentication; every payment then declines with insufficient_funds.
3D Secure required (Ireland-issued)4000 0000 0000 3220Authentication must be completed. Succeeds.
3D Secure required (US-issued)4000 0084 0000 0027Authentication must be completed. Succeeds.
3D Secure required, then declined4000 0084 0000 1629Authentication is required, then the payment is declined.
3D Secure required, lookup error4000 0084 0000 1280Authentication is required but the lookup fails.
3D Secure supported4000 0000 0000 3055Authentication may happen but is not required.
3D Secure supported, error4000 0000 0000 3097Authentication may happen and results in an error.
3D Secure frictionless4000 0000 3220 0000Required on all payments; the frictionless flow succeeds.
Always blocked4100 0000 0000 0019Risk level highest. Radar always blocks the payment.
Highest risk4000 0000 0000 4954Risk level highest. Radar might block it.
Elevated risk4000 0000 0000 9235Risk level elevated. Radar might queue it for review.
CVC check fails4000 0000 0000 0101If you give a CVC, the CVC check fails.
Postal code check fails4000 0000 0000 0036If you give a postal code, the check fails.
Address line 1 check fails4000 0000 0000 0028The address line 1 check fails.
Address checks fail4000 0000 0000 0010Both address checks fail.
Address checks unavailable4000 0000 0000 0044Both address checks are unavailable.
Fraudulent dispute (asynchronous)4061 2199 4639 3810Payment succeeds; a fraudulent dispute is created afterwards.
Fraudulent dispute (synchronous)4000 0000 0000 0259Payment succeeds; the dispute is created during the request.
Product not received dispute4000 0000 0000 2685Payment succeeds; disputed as product not received.
Dispute enquiry4000 0000 0000 1976Payment succeeds; disputed as an enquiry.
Early fraud warning4000 0000 0000 5423Payment succeeds; receives an early fraud warning.
Multiple disputes4000 0004 0400 0079Payment succeeds; disputed more than once.
Refund starts pending, then succeeds4000 0000 0000 7726Charge succeeds; the refund begins pending and moves to succeeded.
Refund succeeds, then fails4000 0000 0000 5126Charge succeeds; the refund begins succeeded and moves to failed.
Skip the pending balance (US)4000 0000 0000 0077Funds go straight to the available balance.
Skip the pending balance (international)4000 0037 2000 0278Funds 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

  1. 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.
  2. Open your checkout and enter a test card number from the picker.
  3. 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.
  4. 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) or 5555 5555 5555 4444 (Mastercard).
  • Checking the decline message: 4000 0000 0000 0002 gives a generic decline. 4000 0000 0000 9995 declines for insufficient funds.
  • Checking 3D Secure: 4000 0027 6000 3184 asks for authentication on every transaction. 4000 0000 0000 3220 requires authentication and succeeds once it is completed.
  • Checking an address or CVC rule: 4000 0000 0000 0101 fails the CVC check and 4000 0000 0000 0036 fails the postal code check.
  • Checking how you handle chargebacks: 4000 0000 0000 0259 succeeds 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.

Newsletter

Get new posts by email.

Checkout teardowns, pricing notes and product updates. Only when there is something worth reading.

No spam. Unsubscribe with one click. Prefer a feed? RSS or Atom

The team

Built by a team obsessed with conversion.

AarogornBilbertBuildoFoundoLegoli

15+ years testing every pricing model under the sun. Every part of Plandalf comes from a real checkout problem we’ve had to solve ourselves.

No credit card required. Nothing to migrate.

Feature detail