25 | 4,716
MPESA released their new API (Application Programming Interface) to enable developers to access M-Pesa services;
Early 2017, we launched SapamaCash.com which is an online MPESA Paybill and Buy Good Analytics Dashboard that enables merchants to record payments and customer details from MPESA API and analyse these information in infographic charts and graph that give them actionable insights into your customer payment patterns. It’s something like Safaricom M-Ledger but for Lipa Na Mpesa Merchants. Intially, we were using the old API and in mid 2017 we embarked on migrating to the new API.
In the spirit of giving back to the community and assist other developers, we decided to document and share the process we undertook in integrating to the MPESA API:
Step 1: Creating an account on MPESA G2 Portal
The MPESA G2 portal is an online platform where merchants access paybill or till number transactions. The purpose of this step is to create a user who will be sent a One Time Password (OTP) before going live. Although online, you need to install a certificate in your Windows Internet Explorer. Below is the procedure:
Step 2: Creating an app on MPESA Developer Portal
MPESA Developer Portal enables a developer to create an app and use that app to access the MPESA API's. The purpose of this step is to be able to create an app. There is the test app and live app. The test app is used for development and after going live, an live app will be automatically created. This involves the following steps:
Step 3: Writing to C2B, B2C or B2C code
You need to write the code to handle C2B request or to send B2C and B2C request. The code can be written in the programming language of your choice. Kindly check this MPESA API wrapper that you can use to write the code Sapama Pay Github
The library will enable you to register endpoint urls and test the API's. During this step you'll use the Consumer Key's and Consumer Secret of the test app created in Step 2. The URL you register need to be SSL or https. You can get a certificate from MPESA and install it on your server or use Lets Encrpt
Step 4: Going live
After making sure that your code is working correctly, you'll need to go live that is a four sub step processes that enables you to verify you are the actual owner of the API by sending a one time password to the phone number of the user you created in Step 1.
Maybe, we might have missed something but it's our hope that these four steps will serve as a bridge. That they'll make your Mpesa integration journey a little bit easier and help you connect the dots.
Well, well, you can always reach out to us and we are open to assist where we can.
2.Scroll down and click on "Get Test Credentials"
4. Select either test or production to set the password.
@Ahemd, yes, you can use B2B to move money from Business to Business or B2C from Business to Customers. Although, since the last time I checked, you cannot use the same paybill for both C2B and B2C.
@Marwa, the new API only supports REST.
Which tool did you use to create the API documentation?
you can have 3 environments. A test and live environment using the test and live keys respectively so that you can use either during migration. Also, perform a dry run.
The initiator error means that either the paybill or Head Office number (when using till number) is incorrect. Kindly confirm this from the client.
You register the urls after going live. Also, remember to use the production consumer key and secret from the "live" app
Join the following group to enquire more on the API: https://t.me/payments_api
please help me on what is required to setup and automate freelancers payouts such that freelancers will only request withdrawal (hit withdraw + select amount) and the app will automatically aprove and send money to their registered Mpesa acounts. the condition is there must be enough money to withdraw and pay the fees for processing payments.
a developer needs this information to intergrate Mpesa payments into my app.
You need to integrate B2C API so that you can automatically payout from your Bulk M-Pesa account. Kindly note that you need at least 35,000 in that account to test.
Your email address will not be published. Required fields are marked *