Skip to main content

Account Lookup

Before processing certain transactions, you may need to validate and retrieve details about an account. The Account Lookup endpoints allow you to verify a consumer's account and retrieve relevant information prior to completing a payment or transfer.

Authentication Required:

All requests must include a valid Bearer token in the Authorization header:

Authorization: Bearer <YOUR_BEARER_TOKEN>
Content-Type: application/json

Endpoints

#MethodPath
1POST/api/v1/lookup/bill-payment
2POST/api/v1/lookup/money-transfer
3POST/api/v1/lookup/electricity

1. Bill Payment Lookup

Validate a consumer account for a bill payment product before processing the transaction.

Path: POST /api/v1/lookup/bill-payment

Request Body:

{
"accountNumber": "10000001",
"productCode": "BIL-XXX-001"
}
FieldTypeRequiredDescription
accountNumberstringThe consumer's account number at the biller
productCodestringThe product code for the bill payment product

Success Response (200 OK):

{
"successful": true,
"message": null,
"validationReference": "BAL-0000000000001",
"lookUpReceipt": {
"amount": 10000,
"biller": {
"code": "1001",
"name": "Example Biller",
"callCentre": "000 000 0000"
},
"consumer": {
"name": "JANE Smith",
"accountNo": "10000001",
"accountStatus": "",
"cellNumber": ""
},
"responseCode": 0,
"responseMessage": "Success",
"accountNumber": "0000-0000-0000-0001",
"reference": "BAL-0000000000001",
"transactionDate": "01/01/2026 00:00:00 +02:00",
"transactionId": 1000000001,
"metadata": {
"additionalProp1": "string"
}
}
}

Error Response (400 Bad Request):

{
"timestamp": "2026-01-01T00:00:00.000000000",
"status": "BAD_REQUEST",
"error": "INVALID_ACCOUNT",
"errorCode": 1100,
"message": "The Account is invalid",
"path": "/api/v1/lookup/bill-payment"
}

2. Money Transfer Lookup

Validate a recipient account for a money transfer product before processing the transaction.

Path: POST /api/v1/lookup/money-transfer

Request Body:

{
"accountNumber": "27821234567",
"productCode": "MT-EFT-001"
}
FieldTypeRequiredDescription
accountNumberstringThe recipient's account number or mobile number
productCodestringThe product code for the money transfer product

Success Response (200 OK):

{
"successful": true,
"message": null,
"validationReference": "BAL-0000000000002",
"lookUpReceipt": {
"amount": 0,
"consumer": {
"name": "JOHN Doe",
"accountNo": "27821234567",
"accountStatus": "ACTIVE",
"cellNumber": "27821234567"
},
"responseCode": 0,
"responseMessage": "Success",
"accountNumber": "27821234567",
"reference": "BAL-0000000000002",
"transactionDate": "01/01/2026 00:00:00 +02:00",
"transactionId": 1000000002,
"metadata": {}
}
}

Error Response (400 Bad Request):

{
"timestamp": "2026-01-01T00:00:00.000000000",
"status": "BAD_REQUEST",
"error": "INVALID_ACCOUNT",
"errorCode": 1100,
"message": "The Account is invalid",
"path": "/api/v1/lookup/money-transfer"
}

3. Electricity Lookup

Validate a meter number for an electricity product before purchasing a token.

Path: POST /api/v1/lookup/electricity

Request Body:

{
"meterNumber": "00000000000",
"productCode": "ELC-XXX-001"
}
FieldTypeRequiredDescription
meterNumberstringThe consumer's electricity meter number
productCodestringThe product code for the electricity product

Success Response (200 OK):

{
"successful": true,
"message": null,
"validationReference": "BAL-0000000000003",
"lookUpReceipt": {
"amount": 0,
"biller": {
"code": "2001",
"name": "Example Utility",
"callCentre": "000 000 0000"
},
"consumer": {
"name": "JANE Smith",
"accountNo": "00000000000",
"accountStatus": "ACTIVE",
"cellNumber": ""
},
"responseCode": 0,
"responseMessage": "Success",
"accountNumber": "00000000000",
"reference": "BAL-0000000000003",
"transactionDate": "01/01/2026 00:00:00 +02:00",
"transactionId": 1000000003,
"metadata": {}
}
}

Error Response (400 Bad Request):

{
"timestamp": "2026-03-31T13:01:13.354121525",
"status": "BAD_REQUEST",
"error": "INVALID_METER",
"errorCode": 1101,
"message": "The Meter number is invalid",
"path": "/api/v1/lookup/electricity"
}

Response Fields

FieldTypeDescription
successfulbooleanIndicates whether the lookup was successful
messagestring | nullOptional message, usually null on success
validationReferencestringA reference token to be used when submitting the purchase transaction
lookUpReceipt.amountnumberOutstanding amount due (in cents), if applicable
lookUpReceipt.billerobjectBiller details: code, name, callCentre
lookUpReceipt.consumerobjectConsumer details: name, accountNo, accountStatus, cellNumber
lookUpReceipt.responseCodenumber0 indicates success
lookUpReceipt.responseMessagestringHuman-readable response status
lookUpReceipt.referencestringLookup transaction reference
lookUpReceipt.transactionDatestringDate and time of the lookup
lookUpReceipt.transactionIdnumberUnique identifier for the lookup transaction
Use the validationReference

After a successful lookup, pass the returned validationReference as part of your purchase request body (under the additionalInfo field) to link the validation to the transaction.


Last updated: March 2026