Test credentials
Use these in the sandbox environment to deliberately trigger success and failure, so you can verify your integration handles both.
Mobile money
Section titled “Mobile money”| Brand | Number | CVV | Expiry | Result |
|---|---|---|---|---|
| Visa | 4867 9600 0000 5461 | 608 | Any future date | ✅ Successful transaction |
| Visa | 4867 9650 0500 5002 | 994 | Any future date | ❌ Failed transaction |
| CABS | 4054 0540 5405 4430 | 708 | Any future date | ✅ Successful transaction |
| CABS | 7047 0570 5705 5730 | 454 | Any future date | ❌ Failed transaction |
The CABS cards exercise the locally-issued bank card flow that Zimswitch uses in production.
Worth testing beyond the happy path
Section titled “Worth testing beyond the happy path”- A failed payment for every method you support. Failures produce a result callback just like successes do, with a different status — that path is where integrations most often break.
- An amount over the method’s ceiling. Every method except EcoCash rejects these outright. See Simulating failures.
- A lost callback. Stop your listener, run a payment, and confirm your reconciliation job still settles the order — callbacks are never retried.