Stripe test cards
Use any future expiry, any CVC, and any ZIP. Test cards only work in test mode.
Most used
- VisaSucceedsThe classic Stripe test card. Payment succeeds immediately.
- Generic declineDeclinesVisageneric_decline
- Insufficient fundsDeclinesVisainsufficient_funds
- 3DS required3DS challengeVisaRequires authentication on every transaction, regardless of how the card was set up.
- 3DS2 challenge flow3DS challengeVisaTriggers the full 3D Secure 2 challenge window.
- MastercardSucceeds
All cards
- Visa (debit)SucceedsFunding shows as debit.
- Mastercard (2-series)SucceedsUses the newer 2-series BIN range (starts with 2223).
- Mastercard (debit)SucceedsFunding shows as debit.
- Mastercard (prepaid)SucceedsFunding shows as prepaid.
- American ExpressSucceeds15-digit number with a 4-digit CVC.
- American Express (2)Succeeds
- DiscoverSucceeds
- Discover (2)Succeeds
- Diners ClubSucceeds
- Diners Club (14-digit)SucceedsTests 14-digit card numbers.
- JCBSucceeds
- UnionPaySucceeds
- UnionPay (debit)SucceedsFunding shows as debit.
- UnionPay (19-digit)SucceedsTests 19-digit card numbers.
- Lost cardDeclinesVisalost_card
- Stolen cardDeclinesVisastolen_card
- Expired cardDeclinesVisaexpired_card
- Incorrect CVCDeclinesVisaincorrect_cvc
- Processing errorDeclinesVisaprocessing_error
- Incorrect numberDeclinesVisaincorrect_numberFails the Luhn check. Use it to test number validation in your form.
- Velocity limit exceededDeclinesVisacard_velocity_exceeded
- Always blocked (fraud)DeclinesVisafraudulentRadar blocks the charge as fraudulent.
- CVC check failsSucceedsVisaincorrect_cvcCharge succeeds unless you block on failed CVC checks; the CVC check is reported as failed.
- ZIP check failsSucceedsVisaincorrect_zipCharge succeeds; the postal code check is reported as failed.
- Address & ZIP checks failSucceedsVisaincorrect_addressCharge succeeds; address and postal code checks both fail.
- 3DS required for setup3DS challengeVisaRequires authentication when saving the card for future payments.
- Declined after authentication3DS challengeVisaAuthentication succeeds, then the charge is declined.
- 3DS supported, not requiredSucceedsVisaSupports 3D Secure but completes without a challenge (frictionless).
- Off-session after setup3DS challengeVisaAuthenticate during setup, then off-session charges succeed without a challenge.
- United KingdomSucceedsVisa
- United Kingdom (debit)SucceedsVisa
- CanadaSucceedsVisa
- AustraliaSucceedsVisa
- BrazilSucceedsVisa
- MexicoSucceedsVisa
- GermanySucceedsVisa
- FranceSucceedsVisa
- JapanSucceedsVisa
- IndiaSucceedsVisa
- SingaporeSucceedsVisa
- ItalySucceedsVisa
- SpainSucceedsVisa
- NetherlandsSucceedsVisa
- IrelandSucceedsVisa
- SwitzerlandSucceedsVisa
- New ZealandSucceedsVisa
- Dispute (fraudulent)DisputedVisaCharge succeeds, then is disputed as fraudulent.
- Dispute (product not received)DisputedVisaCharge succeeds, then is disputed as product not received.
- Dispute inquiryDisputedVisaCharge succeeds, then an inquiry is opened.
- Refund failsSucceedsVisaCharge succeeds, but refunding it asynchronously fails.
Verified against Stripe docs on 2026-08-16. docs.stripe.com/testing
Learn about test mode
How to use Stripe test cards
How do Stripe test cards work?
Test cards only work with your test-mode API keys (keys starting with pk_test_ and sk_test_). Use any future expiry date, any CVC, and any ZIP code with the numbers above. No real money moves, and the cards do nothing in live mode.
How do I test a declined payment?
Pick a card from the declines tab. Each one triggers a specific decline code, so you can check that your checkout shows the right error message for insufficient funds, an expired card, or a generic decline.
How do I test 3D Secure?
Use a card from the 3D Secure tab. Stripe shows a test authentication window with buttons to complete or fail the challenge, so you can test both outcomes without a real bank.
Beyond a single charge
Test more than one payment
Testing subscriptions and trials
The same cards work for recurring payments. To simulate renewals, trial endings, and failed renewal payments without waiting, use Stripe test clocks, which fast-forward time for a test customer.
Testing webhooks locally
Card payments trigger the same webhook events in test mode. Run stripe listen --forward-to localhost:3000/webhook with the Stripe CLI to receive them locally, then create a test payment from your terminal with a PaymentMethod token such as pm_card_visa.
Selling with Stripe?
Checkout Page gives you a hosted checkout built on your own Stripe account. Create a checkout, run a test payment with the cards above, and go live when it looks right, all without writing code.
No credit card required. Cancel anytime.
Common questions
Frequently asked questions about Stripe test cards
More free tools
Related tools
All tools
Browse every free tool we’ve built for merchants.
Stripe fee calculator
Work out Stripe processing fees for any country and payment method.
PayPal fee calculator
Work out PayPal fees by transaction type, including invoicing and micropayments.
Square fee calculator
Compare Square fees for in-person, online, keyed, and invoice payments.