Environments
Live and test
There is a single base URL for all traffic:
https://api.breezeinnovations.io/v1All paths in this documentation are relative to that base, for example:
https://api.breezeinnovations.io/v1/transactions/airtime/syncLive and test are not separate hosts. Every merchant profile is provisioned with two credential pairs — one live, one test — both valid against the same base URL:
| Credential | Purpose |
|---|---|
Test X-Merchant-Key / X-Merchant-Secret | Integration testing, UAT, and credential validation |
Live X-Merchant-Key / X-Merchant-Secret | Real customer traffic |
Which environment a request runs in is resolved from the credential pair you send — not from the URL. Contact your account manager to receive your live and test API keys during onboarding.
Do not use your live credentials for integration testing (or your test credentials for real traffic). Keys issued for one environment are not valid for the other, even though the URL is identical.
Test bill payments
On test credentials, only the identifiers below are accepted. Verify and purchase return the same success envelope as a live payment (response_code 00, response_message Successful) and are simulated. Any other meter, smartcard, or betting ID is rejected.
| Product | customer_msisdn | Mock success extras |
|---|---|---|
| Prepaid electricity | 10000000001 | token 47861234567890123456, units 10.00, customer_name Test Customer |
| Postpaid electricity | 10000000002 | customer_name Test Customer (no token) |
| DStv | 10000000010 | Verify (POST /v1/transactions/verify): bouquet DStv Compact |
| GOtv | 10000000020 | Verify: bouquet GOtv Smallie |
| StarTimes | 10000000030 | Verify: bouquet StarTimes Classic |
| Betting | TESTBET001 | Verify: customer_username test_user |
Use POST /v1/transactions/verify with the same test credentials — see Bill payments.
Test eSIM
On test credentials, any active catalog plan_id is accepted. Purchase runs catalog + wallet validation, then returns a simulated success (response_code 00) with install fields (iccid, activation_code, smdp_address, lpa). GET /esim/orders/{request_id}/qrcode returns a placeholder PNG.
Invalid / unknown plan_id values are still rejected.
On test credentials, catalog ngn_price, quote ngn_amount, and order amount all use the curated catalog cost (same FX). Live credentials refresh cost from the live offer when available so those three stay aligned on current pricing.
Live credentials perform a real purchase and require real customer IDs.
Test gift cards
On test credentials, any active catalog plan_id is accepted. Availability returns in-stock, and purchase runs catalog + wallet validation, then returns a simulated success (response_code 00) with placeholder card fields (card_number, pin_code, claim_url). No live stock check or fulfillment call is made.
Invalid / unknown plan_id or price outside the catalog range is still rejected.
Live credentials perform a real purchase and require products that are currently in stock.
IP permission requirement (production)
Vending and other protected API requests are accepted in production only from permitted IPs. Before go-live you must provide every public egress IP your servers, jobs, or integration platform will use.
- Collect the outbound production IPs.
- Send the list to your account manager.
- Wait for confirmation that IP permission is active before switching live traffic.
Requests using live credentials from non-permitted IPs are rejected (403 — IP not whitelisted). Test-credential traffic may use a separate policy — confirm with your account manager during onboarding.
Daily report emails
Automated daily reports cover transactions from 00:00:00 to 23:59:59 of the previous day and are delivered T+1 (next business day).
To receive reports, email your preferred addresses to your account manager (or support@breezegpt.io), for example:
recon@yourcompany.comfinance@yourcompany.com
Include:
- Primary recipient(s) for daily files
- Optional CC addresses for finance or operations
- Any subject-line naming convention you need (if supported for your merchant)
If transaction volume is large, files may also be available for download from the client portal. Ask your account manager for dashboard access when needed.
Reports typically include settled transactions, totals by product, and status breakdowns.