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 onlyTest cards
Use one of these published test numbers to simulate each outcome. Click a row to load it.
| Test card | Brand | Simulated 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.