Stripe test card numbers are published sandbox values that simulate card payments without moving real money. The standard success card is 4242 4242 4242 4242 for Visa, while 4000 0000 0000 0002 always returns a generic decline. Any future expiration date, any three-digit CVC (four digits for American Express), and any billing ZIP code will pass validation in test mode.

more on this topic

Which test card numbers does Stripe provide?

Stripe groups its cards by brand so you can confirm that each logo, input format, and validation rule renders correctly at checkout.

synonym stripe fake card number generator

  • Visa: 4242 4242 4242 4242 (credit) and 4000 0566 5566 5556 (debit)
  • Mastercard: 5555 5555 5555 4444 (credit) and 5200 8282 8282 8210 (debit)
  • American Express: 3782 822463 10005 and 3714 496353 98431
  • Discover: 6011 1111 1111 1117
  • Diners Club: 3056 9300 0902 0004
  • JCB: 3566 0020 2036 0505
  • UnionPay: 6200 0000 0000 0005

How do you run a test payment in Stripe?

  1. Switch the dashboard to test mode and use test API keys, which start with pk_test_ and sk_test_.
  2. Enter one of the numbers above in your checkout form.
  3. Add any future expiration date, such as 12/34, plus any CVC value.
  4. Submit the payment and confirm the outcome in the Stripe Dashboard or in your webhook logs.

Live keys reject these numbers, and test keys reject real cards. That separation is the main safeguard that keeps experiments out of production data.

more on this topic

Which Stripe test cards trigger declines and errors?

Stripe reserves specific numbers for failure paths so you can exercise error handling and retry logic before launch.

more on this topic

  • 4000 0000 0000 0002: generic card decline
  • 4000 0000 0000 9995: insufficient funds
  • 4000 0000 0000 0069: expired card
  • 4000 0000 0000 0127: incorrect CVC
  • 4000 0000 0000 0119: processing error
  • 4000 0000 0000 0341: attaches to a customer, then fails on charge

Each number maps to a decline code such as card_declined or incorrect_cvc, which your application should translate into plain customer-facing language.

How do you test 3D Secure and authentication flows?

Stripe also ships cards that force a challenge or return a frictionless result, including 4000 0025 0000 3155 for authentication required and 4000 0000 0000 3220 for 3D Secure 2 support.

These let you verify the redirect, the challenge frame, and the post-authentication webhook well before go-live.

Are Stripe test card numbers safe to use?

Yes, but only inside a test environment. These numbers are published by Stripe for developers, they belong to no real cardholder account, and they cannot be charged.

Never key a real card number into a test-mode flow, and never use test numbers to probe a live system, since both break card network rules. Sensitive authentication data such as the CVC must never be stored after authorization under PCI DSS.