Mock Payment Sandbox

Simulate how a payment gateway responds — approved, declined, expired and more — using the standard published test cards. Just like a gateway's test mode: fully simulated and offline. No real card is checked, no bank is contacted, nothing is stored.

Test mode — recognises published test cards only

Test cards

Use one of these published test numbers to simulate each outcome. Click a row to load it.

Test cardBrandSimulated outcome
4242 4242 4242 4242 Visa approved
4000 0566 5566 5556 Visa approved
5555 5555 5555 4444 Mastercard approved
2223 0031 2200 3222 Mastercard approved
3782 8224 6310 005 Amex approved
6011 1111 1111 1117 Discover approved
4000 0000 0000 0002 Visa card_declined
4000 0000 0000 9995 Visa insufficient_funds
4000 0000 0000 9987 Visa lost_card
4000 0000 0000 0069 Visa expired_card
4000 0000 0000 0127 Visa incorrect_cvc
4000 0000 0000 0119 Visa processing_error

More PAYATE tools

Frequently asked questions

What is the Mock Payment Sandbox?

A developer sandbox that simulates how a payment gateway replies to a charge — approved, declined, insufficient funds, expired card, and so on — so you can build and learn to handle each response in your checkout. It works exactly like a gateway's test mode.

Can it check a real card?

No — by design. It only recognises the published, industry-standard test card numbers (the same ones Stripe and others document). Any other number just returns "not a recognised test card". No real transaction happens, no bank or gateway is contacted, and nothing is stored.

Why only the published test numbers?

Those numbers are public, well-known and not issued to anyone — they exist purely for testing. Restricting the sandbox to them keeps it a genuine learning/QA tool and makes it useless for anything else.

How do I simulate a decline?

Use the matching test card from the table below — for example the number ending in 9995 simulates insufficient funds, and 0002 simulates a generic decline. Approved cards (like 4242 4242 4242 4242) simulate a success.

Does each run give a new reference?

Yes — every simulated response includes a fresh random mock_txn_id, just like a real gateway returns a new id per request. It is a random label for the mock response, nothing more.