Payment Test Cards

Official test card numbers for Stripe, Adyen, Braintree, PayPal, Checkout.com and Square — success, declines and 3-D Secure

Test mode only (test API keys). Any future expiry date and any 3-digit CVC — 4 digits for American Express.

Stripe testing docs
Card numberBrandResultExpiry / CVC
4242 4242 4242 4242VisaSucceedsAny future · Any
4000 0566 5566 5556Visa (debit)SucceedsAny future · Any
5555 5555 5555 4444MastercardSucceedsAny future · Any
2223 0031 2200 3222Mastercard (2-series)SucceedsAny future · Any
5200 8282 8282 8210Mastercard (debit)SucceedsAny future · Any
5105 1051 0510 5100Mastercard (prepaid)SucceedsAny future · Any
3782 822463 10005American ExpressSucceedsAny future · Any 4 digits
6011 1111 1111 1117DiscoverSucceedsAny future · Any
3056 9300 0902 0004Diners ClubSucceedsAny future · Any
3622 720627 1667Diners Club (14-digit)SucceedsAny future · Any
3566 0020 2036 0505JCBSucceedsAny future · Any
6200 0000 0000 0005UnionPaySucceedsAny future · Any
4000 0000 0000 0002Visacard_declined · generic_declineAny future · Any
4000 0000 0000 9995Visacard_declined · insufficient_fundsAny future · Any
4000 0000 0000 9987Visacard_declined · lost_cardAny future · Any
4000 0000 0000 9979Visacard_declined · stolen_cardAny future · Any
4000 0000 0000 0069Visaexpired_cardAny future · Any
4000 0000 0000 0127Visaincorrect_cvcAny future · Any
4000 0000 0000 0119Visaprocessing_errorAny future · Any
4242 4242 4242 4241Visaincorrect_number (fails the Luhn check on purpose)Any future · Any
4000 0000 0000 6975Visacard_declined · card_velocity_exceededAny future · Any
4000 0025 0000 3155VisaRequires authentication unless the card was set up for future paymentsAny future · Any
4000 0027 6000 3184VisaAlways requires authenticationAny future · Any
4000 0000 0000 3220Visa3DS required; succeeds after authenticationAny future · Any
4000 0084 0000 1629Visa3DS required; declined (card_declined) after authenticationAny future · Any
4000 0000 3220 0000Visa3DS on every payment, frictionless flow; succeedsAny future · Any
4100 0000 0000 0019VisaAlways blocked by Radar (highest risk)Any future · Any
4000 0000 0000 0101VisaCVC check fails when a CVC is providedAny future · Any
4000 0000 0000 0036VisaPostal code check fails when a postal code is providedAny future · Any
4000 0000 0000 0259VisaSucceeds, then a fraudulent dispute is createdAny future · Any
4000 0000 0000 2685VisaSucceeds, then disputed as product not receivedAny future · Any
4000 0000 0000 5423VisaSucceeds, then gets an early fraud warningAny future · Any
4000 0000 0000 0077VisaSucceeds; funds skip the pending balanceAny future · Any
4000 0000 0000 7726VisaRefunds start pending, then succeed asynchronouslyAny future · Any

Copied from each provider's testing docs on 31 October 2026. These numbers only work in that provider's test mode or sandbox — they're not real cards and are declined everywhere else. Need random, Luhn-valid numbers to test your own form validation instead? Use the Credit Card Test Generator — but don't send those to a payment provider: test mode only accepts its own listed numbers.

Was the Payment Test Cards helpful?

Get new tools in your inbox

About once a month, when new tools ship. No spam, one-click unsubscribe.

We store only your email to send these updates. Privacy

About this tool

Payment Test Cards lists the official test card numbers from Stripe, Adyen, Braintree, PayPal, Checkout.com and Square in one place — the ones that make a test payment succeed, get declined with a specific reason, trigger 3-D Secure, or simulate fraud and disputes. Each card shows the expiry and CVC that provider expects, which is where most failed sandbox tests come from (Adyen, for example, wants 03/2030 and 737). These numbers only work in each provider's test mode or sandbox. A random Luhn-valid number from a generator will be declined there, because test environments only recognize their own listed numbers. All numbers are copied from the providers' testing documentation, linked on every tab.

When to use it

  • →Testing a checkout flow end to end in Stripe test mode or another sandbox
  • →Making a payment fail on purpose: insufficient funds, expired card, incorrect CVC
  • →Triggering 3-D Secure / SCA challenges to test the authentication screen
  • →Testing webhooks for disputes, fraud warnings and asynchronous refunds
  • →Writing QA test plans with the right card for each scenario

Tips

  • ◆Use the expiry and CVC listed for the card — some providers refuse other values.
  • ◆Braintree simulates most declines by amount (2000.00–2999.99) and PayPal by a trigger in the name field, not by card number.
  • ◆Never test with a real card in a sandbox, and never use these numbers in live mode — they're declined there.
  • ◆For form validation tests that don't hit a provider, generate Luhn-valid numbers with the Credit Card Test Generator instead.

Frequently asked questions

Why is my generated test card declined by Stripe?

Stripe's test mode only accepts its own test numbers, like 4242 4242 4242 4242. Numbers from a generator are Luhn-valid but unknown to Stripe, so they're rejected. Use the numbers listed for your provider here.

What expiry date and CVC should I use?

For Stripe, Braintree, PayPal and Checkout.com any future date and any 3-digit CVC (4 for American Express) works. Adyen expects 03/2030 and 737 (7373 for Amex), and Square lists a CVV for each card.

Can these numbers be used for real purchases?

No. They aren't real cards and only work inside each provider's test environment. Everywhere else they're declined.

Guides

Related tools

ToolNinja