Testing
Simulate every outcome — success, decline, 3DS and wallet failures — without moving real money.
Before you start
Use a test key — Every call must carry
sk_test_…. A live key with a test card is simply declined.Any expiry, any CVC — Any future expiry date, any 3-digit CVC and any postal code are accepted.
No real money moves — Sandbox payments never touch a real card or bank account, and never settle.
Test cards
| Card number | Brand | Result | Simulates |
|---|---|---|---|
| 4242 4242 4242 4242 | Visa | Succeeds | A clean authorisation, no challenge |
| 4000 0025 0000 3155 | Visa | Succeeds | An issuer that requires 3DS |
| 4000 0000 0000 9995 | Visa | Declined | Insufficient funds |
| 5555 5555 5555 4444 | Mastercard | Succeeds | A clean authorisation on another scheme |
Simulating a 3DS challenge
On the sandbox challenge screen, enter 1234 to approve or any other value to decline — so you can exercise both branches of your success and failure handling.
Test wallets
| Rail | Value | Result | Simulates |
|---|---|---|---|
| Vodafone Cash | 010 0000 0001 | Succeeds | A completed wallet payment |
| Vodafone Cash | 010 0000 0002 | Declined | Insufficient wallet balance |
| InstaPay | test@instapay | Succeeds | A completed bank transfer |
| Fawry | Any test reference | Succeeds | Payment marked paid in the simulator |
Test cards never work in production
These numbers are recognised only by the sandbox. Before going live, work through the go-live checklist.
Was this page helpful?
