Testing & Go-Live Checklist
Use the sandbox to test your integration safely — no real money moves.
| Item | Value |
|---|---|
| Base URL | https://sandbox.payments.pesavoucher.com/api/v1 |
| Credentials | Separate test keys (pk_test_... / sk_test_...) |
| Callback IPs | 196.201.214.136 and 196.201.214.137 |
| Real money | Never — all transactions are simulated |
| Phone Number | STK Push Result | B2C Result |
|---|---|---|
254708374149 | Success instantly | Success instantly |
254711223344 | Failed – Insufficient balance | Failed – Insufficient balance |
254722334455 | Cancelled by user | N/A |
254733445566 | Timeout (no response) | Timeout |
- Use test credentials + sandbox URL
- Initiate an STK Push or B2C request
- Callback is sent within 5–10 seconds
- Verify your webhook receives and processes correctly
- Check logs and database for correct status updates
- Test all flows: Success, Failed, Cancelled, Timeout
Tick every item before switching to production.
- [ ] All API calls use production URL and live keys
- [ ] Webhook endpoint is publicly accessible over HTTPS
- [ ] Webhook verifies and whitelists our production callback IPs
- [ ] Webhook returns
200 OKquickly and processes asynchronously - [ ] Idempotency implemented using
payment_id - [ ] Proper error handling and retry logic in place
- [ ] Logging & monitoring set up (errors, callbacks, latencies)
- [ ] Your server IPs are whitelisted in merchant portal
- [ ] Production callback IPs are allowed in your firewall/load balancer
- [ ] API Secret stored only in environment variables (never in code)
- [ ] SSL certificate valid and not expiring soon
- [ ] Rate limiting / abuse protection configured
- [ ] Perform 2–3 small live STK Push transactions (e.g., 10.00 KES)
- [ ] Perform 1–2 small live B2C payouts (if applicable)
- [ ] Confirm funds arrive correctly and callbacks fire
- [ ] Verify reconciliation (receipt numbers match in dashboard)
- [ ] Contact support and request production activation
- [ ] Receive confirmation that your account is live
- [ ] Update your app/config to use live keys permanently
- [ ] Remove test keys from production servers
- Send email to support@pesavoucher.com with:
- Merchant ID
- Statement “Please activate production mode”
- Confirmation that go-live checklist is complete
- Support enables live mode (usually within 1 business day)
- You receive new live API keys (if not already issued)
- Start with low-value transactions and monitor closely for 24–48 hours
- Monitor callback delivery and processing latency
- Set up alerts for failed webhooks or high error rates
- Reconcile daily with the merchant dashboard
- Keep an eye on balance and top up before it runs low
You’re now fully prepared to go live safely and confidently!