Last updated

Bill lookup

The bill lookup transaction is an API call that verifies a consumer's reference number and returns the details of any outstanding bills associated with that reference. Depending on the type of bill, the reference number could be:

  • National ID number
  • Traffic fine notice number
  • Account reference number
  • Multichoice number
Note

The details returned in the bill lookup response are used to populate the bill payment request message.

Note

The reference used will be based on the chosen routing and is also related to specific biller (e.g., a Multichoice reference being used for DSTV bills).

Some service providers may allow for multiple bills to be returned under one reference number. For example, an ID number reference may return multiple traffic fines.

Note

Pay@ is the only service provider that currently supports multiple bills, and only for traffic fines.

Operation and Messages

A bill lookup consists of a single set of messages described by the lookupBills operation, GET/bills:

Message Flows

The sections below describe a successful bill lookup and error scenarios.

Successful Bill Lookup

  1. The originating system sends a GET call to the /bills/ {referenceNumber} API endpoint (lookupBills operation).
  2. Electrum responds with a BillLookupResponse message payload containing the details (amount due, minimum amount, maximum amount and whether it is over payable) of any bills associated with that reference number.

alt text

Error or Timeout at Originating System

  1. The originating system sends a GET call to the /bills/ {referenceNumber} API endpoint (lookupBills operation).
  2. An error occurs at the originating system, or a timeout occurs when the response message does not reach the originating system. No further action is required.

alt text

Error at Electrum or Service Provider

  1. The originating system sends a GET call to the /bills/ {referenceNumber}API endpoint (lookupBills operation).
  2. An error occurs at Electrum or the service provider.
  3. Electrum sends an HTTP status of 400, 500, 501, 503, or 504 and an ErrorDetail message to the originating system. No further action is required.

alt text

What happens if you already paid the bill?

If you do a Bill Lookup on a bill that has already been paid, then the lookupBills function returns an error based on set conditions, such as the amount due, minimum and maximum amounts, and whether it can be overpaid. If the bill allows overpayment, it returns a balance along with the minimum and maximum amounts.

Important

Electrum will not validate billers on a client’s behalf. If we receive a request to pay for a bill, we will never decline it and will immediately forward it upstream.