Skip to main content
Bill payments pay a Nigerian biller — electricity, cable TV, airtime, data, betting, school fees — from one of your NGN accounts. Everything here is NGN, and everything here goes through the same three steps.

The order is not optional

You cannot pay a bill without an enquiry, and an enquiry expires after ten minutes. That is the shape of the service: identify the product, confirm the customer, then pay.

Catalog

Three levels, each paged, all read-only.
Catalog ids are Sakawave ULIDs, and they are the only addresses this API accepts — in a path and in an enquiry body alike. A slug will not resolve, and neither will the upstream provider’s own id, which is what id returned before. Which provider fulfils a product is internal routing that never appears here, so a provider change leaves your stored ids intact.
The catalog and payment lists use their own page shape — totalPages instead of pageCount, and no hasNext or hasPrevious. This is the only part of the API that does.

Enquiry

An enquiry asks the biller who a customer reference belongs to, and what paying them will cost.
Two things it gives you that nothing else can:
  1. The name the biller holds. Show it before taking money — it is the only check that the meter or account number was typed correctly.
  2. The price. charge and commission are yours; totalDebit is what leaves the account.
customer is whatever the biller returned, filtered to a safe subset, and its shape varies by biller. Read defensively.

Payment

A failed bill payment refunds itself. You do not claim the money back; Sakawave posts a reversal against the same account.

Amounts are decimals here

This service uses decimal strings — "5000.00" — not the minor units the rest of the API uses. One API, two conventions. Convert at the boundary of this service and nowhere else.

Events

Next

Introduction

Why the enquiry exists, and what it protects.

Get started

Catalog, enquiry, payment, token.

Setup and configuration

Limits, idempotency, and reconciliation.

Airtime, data, and utilities

How the product families differ.