Stripe Test Cards
Every Stripe test card number, searchable and one click to copy — successful payments, declines by code, fraud and Radar triggers, disputes, 3D Secure, international cards, and pm_ tokens.
4242 4242 4242 4242Visa · succeeds · any CVC · any future expiry · any ZIP135 cards
Successful payments
- Visa
- Visa (debit)
- Mastercard
- Mastercard (2-series)
- Mastercard (debit)
- Mastercard (prepaid)
- American ExpressAny 4 digits
- American ExpressAny 4 digits
- Discover
- Discover
- Discover (debit)
- Diners Club
- Diners Club (14-digit)
- BCcard and DinaCard
- JCB
- UnionPay
- UnionPay (debit)
- UnionPay (19-digit)
- Cartes Bancaires / Visa
- Cartes Bancaires / Mastercard
- eftpos Australia / Visa
- eftpos Australia / Mastercard
By country
- United States — Visa
- Argentina — Visa
- Brazil — Visa
- Canada — Visa
- Chile — Visa
- Colombia — Visa
- Costa Rica — Visa
- Ecuador — Visa
- Mexico — Visa
- Mexico — Carnet
- Panama — Visa
- Paraguay — Visa
- Peru — Visa
- Uruguay — Visa
- United Arab Emirates — Visa
- United Arab Emirates — Mastercard
- Austria — Visa
- Belgium — Visa
- Bulgaria — Visa
- Belarus — Visa
- Croatia — Visa
- Cyprus — Visa
- Czech Republic — Visa
- Denmark — Visa
- Estonia — Visa
- Finland — Visa
- France — Visa
- Germany — Visa
- Gibraltar — Visa
- Greece — Visa
- Hungary — Visa
- Ireland — Visa
- Italy — Visa
- Latvia — Visa
- Liechtenstein — Visa
- Lithuania — Visa
- Luxembourg — Visa
- Malta — Visa
- Netherlands — Visa
- Norway — Visa
- Poland — Visa
- Portugal — Visa
- Romania — Visa
- Saudi Arabia — Visa
- Slovenia — Visa
- Slovakia — Visa
- Spain — Visa
- Sweden — Visa
- Switzerland — Visa
- United Kingdom — Visa
- United Kingdom — Visa (debit)
- United Kingdom — Mastercard
- Australia — Visa
- China — Visa
- Hong Kong — Visa
- India — Visa
- Japan — Visa
- Japan — JCB
- Malaysia — Visa
- New Zealand — Visa
- Singapore — Visa
- Taiwan — Visa
- Thailand — Visa (credit)
- Thailand — Visa (debit)
Declined payments
- Generic declinegeneric_decline
- Insufficient fundsinsufficient_funds
- Lost cardlost_card
- Stolen cardstolen_card
- Expired cardexpired_card
- Incorrect CVCincorrect_cvc
Provide any 3-digit CVC — the check fails. Omit the CVC and Stripe skips the check.
- Processing errorprocessing_error
- Incorrect number (fails Luhn)incorrect_number
- Velocity limit exceededcard_velocity_exceeded
- Attaches to customer, then declines
Attaching to a Customer succeeds, but every charge attempt fails.
Fraud & Radar
- Always blocked (highest risk)fraudulent
Risk level "highest" — Radar always blocks the charge.
- Highest risk
Risk level "highest" — Radar may block depending on your settings.
- Elevated risk
Risk level "elevated" — Radar may queue it for review.
- High fraud dispute score
Radar may block depending on your settings.
- High early fraud warning score
Radar may block depending on your settings.
- Dynamic risk thresholds
Blocked when the Dynamic risk thresholds control is enabled.
- Free trial abuse
Blocked when the free trial abuse risk control is enabled.
- Adaptive 3DS trigger
Radar requests 3DS authentication when Adaptive 3DS is enabled.
- CVC check fails
If you provide a CVC, the CVC check fails.
- Postal code check fails
If you provide a postal code, the check fails.
- CVC check fails, elevated risk
- Postal code check fails, elevated risk
- Address line 1 check fails
Payment succeeds unless blocked by a custom Radar rule.
- Address checks fail (line 1 + ZIP)
- Address checks unavailable
Payment succeeds unless blocked by a custom Radar rule.
Disputes
- Dispute: fraudulent
Charge succeeds, then is disputed as fraudulent.
- Dispute: product not received
Charge succeeds, then is disputed as product not received.
- Dispute: inquiry
Charge succeeds, then receives an inquiry.
- Early fraud warning
Charge succeeds, then receives an early fraud warning.
- Multiple disputes
- Visa Compelling Evidence 3.0
- Visa compliance dispute
- Mastercard compliance dispute
- Smart Disputes eligible
3D Secure
- Authenticate unless set up
Requires authentication for off-session payments until set up for future payments; on-session always requires authentication.
- Always authenticate
Requires authentication on every transaction.
- Already set up for off-session
Off-session payments succeed; on-session payments require authentication.
- Authenticate, then insufficient fundsinsufficient_funds
Authentication succeeds but every payment declines with insufficient_funds.
- 3DS required → OK (IE-issued)
Authentication must be completed for the payment to succeed.
- 3DS required → OK (US-issued)
- 3DS required → declined after authcard_declined
- 3DS required → lookup errorcard_declined
- 3DS supported, not required
- 3DS supported → processing error
- 3DS frictionless flow → OK
Authentication required on all transactions; proceeds through a frictionless flow and succeeds.
3DS mobile challenge
- Challenge: out of band
- Challenge: one-time passcode
- Challenge: single select
- Challenge: multi select
Unless noted: use any CVC (4 digits for Amex), any future expiry date, and any postal code. Test cards only work with test-mode API keys — they are always declined in live mode.
Frequently asked questions
What is 4242 4242 4242 4242?
It is Stripe’s standard Visa test card. In test mode it always produces a successful payment, with any CVC, any future expiry date, and any postal code. It only works with test-mode API keys — in live mode it is always declined.
What CVC and expiry date do I use with Stripe test cards?
Any CVC works (3 digits, or 4 digits for American Express) and any future date is a valid expiry. Two exceptions: the incorrect-CVC card (4000000000000127) fails when you supply a CVC, and CVC-check cards only run the check if a CVC is provided.
How do I test declined payments in Stripe?
Use a decline test card matching the scenario you want: 4000000000000002 for a generic decline, 4000000000009995 for insufficient funds, 4000000000000069 for an expired card, and so on. Each returns the real error code and decline code your integration will see in production.
Do Stripe test cards work in live mode?
No. Test cards are rejected with a live-mode error. The reverse is also true — real cards are not charged in test mode. If a test card is being declined, check that you are using your test-mode (sk_test_/pk_test_) keys.
What are pm_card_visa and other pm_ tokens?
They are pre-built test PaymentMethod tokens you can pass directly to the API (for example payment_method: "pm_card_visa") without collecting card details through a frontend. Most test cards here have an equivalent pm_ token — shown under each card with its own copy button.
How do I test 3D Secure with Stripe?
Use the 3D Secure cards: 4000002760003184 requires authentication on every transaction, 4000002500003155 requires it until the card is set up for future payments, and 4000008400001629 authenticates but then declines. Note that 3DS redirects don’t trigger for payments created in the Stripe Dashboard — test through your own integration.