Guides
Test Mode
Validate your payment, payout, webhook, and reconciliation flows safely before enabling production traffic.
Introduction
Test mode should validate more than request syntax. It should prove that your backend, event handling, retries, and reconciliation logic behave correctly before any real funds are involved.
Sandbox Validation
Exercise payment and payout creation with controlled low-risk inputs.
Webhook Readiness
Confirm that webhook deliveries match your expected asynchronous lifecycle handling.
Reconciliation Confidence
Compare status polling, event delivery, and internal ledger references before launch.
Required Headers
X-Public-Key: YOUR_PUBLIC_KEY
X-Timestamp: UNIX_TIMESTAMP
X-Signature: HMAC_SHA256_SIGNATUREWhat to Validate in Test
- payment initiation
- payout initiation
- webhook reception
- retry handling
- transaction status reconciliation
- internal ledger correlation through
external_id
Suggested Checklist
- initiate a payment with a small amount
- store the returned
track_id - verify webhook delivery
- compare webhook state with
GET /payments/status/{track_id} - test failure handling and retry behavior
- confirm KYC status before enabling live usage
Example Sandbox Payment
curl -X POST "{{BASE_URL}}/api/v1/payments" \
-H "X-Public-Key: YOUR_PUBLIC_KEY" \
-H "X-Timestamp: UNIX_TIMESTAMP" \
-H "X-Signature: HMAC_SHA256_SIGNATURE" \
-H "Content-Type: application/json" \
-d '{
"amount": 100,
"currency": "XAF",
"payer_phone": "677001122",
"external_id": "test_payment_001"
}'Before Going Live
- complete KYC verification
- confirm current limits through
GET /kyc/limits - configure production webhook endpoints
- rotate credentials if required by your deployment workflow
- start with low-risk amounts and monitor closely
Launch principle
Sandbox readiness is about operational confidence, not just successful HTTP responses. If your webhook, retry, or reconciliation logic is still ambiguous, you are not done testing.
How is this guide?