NODE ONLINE // REGION EU-CENTRAL-03 LAT 12ms UTC --:--:--
BONUS 10% up to $50 · 15% $50–$200 · 25% above $200 — credited automatically on every deposit · min $10 DEPOSIT NOW ▸
FREE New users get 50 free checks on Fast Checker CREATE ACCOUNT ▸
HOME / TOOLS / TEST CREDIT CARD NUMBERS FOR SANDBOX TESTING

Test Credit Card Numbers for Sandbox Testing

root@c4check:~$ cat /var/lib/tools/test-card-numbers.md
──────────────────────────────────────────────────────────────────────────────────────────────

KEY TAKEAWAYS

  • Public sandbox test numbers are Luhn-valid and safe for staging only.
  • Test the full success/decline/error matrix before production.
  • Generate unique values with the card number generator instead of reusing one number.
  • Format validation is free — never spend a live check on a Luhn-failing number.
  • Cost per classified card is the only honest price metric for test-card fixtures.
  • Fund before long runs; interrupted test-card fixtures runs are the expensive kind.

Payment developers need card numbers that behave well in sandboxes and never touch a real account. The numbers below are the long-standing public test values published by processors for testing. They are Luhn-valid (so your validation code accepts them) and resettable — but they are for sandbox/staging use only.

Format validation only (Luhn + brand). Nothing is transmitted.

Common sandbox test numbers

BrandTest numberNotes
Visa4242 4242 4242 4242generic approve in most sandboxes
Visa4111 1111 1111 1111classic test value
Mastercard5555 5555 5555 4444generic approve
Mastercard5105 1051 0510 5100alternate range
American Express3782 822463 1000515 digits, 4-digit CID
Discover6011 1111 1111 111716 digits
JCB3566 0020 2036 050516 digits
Diners Club3056 9300 0902 000414 digits
UnionPay6200 0000 0000 000516 digits
Maestro6759 6498 2643 845316 digits

Do not use these on production gateways

Sandbox numbers may be rejected, or worse, behave unpredictably against production acquirers. Keep them in sandbox/staging only, and generate your own with the card number generator when you need many unique test values rather than the same handful.

Why these numbers matter

Every payment integration should test the full success/decline/error matrix before going live: accepted cards, declined cards, CVV mismatches, expiry failures and timeouts. Sandbox test numbers plus processor-specific decline triggers cover those branches. See testing payment gateways safely.

Validate the format first

Use the validator above or the standalone Luhn validator tool. A number that fails Luhn will be rejected by every real gateway too — no need to spend a live check on it.

Test card numbers are the deterministic backbone of payment testing: known numbers whose expected behaviour is fixed, used to simulate approvals, declines and edge cases in sandboxes. This page collects a practical set per brand with the expected outcome for each.

Vendor test BINs simulate specific results; generated checksum-valid numbers cover structural cases. Together they exercise every branch of an integration without a single real account.

The Test Credit Card Numbers for Sandbox Testing tool running on C4CHECK with sample input
The test credit card numbers for sandbox testing interface — paste or generate values on the left, read the verdict inline.
Luhn validator confirming generated test numbers pass the checksum
Pair every generated test number with the Luhn validator: checksum-valid numbers behave correctly through form validation, while staying unchargeable.

Key points about test-card fixtures

  • Per-brand test numbers with expected outcomes
  • Deterministic behaviour for repeatable tests
  • Safe by definition — no real accounts
  • Cross-reference with the generator for bulk fixtures

A practical path through test-card fixtures

  1. Pick the brand and scenario.
  2. Use the number in your sandbox environment.
  3. Verify your code handles the expected outcome.

Test-card fixtures: from request to result

Behind the scenes, every check follows the same chain: your input, the gateway format, the provider connection, the issuer response and the classification you see. Live means the issuer answered and the account is active and chargeable at that moment; it is strong evidence, not a promise about a future charge. A check sends an authorization-shaped request through a provider to the issuer and classifies the reply into one of four states: live, dead, unknown or error. The four outcomes are categorical rather than numeric because decisions are categorical too: proceed, recover, retry or log. It sounds obvious until a real run tests it.

Test-card fixtures in practice: a repeatable path

Deduplicate before submitting: the same card in a list twice is billed twice if both copies classify. When results look wrong, diagnose in order: input format, route, provider health, and only then the cards themselves. Run one primary gateway with a fallback route. When the primary degrades, re-run only the unclassified remainder on the fallback. Size batches to the provider ceiling. Past that line, extra concurrency converts into timeouts rather than throughput. That single habit separates routine test-card fixtures from expensive test-card fixtures.

Tools that make test-card fixtures easier

The check-digit calculator shows the Luhn math step by step, useful when building or debugging number generation. BIN search and IIN lookup answer the issuer question — brand, type, bank, country — without touching account status. The Luhn validator and expiry checker catch format problems before any paid request leaves the browser. Write it down; test-card fixtures workflows live and die on small consistencies.

Limits and responsible use of test-card fixtures

Verification is at its best when it is boring: a routine status step inside an existing, authorised process. Results describe the account, never the person; they should inform routing and risk decisions, not identity decisions. Verification is a signal, not a guarantee: a live result does not promise that a later charge will be approved. It is a small rule that changes how test-card fixtures behaves at scale.

What aggregate data says about test-card fixtures

