Developer docs
Environments
Live keys move real NGN. Sandbox keys never create real funding accounts.
Live
- Prefix
hpay_live_— create under Merchant → API keys (Business plan + approved merchant application) - Creates real virtual accounts and moves real NGN when funded/released
- Managed delivery (rates / attach / retry) books real carrier pickups when
delivery_modeismanaged - Webhook registration requires live merchant access
Test (sandbox)
- Prefix
hpay_test_— create free from Settings → API sandbox (no Business plan; max 3 active) - Same
/api/public/v1base URL - No real money: initiate/charge return a sandbox virtual account (
HarrenaPay Sandbox Bank) — partner funding providers are never called - Mark paid with
POST /api/public/v1/escrow/{reference}/simulate-fundusing the same test key - Managed logistics attach/retry returns
403 - Webhook registration is allowed for integration testing
- Minimum escrow amount is still ₦10,000 (same as live)
Same base URL
There is no separate sandbox host. Behavior is selected by the key prefix (hpay_test_ vs hpay_live_).
Hosted checkout
Merchant checkouts use /checkout/{reference} on your deployed origin. Sandbox checkouts show a sandbox bank account; call simulate-fund from your integration to complete the payment flow.