Test card numbers by scenario
Every gateway simulates outcomes differently. Some use special card numbers, others a value in the cardholder name, the amount or the billing ZIP code. This table shows how to trigger the six scenarios most test plans need. Use any future expiry date and any CVV unless a note says otherwise.
Successful payment (Visa)
| Gateway | Test card or trigger | Notes | Copy |
|---|---|---|---|
| Stripe | 4242 4242 4242 4242 | any future expiry, any CVC | |
| PayPal | 4012 8888 8888 1881 | ||
| Braintree | 4111 1111 1111 1111 | outcome set by amount: 0.01–1999.99 succeeds | |
| Adyen | 4111 1111 1111 1111 | expiry 03/2030, CVC 737 | |
| Square | 4111 1111 1111 1111 | CVV 111 | |
| Authorize.net | 4111 1111 1111 1111 | ||
| Razorpay | 4100 2800 0000 1007 | domestic; OTP of 4–10 digits | |
| Checkout.com | 4242 4242 4242 4242 | ||
| Shopify | 4242 4242 4242 4242 | Shopify Payments test mode; two-word name | |
| Worldpay | 4444 3333 2222 1111 | Try environment | |
| Cybersource | 4111 1111 1111 1111 | ||
| Mollie | 4543 4740 0224 9996 | choose “paid” on the test screen | |
| Mercado Pago | 4235 6477 2802 5682 | Brazil; cardholder name APRO | |
| 2Checkout | 4111 1111 1111 1111 | cardholder name John Doe | |
| Klarna | 4111 1111 1111 1111 | CVC 123 in the Klarna widget |
Generic decline
| Gateway | Test card or trigger | Notes | Copy |
|---|---|---|---|
| Stripe | 4000 0000 0000 0002 | card_declined / generic_decline | |
| PayPal | Name on card: CCREJECT-REFUSED | response 0500 DO_NOT_HONOR | |
| Braintree | Amount 2000.00 | processor response 2000 Do Not Honor | |
| Adyen | holderName: DECLINED | resultCode Refused | |
| Square | 4000 0000 0000 0002 | card declined | |
| Authorize.net | Billing ZIP 46282 | response code 2, declined | |
| Razorpay | 4100 2800 0006 0003 | select Failure; card_declined | |
| Checkout.com | 4539 4679 8710 9256 | 20005 Declined – Do not honour | |
| Shopify | 4000 0000 0000 0002 | card declined | |
| Worldpay | cardHolderName: REFUSED | outcome refused | |
| Mollie | Amount €1,011.00, then choose failed | failureReason card_declined | |
| Mercado Pago | Cardholder name: OTHE | declined for general error | |
| Flutterwave | 5143 0105 2233 9965 | do not honour; PIN 3310, OTP 12345 | |
| Klarna | Email customer+de+denied@klarna.com | hard decline (not testable in every market) |
Insufficient funds
| Gateway | Test card or trigger | Notes | Copy |
|---|---|---|---|
| Stripe | 4000 0000 0000 9995 | decline code insufficient_funds | |
| PayPal | Name on card: CCREJECT-IF | response 5120 INSUFFICIENT_FUNDS | |
| Braintree | Amount 2001.00 | processor response 2001 | |
| Adyen | holderName: NOT_ENOUGH_BALANCE | refusalReason Not enough balance | |
| Razorpay | 4100 2800 0008 0001 | select Failure; insufficient_fund | |
| Checkout.com | 4544 2491 6767 3670 | 20051 Insufficient funds | |
| Shopify | 4000 0000 0000 9995 | insufficient funds | |
| Worldpay | cardHolderName: REFUSED51 | code 51, limit exceeded | |
| Mollie | Amount €1,007.00, then choose failed | failureReason insufficient_funds | |
| Mercado Pago | Cardholder name: FUND | declined for insufficient amount | |
| Flutterwave | 5258 5859 2266 6506 | PIN 3310, OTP 12345 | |
| 2Checkout | Cardholder name: Mona Doe | insufficient funds |
Expired card
| Gateway | Test card or trigger | Notes | Copy |
|---|---|---|---|
| Stripe | 4000 0000 0000 0069 | error code expired_card | |
| PayPal | Name on card: CCREJECT-EC | response 5400 EXPIRED_CARD | |
| Braintree | Amount 2004.00 | processor response 2004 | |
| Adyen | holderName: CARD_EXPIRED | refusalReason Expired Card | |
| Square | Expiry 01/40 | card expiration date incorrect | |
| Shopify | 4000 0000 0000 0069 | expired card | |
| Worldpay | cardHolderName: REFUSED33 | code 33, card expired | |
| Mollie | Amount €1,004.00, then choose failed | failureReason card_expired | |
| Mercado Pago | Cardholder name: EXPI | declined due to due date issue | |
| 2Checkout | Cardholder name: Angela Doe | expired card |
Incorrect CVC / CVV
| Gateway | Test card or trigger | Notes | Copy |
|---|---|---|---|
| Stripe | 4000 0000 0000 0127 | error code incorrect_cvc | |
| PayPal | Name on card: CCREJECT-CVV_F | response 00N7 | |
| Braintree | CVV 200 (CID 2000) | CVV response N; needs CVV rules enabled | |
| Adyen | holderName: CVC_DECLINED | refusalReason CVC Declined | |
| Square | CVV 911 | card CVV incorrect | |
| Authorize.net | Card code 901 | CVV response N (does not match) | |
| Checkout.com | 4734 8689 5873 3862 | 200N7 Decline for CVV2 failure | |
| Shopify | 4000 0000 0000 0127 | incorrect CVC | |
| Worldpay | CVC 444 (Amex 4444) | CVC check failed (riskFactors) | |
| Mollie | Amount €1,002.00, then choose failed | failureReason invalid_cvv | |
| Mercado Pago | Cardholder name: SECU | declined for invalid security code | |
| 2Checkout | Cardholder name: Jack Doe | invalid CVV |
3D Secure challenge
| Gateway | Test card or trigger | Notes | Copy |
|---|---|---|---|
| Stripe | 4000 0027 6000 3184 | authentication required on all transactions | |
| PayPal | 4868 7191 6610 1368 | test case 7: successful step-up | |
| Braintree | 4000 0000 0000 2503 | successful challenge; expiry 01 / current year + 3 | |
| Adyen | 4212 3456 7891 0006 | challenge; password “password” | |
| Square | 4310 0000 0020 1019 | verification code 123456 | |
| Checkout.com | 5385 3083 6013 5181 | simulator password Checkout1! | |
| Flutterwave | 4187 4274 1556 4246 | 3DS redirect; OTP 12345 | |
| Klarna | 4687 3888 8888 8881 | triggers the 3-D Secure flow | |
| 2Checkout | Cardholder name: Joy Doe | authentication failed |
Test card numbers by brand
One successful sandbox card per brand and gateway. Use these to check that your checkout detects each brand and that the gateway accepts it. Each brand links to a generator for bulk, format-valid numbers.
| Brand | Gateway | Test number | Copy |
|---|---|---|---|
| Visa | Stripe | 4242 4242 4242 4242 | |
| PayPal | 4005 5192 0000 0004 | ||
| Braintree | 4111 1111 1111 1111 | ||
| Adyen | 4111 1111 1111 1111 | ||
| Square | 4111 1111 1111 1111 | ||
| Authorize.net | 4007 0000 0002 7 | ||
| Razorpay | 4100 2800 0000 1007 | ||
| Checkout.com | 4000 0200 0000 0000 | ||
| Shopify | 4242 4242 4242 4242 | ||
| Worldpay | 4444 3333 2222 1111 | ||
| Cybersource | 4111 1111 1111 1111 | ||
| Mastercard | Stripe | 5555 5555 5555 4444 | |
| PayPal | 2223 0000 4840 0011 | ||
| Braintree | 5555 5555 5555 4444 | ||
| Adyen | 5555 5555 5555 4444 | ||
| Square | 5105 1051 0510 5100 | ||
| Authorize.net | 5424 0000 0000 0015 | ||
| Razorpay | 5555 5100 0008 1006 | ||
| Checkout.com | 5436 0310 3060 6378 | ||
| Shopify | 5555 5555 5555 4444 | ||
| Worldpay | 5555 5555 5555 4444 | ||
| Cybersource | 5555 5555 5555 4444 | ||
| American Express | Stripe | 3782 822463 10005 | |
| PayPal | 3714 496353 98431 | ||
| Braintree | 3782 822463 10005 | ||
| Adyen | 3700 000000 00002 | ||
| Square | 3400 000000 00009 | ||
| Authorize.net | 3700 000000 00002 | ||
| Razorpay | 3402 560004 01007 | ||
| Checkout.com | 3456 789012 34564 | ||
| Shopify | 3782 822463 10005 | ||
| Worldpay | 3434 343434 34343 | ||
| Cybersource | 3782 822463 10005 | ||
| Discover | Stripe | 6011 1111 1111 1117 | |
| Braintree | 6011 0009 9130 0009 | ||
| Adyen | 6011 6011 6011 6611 | ||
| Square | 6011 0000 0000 0004 | ||
| Authorize.net | 6011 0000 0000 0012 | ||
| Checkout.com | 6011 1111 1111 1117 | ||
| Shopify | 6011 1111 1111 1117 | ||
| Cybersource | 6011 1111 1111 1117 | ||
| JCB | Stripe | 3566 0020 2036 0505 | |
| Braintree | 3530 1113 3330 0000 | ||
| Adyen | 3569 9900 1009 5841 | ||
| Square | 3569 9900 1009 5841 | ||
| Checkout.com | 3530 1113 3330 0000 | ||
| Shopify | 3566 0020 2036 0505 | ||
| Worldpay | 3528 0007 0000 0000 | ||
| Cybersource | 3566 1111 1111 1113 | ||
| Diners Club | Stripe | 3056 9300 0902 0004 | |
| PayPal | 3646 151000 0039 | ||
| Braintree | 3625 960000 0004 | ||
| Adyen | 3600 666633 3344 | ||
| Square | 3000 000000 0004 | ||
| Razorpay | 3608 280009 1007 | ||
| Checkout.com | 3616 094093 3914 | ||
| Shopify | 3056 930902 5904 | ||
| UnionPay | Stripe | 6200 0000 0000 0005 | |
| PayPal | 6200 6800 0000 0004 | ||
| Braintree | 6243 0300 0000 0001 | ||
| Adyen | 6243 0300 0000 0001 | ||
| Authorize.net | 6221 4990 5336 0818 | ||
| Shopify | 6200 0000 0000 0005 | ||
| Maestro | PayPal | 6304 0000 0000 0000 | |
| Braintree | 6304 0000 0000 0000 | ||
| Adyen | 6771 7980 2100 0008 | ||
| Worldpay | 6759 6498 2643 8453 | ||
| Cybersource | 5033 961989 0917 |
Gateway test cards vs. generated card numbers
There are two kinds of “test card numbers”, and a good test plan uses both:
- Gateway test cards (this page) are fixed numbers that a payment provider recognises in its sandbox. They are the only way to get a predictable gateway response: an approval, a specific decline code, a 3D Secure challenge or a fraud flag. They don’t work with any other provider, and they never work in live mode.
- Generated numbers from our credit card generator follow the format rules of each brand — prefix, length and Luhn check digit — but no gateway knows them. They are ideal for everything before the payment request: form validation, brand detection, input masks, database fixtures and load tests, especially when you need hundreds of distinct numbers.
A typical order is: validate your form with generated numbers and the validator, then run the full payment flow in your gateway’s sandbox with its documented cards, covering success, at least one decline, insufficient funds, an expired card, a wrong CVC and a 3D Secure challenge.
Tips for testing card payments
- Test declines, not just success. Most payment bugs are in error handling: unclear messages, lost carts or double charges after a retry.
- Cover 3D Secure. In Europe and the UK, Strong Customer Authentication means many real payments need a challenge. Make sure your flow returns the customer to the right page afterwards.
- Check webhooks. Gateways confirm many results asynchronously. Test that your order status updates when the webhook arrives, including for failures.
- Test every brand you accept. 15-digit American Express and 14-digit Diners Club numbers break forms that assume 16 digits. See the card number format guide.
- Keep real cards out. Never use real customer card numbers in development or staging. It is a PCI DSS violation and unnecessary when test numbers exist.
Frequently asked questions
What is a test credit card number?
A card number that a payment gateway accepts only in its sandbox or test mode. It never moves money. Each gateway publishes its own list, and many numbers are wired to return a specific result, such as a decline or a 3D Secure challenge.
Which test card number always works?
There is no universal one. 4242 4242 4242 4242 succeeds on Stripe, Shopify Payments and Checkout.com, 4111 1111 1111 1111 on Braintree, Adyen, Square, Authorize.net, Cybersource and 2Checkout. Each only works in that gateway’s sandbox or test mode.
How do I test a declined payment?
It depends on the gateway: Stripe, Shopify, Square, Razorpay, Flutterwave and Checkout.com use special card numbers; PayPal, Adyen, Worldpay, Mercado Pago and 2Checkout use a value in the cardholder name; Braintree and Mollie use the amount; Authorize.net uses the billing ZIP code; Klarna uses the customer email. See the decline table above.
Are there test cards for Apple Pay and Google Pay?
Apple publishes sandbox card numbers that you add to Wallet with a sandbox tester account (see Apple Pay test cards). Google Pay has no list to type in: its test card suite shows test cards in the payment sheet (see Google Pay test cards).
What CVV and expiry date should I use?
Most gateways accept any future date and any three-digit CVV (four for American Express). Adyen is the exception: use expiry 03/2030 and CVC 737 (7373 for Amex), unless the card lists other values.
Can I use test card numbers on a real website?
No. Outside a sandbox they are declined, and trying to pay with a card you don’t own is fraud. To test your own form’s validation, use our card number generator.