Bill Payment Guide
This guide covers everything you need to know about processing bill payments and utility transactions in your Open Banking application, from electricity bills to airtime purchases.Overview
Bill payment functionality is a crucial component of any modern banking application. Our API supports comprehensive bill payment operations that allow you to process payments for various utilities, services, and bills. This functionality enables you to provide convenient payment solutions for your customers’ everyday needs.Bill Payment Flow
The bill payment process follows a structured flow to ensure accurate payments and proper validation. Here’s the complete step-by-step process:1
Get Biller Categories
The first step in the bill payment process is to retrieve all available bill payment categories. This provides users with an organized view of different types of bills they can pay. Categories include:
- Electricity
- Water
- Cable TV & Internet
- Airtime & Data
- Education
- Insurance
- Government & Taxes
- Others
Sample Request
Sample Request
Sample Response
Sample Response
Getting biller categories does not require customer consent so therefore there is no need to request for scope to carry out this API call.
2
User Selects Category
Once the categories are displayed, the user selects the appropriate category for the bill they want to pay. This selection helps narrow down the available billers and provides a better user experience.
3
Get Billers in Category
After category selection, the application uses the selected category ID to retrieve all billers within that category. This returns a list of specific service providers or billers that the user can choose from.For example, if the user selects “Electricity”, the system will return all electricity distribution companies available for payment.
Sample Request
Sample Request
Sample Response
Sample Response
Getting billers does not require customer consent so therefore there is no need to request for scope to carry out this API call.
4
User Selects Biller
The user then selects the specific biller from the list of available billers in the chosen category. This could be their electricity company, water authority, or any other service provider.
5
Enter Biller Reference
The application prompts the user to enter their biller reference number. This could be:
- Meter number (for utilities)
- Account number
- Customer ID
- Phone number (for airtime)
- Student ID (for education fees)
- Policy number (for insurance)
6
Validate Biller Reference
The application calls the bill validation API to verify the reference number with the selected biller. This validation ensures:
- The reference number exists
- It belongs to the customer
- Current outstanding amount (if applicable)
- Due date information
- Account holder name confirmation
Sample Request
Sample Request
Sample Response
Sample Response
Make sure you send the scope
bills.bill.validate while requesting for a token, failure to send the scope will lead to the issued access token not able to access this API.The
biller_id typically looks like 3|22|GOTV_MAX make sure it is URL encoded.The
bill_reference is the biller issued customer id e.g. for DSTV it is your decoder number, for airtime it is your phone number.7
Get Customer Accounts
After successful validation, your application should retrieves all available customer accounts that can be used for payment.
Sample Request
Sample Request
Sample Response
Sample Response
Make sure you send the scope
accounts.list.readonly while requesting for a token, failure to send the scope will lead to the issued access token not able to access this API.8
User Selects Account
The customer selects which account they want to use for the bill payment. Your application should display account details with sufficient information for customer to decide which account to use e.g. Account Name, Account NUmber, Account Balance etc
9
Process Bill Payment
The application calls the bill payment API with the following parameters:
- Selected account number
- Selected biller information (category ID, Biller ID, Product ID)
- Payment amount
- Payer info (Information about the payer e.g. Name. email, phone)
-
Any additional required information (To be passed in customer Properties)
Sample Request
Sample Response
Make sure you send the scope
bills.transactions.create while requesting for a token, failure to send the scope will lead to the issued access token not able to access this API.10
Handle Payment Response
Based on the payment response, the application displays an appropriate message to the customer:Successful Payment:
- Payment confirmation
- Transaction reference number
- Payment receipt
- Success message
- Error message explaining the failure
- Suggested resolution steps
- Option to retry payment
Next Steps
Now that you understand bill payment operations, explore these related topics:- Developer Onboarding - Onboard Developer
- Customer Management - Manage customer information and relationships
- Account Management - Manage bank accounts and balances
- Transfers - Process money transfers between accounts
- Card Management - Manage Payment Cards
- Loan Information - Access customer Loan Information
Always follow the complete bill payment flow to ensure accurate payments. Validate biller references and customer account details before processing payments. Implement robust security measures and provide clear user feedback throughout the payment process for successful bill payment operations.