Paybills Africa Partner API: Non-floating Partners
Parter API integration guide
The following documentation describes the Paybills Africa cross-border bill payment partner APIs for Non-Floating partners.
Non-floating partners will not need to have a float account on our end but will debit their users and credit Brij in a collection account for settlement. The API is trustless, which means that confirmation of payment collection by a partner will need to be confirmed through a transaction verification API call before the bill payment is completed.
The flow diagram below summarizes the bill payment process using this API. The countries and categories API can be called periodically to GET an updated list of available countries and categories.
Authentication
To obtain a bearer token send the following fields to the token endpoint
Gets Auth token
POST
https://accounts.brij.africa/api/v1/connect/token
Use x-www-form-urlencoded body to obtain a bearer token
Request/Response Body
{
"username": "<your-username>",
"expires_in": "<your-client-id>",
"token_type": "<your-password",
}
Retrieve Countries
To retrieve countries call this endpoint with a bearer auth token
GET
https://api.paybills.africa/api/v1/partner/countries
{
"result": [
{
"id": "string",
"name": "string",
"currency": "string"
}
],
"message": "string",
"code": 1,
"errors": [
"string"
]
}
Retrieve Partner Categories
GET
https://api.paybills.africa/api/v1/partner/categories
{
"result": [
{
"id": "string",
"name": "string"
}
],
"message": "string",
"code": 1,
"errors": ["string"]
}
Retrieve Merchants
One can retrieve merchant by specifying category, country or both.
POST
https://api.paybills.africa/api/v1/partner/merchants
Request/Response Body
{
"countryId": "string",
"categoryId": "string",
"index": 0,
"pageSize": 10
}
Customer Lookup
POST
https://api.paybills.africa/api/v1/partner/lookup-customer
Request/Response body
{
"reference": "string",
"merchantId": "string",
"merchantServiceId": "string"
}
Create Order
POST
https://api.paybills.africa/api/v1/partner/create-order
Request/Response Body
{
"payerName": "string",
"payerPhone": "string",
"merchantId": "string",
"merchantServiceId": "string",
"billAmount": 0,
"billCurrency": "string", // ISO 4217
"sourceCurrency": "string", // ISO 4217
"billReference": "string",
"narration": "string"
}
Partner Callback to Paybills Africa
After debiting your user, a callback is to be sent to the following endpoint
Callback to Paybills Africa
POST
https://api.paybills.africa/api/v1/partner/order-callback
Request Body
{
"invoiceId": "string",
"partnerReference": "string",
"amount": 0,
"status": "string"
}
Bill Payment Processing Callback
After verifying the partner transaction the bill payment process will proceed and Paybills.Africa will notify the partner system of the processing status by sending a JSON payload to the partner’s callback URL.
The information sent will allow the partner to display the status and third-party references to their user or refund money in the case of a failed bill payment.
The data object may be null or contain additional metadata.
{
"invoiceId": "string",
"thirdPartyReference": “string”,// transaction reference provided by third party system
"status": “Completed or Failed”,
"data":{} | null
}
Last updated