The platform publishes outcome distributions and latency percentiles from real traffic, refreshed monthly, precisely so expectations can be calibrated against reality. Trends beat snapshots: a classified rate that drifts over weeks says more than any single run's result. Cost per classified card is the honest metric. A cheap-per-request route with a high failure rate is the most expensive option in practice. Sample sizes matter. Small windows produce noisy percentages, which is why published aggregates carry minimum thresholds. Keep it in mind whenever test-card fixtures results are reviewed.

Running test-card fixtures as a process

Budget verification against the cost of failure, not against zero; the comparison is what makes spend defensible. Schedule recurring checks ahead of the decisions they inform, not after them. Document the route, the batch policy and the retry rules next to each production run; six months later that note is the diagnosis. Keep one primary gateway and one fallback, and switch on evidence — error spikes and classified-rate drops — rather than on price alone. In test-card fixtures work, that is the difference between a signal and a guess.

Pitfalls that cost money in test-card fixtures

Increasing parallelism past the provider ceiling in test-card fixtures converts capacity into timeouts. Defining result handling after the run in test-card fixtures produces spreadsheets instead of decisions. Comparing test-card fixtures routes on list price instead of classified rate hides the real economics.

  • Using BIN reference data as account status in test-card fixtures confuses two different questions and produces confident, wrong decisions.
  • Retrying a dead card during test-card fixtures spends balance for an answer that will not change within the run.
  • Running test-card fixtures without a fallback means one degraded provider turns an entire batch into unknowns.
  • Storing card data beyond the needs of test-card fixtures creates risk without adding value.

Boundaries of test-card fixtures

When a proposed use cannot be explained to a compliance reviewer in one sentence, it is probably not a fit. The platform does not trade card data, and nothing in the system is designed to bypass a cardholder's consent. Operators remain responsible for the legal basis on which they hold and process card data. Keep it in mind whenever test-card fixtures results are reviewed.

Reading test-card fixtures results honestly

Classified rate is the share of cards that produce a definitive answer; it is the first number to compare when switching gateways. Dead results are conclusive for the moment and should never be re-checked in the same run; retries on dead cards spend balance for identical answers. The four result classes are a decision matrix, not a score: live proceeds, dead recovers, unknown gets one careful retry, error returns to the queue. When a result contradicts other evidence, re-check once after a reasonable interval rather than assuming the checker is wrong. Keep it in mind whenever test-card fixtures results are reviewed.

Benchmarks and distribution for test-card fixtures

Cost per classified card is the honest metric. A cheap-per-request route with a high failure rate is the most expensive option in practice. Trends beat snapshots: a classified rate that drifts over weeks says more than any single run's result. The platform publishes outcome distributions and latency percentiles from real traffic, refreshed monthly, precisely so expectations can be calibrated against reality. Sample sizes matter. Small windows produce noisy percentages, which is why published aggregates carry minimum thresholds. Keep it in mind whenever test-card fixtures results are reviewed.

Keeping test-card fixtures predictable

Document the route, the batch policy and the retry rules next to each production run; six months later that note is the diagnosis. Schedule recurring checks ahead of the decisions they inform, not after them. Treat provider outages as routing problems: switch routes, recover the unclassified remainder, keep the answers you already paid for. Track cost per classified card rather than cost per request; it is the only metric that reflects retries and unknown rates. Holding that line is what makes test-card fixtures reliable over time.

Pitfalls that cost money in test-card fixtures

Validating after the paid test-card fixtures request, rather than before, doubles the cost of bad input. Treating an error as a dead card in test-card fixtures throws away cards that were never classified, and errors are the cheapest outcomes to recover. Ignoring the p90 latency of test-card fixtures leads to timeouts that look like provider faults.

  • Letting duplicates through the input during test-card fixtures pays twice for the same answer.
  • Assuming every test-card fixtures gateway covers every brand is the fastest way to a list full of errors.
  • Treating an error as a dead card in test-card fixtures throws away cards that were never classified, and errors are the cheapest outcomes to recover.
  • Running test-card fixtures without a written triage rule turns a clean batch into manual archaeology.

Keep exploring test-card fixtures

QUESTIONS & ANSWERS

FAQ
Are these real credit card numbers?

No. They are public sandbox test values for staging and development. They do not correspond to real accounts.

Why do test card numbers pass the Luhn check?

Processors publish them with valid checksums so validation code paths accept them exactly as they would a real card.

Can I use these on a production gateway?

No. Use them only in sandbox/staging environments; production systems need real cards supplied by their owners.

How do I generate many unique test numbers?

Use our client-side card number generator — it creates Luhn-valid numbers locally.

Why do some cards return unknown in test-card fixtures?

Issuer challenges, cross-border routing and soft declines all produce unknowns. The remedy is a different route, not a repeat of the same one.

How much does test-card fixtures cost in practice?

Price is per classified result, so the honest metric is cost per classified card — total spend divided by live-plus-dead outcomes. That folds in retries and unknown rates, which list prices hide.

What does a live result in test-card fixtures actually guarantee?

It proves the account was active and chargeable at the moment of the check. It does not guarantee that a specific future charge — for a particular amount, merchant or time — will be approved.

PUT THIS INTO PRACTICE

START HERE

Open a checker, paste your list and stream live results. New accounts can fund with BTC or LTC and pay per check.

Open checkers Create account API docs