Two Environments
RohoPay isolates test and live traffic completely. Your wallet has separate balances for each:| Test | Live | |
|---|---|---|
| API key prefix | test_ | live_ |
| Real money moves | ❌ | ✅ |
| USSD sent to phone | ❌ | ✅ |
| Card charged | ❌ | ✅ |
| Webhook fires | ✅ (test payload) | ✅ (live payload) |
| Disbursements allowed | ❌ | ✅ |
| Test phone works | ✅ (256700000000) | ❌ |
| Wallet balance | Separate test balance | Separate live balance |
Test Mode Details
In test mode:- Use phone
256700000000as the test number (always succeeds) - All card test numbers work (see Test Cards)
- Transactions complete immediately (no real USSD or card network)
- Webhooks still fire to your
callback_urlwith the test result - Test-mode transactions are rate-limited per project per day
Switching to Live
Ensure your callback_url is HTTPS and public
Your webhook endpoint must be reachable from RohoPay’s servers over HTTPS.
Environment in API Responses
Every transaction response includes"environment": "test" or "environment": "live":
Checking Current Environment
The environment of a transaction is determined by the API key used — there is no separate endpoint or setting to change. Use atest_ key for test, live_ key for live.