Utility Payments
Turn your balance into stock you can sell: airtime and utility products, paid for from your platform balance, with provider commissions credited back to you on every sale.
Make a sale
curl https://omniway.online/v1/utilities/payments \
-H "Authorization: Bearer sk_live_..." -H "Content-Type: application/json" \
-H "Idempotency-Key: airtime-0611-021" \
-d '{
"provider": "ECONET",
"provider_product": "AIRTIME",
"amount_cents": 100,
"currency": "USD",
"destination_account": "3007720001110",
"narration": "Airtime โ counter sale"
}'
{
"id": "โฆ",
"object": "utility_payment",
"status": "completed",
"provider": "ECONET",
"provider_product": "AIRTIME",
"amount_cents": 100,
"fees": [],
"commissions": [
{ "name": "Commission", "description": "DebitCommission", "amount": "3" }
],
"reference": "POSMB3KA01XYZ12"
}
How the money moves
Debit
The face value (utility_sale, โ100) leaves your balance โ only if it fits, same no-overdraft rules as payouts.
Deliver
The provider credits the customer's account/phone. The customer pays you cash (or you price it into a basket).
Commission
Any provider commission (utility_commission, +3) is credited back to your balance automatically.
If the provider call fails, the sale is marked failed and your debit is compensated
automatically โ your statement shows both lines, your balance is whole.
Fields
| Field | Required | Notes |
|---|---|---|
provider | yes | Provider code, e.g. ECONET. Your account's enabled providers are agreed at onboarding. |
provider_product | yes | Product within the provider, e.g. AIRTIME. |
amount_cents / currency | yes | Face value in cents; USD or ZWG. |
destination_account | yes | The account being topped up โ resolve a phone number with account lookup first. |
additional_data | no | Provider-specific extras (object), passed through as required by the product. |
Utility sales draw on the same balance as payouts โ if you sell a lot of airtime, schedule payouts so you
keep enough float. Your CSV statement separates
utility_sale and utility_commission lines for margin tracking per day.