Global Araç
Test Credit Card Numbers
Luhn kontrolü + ağ dedektörü
Luhn geçerliliğini kontrol etmek ve ağı tespit etmek için herhangi bir kart numarası yapıştırın. Boşluklar/tireler yok sayılır. Tüm kontroller tarayıcınızda çalışır.
| Ağ | Numara | CVC | Son Kullanma | Senaryo | İşlemci |
|---|---|---|---|---|---|
| Visa | 4242 4242 4242 4242 | any 3 | any future | Successful charge | Stripe |
| Visa (debit) | 4000 0566 5566 5556 | any 3 | any future | Successful charge — debit | Stripe |
| Mastercard | 5555 5555 5555 4444 | any 3 | any future | Successful charge | Stripe |
| Mastercard (debit) | 5200 8282 8282 8210 | any 3 | any future | Successful charge — debit | Stripe |
| Amex | 3782 822463 10005 | any 4 | any future | Successful charge | Stripe |
| Discover | 6011 1111 1111 1117 | any 3 | any future | Successful charge | Stripe |
| Diners | 3056 9300 0902 0004 | any 3 | any future | Successful charge | Stripe |
| JCB | 3566 0020 2036 0505 | any 3 | any future | Successful charge | Stripe |
| UnionPay | 6200 0000 0000 0005 | any 3 | any future | Successful charge | Stripe |
| Visa | 4000 0000 0000 0002 | any 3 | any future | Card declined (generic)Returns `card_declined`. | Stripe |
| Visa | 4000 0000 0000 9995 | any 3 | any future | Insufficient fundsReturns `card_declined` with decline_code = insufficient_funds. | Stripe |
| Visa | 4000 0000 0000 9987 | any 3 | any future | Lost cardReturns `card_declined` with decline_code = lost_card. | Stripe |
| Visa | 4000 0000 0000 9979 | any 3 | any future | Stolen cardReturns `card_declined` with decline_code = stolen_card. | Stripe |
| Visa | 4000 0000 0000 0069 | any 3 | any future | Expired cardReturns `expired_card`. | Stripe |
| Visa | 4000 0000 0000 0127 | any 3 | any future | Incorrect CVCReturns `incorrect_cvc`. | Stripe |
| Visa | 4000 0000 0000 0119 | any 3 | any future | Processing errorReturns `processing_error`. | Stripe |
| Visa (3DS required) | 4000 0027 6000 3184 | any 3 | any future | 3D Secure 2 authentication requiredTriggers 3DS challenge in the test flow. | Stripe |
| Visa (3DS optional) | 4000 0025 0000 3155 | any 3 | any future | 3D Secure 2 authentication required (frictionless)3DS auth happens but no challenge is shown. | Stripe |
| Visa | 4111 1111 1111 1111 | 737 | 03/2030 | Authorised | Adyen |
| Mastercard | 5500 0000 0000 0004 | 737 | 03/2030 | Authorised | Adyen |
| Amex | 3700 000000 00002 | 7373 | 03/2030 | Authorised | Adyen |
| Visa | 4111 1111 1111 1111 | any 3 | any future | Successful saleSame number as Adyen — universal test PAN, recognized by most sandboxes. | Braintree |
| Mastercard | 5555 5555 5555 4444 | any 3 | any future | Successful sale | Braintree |
| Amex | 3782 822463 10005 | any 4 | any future | Successful sale | Braintree |
Bu numaralar herkese açıktır + yalnızca test ortamlarında çalışır.
Stripe, Adyen ve Braintree tarafından test ortamları için kanonik test girdileri olarak yayınlanmıştır. Hiçbir canlı işlemcide çalışmazlar — zaten amaç budur. Bunları asla gerçek bir ödeme noktasına göndermeyin ve herhangi bir gerçek dünya akışında kart geçerliliği kanıtı olarak kullanmayın.
Kaynaklar: Stripe test dokümanları (stripe.com/docs/testing), Adyen test kartları (docs.adyen.com), Braintree test ortamı dokümanları (developer.paypal.com). Kendi ağ geçidinizin dokümanlarındaki en güncel yayınlanmış test numaralarını her zaman çapraz kontrol edin — senaryolar zaman zaman değişebilir.
Every developer who's ever integrated payments has needed this page: the canonical test card numbers published by Stripe, Adyen, and Braintree, plus the cards for triggering specific failure scenarios (declined, insufficient funds, expired, lost/stolen, incorrect CVC, 3DS challenge). This reference table aggregates them with copy-to-clipboard for the number column.
Plus a small bonus: a Luhn-check + network-detector input. Paste any PAN, get pass/fail and best-guess card network from the prefix + length. Useful when you're inspecting test data and want to know whether a number is at least syntactically valid before it gets to the gateway. Luhn passing means the number's check digit is right — not that the card is real or chargeable. Always test against your gateway's sandbox.
Nasıl Kullanılır
- Filter by processor (Stripe / Adyen / Braintree / All) — Stripe has the richest scenario coverage; Adyen is more enterprise-style; Braintree's universal numbers work in many sandboxes.
- Click Copy on any number to copy it without spaces (ready to paste into a checkout form).
- Paste any card number into the Luhn validator at the top to check syntactic validity + detect the network from the prefix.
- Match the scenario column to the failure case you want to test (decline, insufficient funds, 3DS challenge, etc.).
Ne Zaman Kullanılır
- Building a checkout integration (Stripe Elements, Adyen Drop-in, Braintree hosted fields) and need the test numbers for a specific failure path.
- Writing automated end-to-end tests where each scenario uses a different test PAN.
- Debugging a sandbox transaction and want to verify a number is at least Luhn-valid before chasing further.
- Demoing a payment flow to a stakeholder — paste the universal Visa test number and you get a clean approval.
Ne Zaman Kullanılmaz
- Anything involving real money — these are sandbox numbers and will not authorize against a live processor.
- PCI compliance verification — passing Luhn is necessary but not sufficient; PCI scope is about handling, not validity.
- Generating fake card numbers for any non-test purpose — even Luhn-valid random numbers shouldn't appear in databases or logs.
Nasıl Çalışır
Luhn check (mod-10): from the rightmost digit, double every second digit. If any doubled digit is >9, subtract 9. Sum all digits (originals + doubled-and-adjusted). The number is Luhn-valid if the sum is divisible by 10. Hans Peter Luhn invented this for IBM in 1954 — the entire payments industry still uses it as the cheap first-pass syntactic check.
Network detection: regex against the IIN (Issuer Identification Number — the leading digits) plus length:
- Visa: starts with 4, length 13/16/19
- Mastercard: starts with 51-55 (length 16) or 2221-2720 (the 2-series, since 2017)
- Amex: starts with 34 or 37, length 15
- Discover: starts with 6011 / 65 / 644-649, length 16
- JCB: starts with 35, length 16/19
- Diners: starts with 300-305 / 36 / 38, length 14
- UnionPay: starts with 62, length 16-19
The reference table is hand-curated from the public docs of each processor (Stripe testing, Adyen test card numbers, Braintree sandbox). It's static — every entry is what those processors published as their canonical test inputs.
Örnek
Paste 4242 4242 4242 4242 in the Luhn checker
✓ Passes Luhn · Detected network: Visa · 16 digits
This is Stripe's universal happy-path Visa test number. Plug it into Stripe Elements with any future expiry + any 3-digit CVC and the charge succeeds.
Sık Sorulan Sorular
Why does 4111 1111 1111 1111 work in so many sandboxes?
It's the universally-recognized Visa test PAN — historically the simplest Luhn-valid Visa number. Most processor sandboxes recognize it as a test card; some (Stripe) prefer 4242 4242 4242 4242 as their headline example.
Are there test numbers for chargebacks / disputes?
Stripe has dedicated test PANs for chargeback flow (see their test-clocks docs). Adyen + Braintree offer test cases through their dashboard rather than dedicated PANs.
What's the deal with 3D Secure test cards?
3DS authentication requires a separate flow (issuer challenge). Stripe ships specific test PANs (4000 0027 6000 3184 for required challenge, 4000 0025 0000 3155 for frictionless) so you can exercise the full flow in sandbox without a real bank.
Why does Luhn matter if it's just syntax?
Front-end card forms run Luhn before submitting to save a round-trip to the gateway on obvious typos. It catches single-digit transposition + most one-digit errors. Doesn't catch every error (it can't tell stolen from valid) but blocks ~50%+ of fat-finger inputs.
Can I generate Luhn-valid test numbers programmatically?
Yes — pick a 15-digit prefix matching the network you want, compute the check digit so the total Luhn sum is 0 mod 10. But for any real testing, prefer the published test PANs above — they trigger known scenarios in your specific gateway's sandbox, which random Luhn-valid numbers won't.