Airtime API, SMS API, Payment API (pesalink, airtel and Mpesa b2c, b2b, stk-push)

Please wait...

B2C Documentation

Many systems that process receipts will also require outward payments processing. This could range from employees' salary disbursements to paying other merchants that accept M-PESA payments.

This feature is available via web portal for business to customers (B2C). On this, developers can have this done via our API, which empowers them to the process of generating payments file, putting it in the right format then uploading it via the web portal, after which it processed by the telco.

Every time a transaction status changes, we will forward you the transaction notifications for you to process.

With the B2C API, this is now seamless.

Getting started

Getting started is easy. All you will need is a Payment Product configuration in your Dibon's account. You can have as many products as you wish, and each will be linked to a payment provider (such as Safaricom's M-PESA) through one of their payment channels.


This documentation is intended to guide third party application developers interact with the Dibon Payments platform in an easy way using HTTP Post and JSON.

This is accomplished by registering a bulk number that can either be paid to or be used to make payments from.

The API request is made via HTTP POST to
All parameters below are compulsory. The parameters are:

Parameter Description Example
api_key This should match the api key that you have generated for your developer account here 2_aa67677e8bf1d4c8fe886a38c03a860
client_id This should match your organization id. 2
command_id Pass this as mpesa_b2c mpesa_b2c
business_shortcode Organization's shortcode initiating the transaction (should be registered on the dashboard) 132345
phone_number Phone number receiving the transaction 0712345678
amount The amount being transacted 200

API Response

The response from the Dibon API will be a JSON object which the client application can process.

Please note that in order to ensure that you do not miss any transaction notifications the instant they come onto our api, you will need to register a call back url that we will invoke whenever we receive a notification for your service transaction. This is done on your Dibon Account B2C Call Back Section.

Every time a transaction status changes, we will forward you the following information as POST variables as outlined below as a JSON object.

The following POST parameters that will be passed will be as follows

Parameter Description Example
customer_name Name of the subscriber receiving the transaction James Rambo
phone_number Phone number receiving the transaction in E.164 format 254723456789
amount The transaction amount 10.00
result_code The result code 100
result_desc The result description of the result code Success
third_party_trans_id The reference number as assigned by the mobile money provider HR8584JDJD
account_balance The account balance 34000.00
transaction_time The date and time stamp of the transaction 2017-05-18 18:23:23

Sample API Request

Sample Callback URL Script
          "customer_name":"James Rambo",
          "transaction_time":"2017-05-18 18:23:23"