Test the whole journey.
Simulate real payment outcomes while keeping all funds and records separate from production payments.
Simulated funds, real integration behavior
Use an np_test_ key with the usual API URL and request shape. Each account begins with UGX 1,000,000 of simulated funds. Collections credit that balance on success; payouts debit the principal plus fee when accepted.
Sandbox calls never contact Yo Payments or change the live ledger. Existing account eligibility, freezes and payout setup requirements still apply. A live provider pause does not block sandbox processing.
Choose an outcome
curl https://api.nuepay.net/v1/sandbox/transactions/YOUR_REFERENCE/simulate \
-H "Authorization: Bearer $NUEPAY_TEST_KEY" \
-H 'Content-Type: application/json' \
-d '{"outcome":"timeout"}'| Outcome | Result |
|---|---|
success | Final success. A collection credits simulated funds once. |
failed | Final failure. A payout refunds simulated principal and fee once. |
timeout | process with awaiting_confirmation. A payout keeps its debit pending a later outcome. |
Repeat the same final outcome safely. A conflicting final outcome returns HTTP 409. A timeout can later resolve to success or failure. Live keys cannot access simulation.
Test your webhook receiver
Sandbox callbacks are off by default. In the key’s edit dialog, explicitly enable Also send sandbox events to this URL. Test callbacks contain livemode: false and use the configured webhook signing secret.
Turning off sandbox callbacks cancels queued test deliveries when processed. See signature verification and event ordering.
Run a complete example
The downloadable examples accept test keys only. Set NUEPAY_TEST_KEY and run the script. Set NUEPAY_BASE_URL if you need the compatible platform address.
For an interactive test against NuePay, open the sandbox playground. This documentation site does not accept or store API secrets.

