Sandbox environment
The sandbox lets you exercise your whole integration — creating transactions, completing payments, and receiving callbacks — without moving real money.
| Sandbox | Production | |
|---|---|---|
| Base URL | api.test.sandbox.pesepay.com/payments-engine | api.pesepay.com/api/payments-engine |
| Money moved | None | Real |
| Keys | Sandbox integration + encryption key from your application | Production integration + encryption key |
Every code sample in this documentation defaults to the sandbox URL — swap in your production base URL and keys only once you’ve worked through the go-live checklist.
What the sandbox supports
Section titled “What the sandbox supports”The sandbox is deliberately smaller than production. Plan your test matrix around what’s actually there:
| Sandbox | Production | |
|---|---|---|
| Currencies | USD only | USD and Zimbabwe dollars |
| Payment methods | EcoCash PZW211, Visa PZW204, Mastercard PZW205 | All methods |
| Amount limits | Different from production — Visa in particular is capped far lower | See the overview |
What to exercise
Section titled “What to exercise”Use the test credentials to trigger both successful and failed payments, so your error handling gets exercised before it meets a real customer. Beyond the happy path, confirm that your callback handler is idempotent and that your reconciliation job catches a payment whose callback never arrived.