Mpesa Integration to Website: Learn How to Add Mpesa API to Your Site

M-Pesa is a mobile phone-based money transfer service in Kenya, Tanzania, South Africa, Mozambique, and Afghanistan. To integrate M-Pesa with a WordPress website, you can use a plugin or a custom integration. There are several plugins available, such as “YITH WooCommerce M-PESA Payment Gateway” and “WooCommerce MPESA Gateway.” These plugins allow you to accept payments via M-Pesa directly on your website.

Alternatively, you can also integrate M-Pesa using their API by creating a custom integration. This would require some knowledge of programming, and you would need to have a developer set it up for you.

It is important to note that you will need to have a business account with M-PESA and have completed the necessary registration process to be able to accept payments on your website.

JamboPay Mpesa Payment Gateway

One of the most popular online Mpesa Payment Gateways. Their downsides is that they charge an arm and a leg to have you use their Mpesa payment gateway. When I enquired about their services, they slapped me with a quotation that almost toppled me over.

Here is a screenshot of the email I received from them

How to Accept Mpesa on your website

To use JamboPay Mpesa gateway, you would need to pay at least Ksh 150,000 for them to setup your account. Clearly, JamboPay’s service are not for the small online trader or a struggling startup. I told them that much and headed back to Google to find a more viable solution.

PesaPal Payment Gateway

If you can forgive them for the lack of information/misinformation on their website, PesaPal are the guys to use for your online Mpesa Payments.

If your eCommerce store is built on WordPress, integrating with the PesaPal Mpesa Payment gateway is quite easy. There are several plugins available for free on the WordPress repository that make it very easy to start accepting Mpesa on your website.

1. PesaPal Pay

Last updated on November 2014, the PesaPal Pay WordPress Plugins lets you collect payments via all the mobile money transfer services in Kenya. It makes use of forms and shortcodes [pesapal_pay] and [pesapal_donations] to collect payments and donations respectively.

The plugin is not very intuitive to use. Unless you know your way around coding, I would advise you try the other alternative provided below.

2.  WooCommerce PesaPal  Standard Payment Gateway

Last updated in July 2014 and downloaded 330 times, the WooCommerce PesaPal Standard Payment Gateway extends WooCommerce’s functionality and lets you charge for goods via Mpesa and other mobile payment services in Kenya.

I could not get this plugin to work on my website, and I finally gave up trying to use it.

I am not sure why the developer insists that you use demo consumer key and api during installation…

  3.  PesaPal Gateway for WooCommerce

This is the WordPress plugin that I ended up using on my online stores. It is super easy to use when you have WooCommerce installed on your WordPress website.

  • Simply download the plugin from the WordPress repository
  • Unzip it and upload it via FTP to wp-c0ntents/plugins.
  • Activate on your WordPress Dashboard
  • Go to WooCommerce Settings and Click on PesaPal
  • Enter your PesaPal API Key and Consumer Secret and start accepting payments via Mpesa!

I actually tried it with a sample product that I created on my website, and it works like a charm!

Lipa na Mpesa Online

Safaricom actually have an online Payment Gateway where you can Lipa na Mpesa. This came as a surprise to me. However, I cannot understand why I have to call or email them in order for them to share the details of the application with me.

Those are the 3 online Mpesa payment gateways that I am currently aware of. PesaPal takes the trophy home. It is super easy to register for a Merchant account on their website and the available free plugins makes it a darling to work with.

With the PesaPal Payment Gateway, there is no reason why you should not be selling your goods online. Contact me today to set up a beautiful online shop for your business.

37 thoughts on “Mpesa Integration to Website: Learn How to Add Mpesa API to Your Site”

  1. HELLO my name is benjamin, am working on the same project and i need your help.
    i have already signed up with pesapal buh the problem i have is integrating it with my website (
    all i need is a donation form but through pesapal. Can anyone help me with the code.

  2. Dear Patrick Mahinge,

    Thanks for your interesting blog. I was wondering, do you need a Lipa Na M-Pesa number to use these service and go through the required process with KRA Pin, Business License, or is there a way to circumvent this process? Looking forward to hear from you.

    Kind regards, Tim Dost

  3. Hi Patrick,

    This is nice post on integrating Mpesa payments on websites.

    However, for those looking for ways to custom integrate Mpesa to their custom websites, the integration on Safaricom website is not very clear.

    This has already been solved by easy plug and play solutions offered at

    Just follow it and see what you can come up with.

  4. HI I need help with integrating mpesa payments on my woocommerce website.
    Any competent developer from kenya please help

    • Are you a developer? Or just looking for someone to integrate. I could be of help in integrating Mpesa payments. Please call me on: +254706745202.

      • Hello Brian,
        I have a freelancing site, I want to integrate instant Mpesa Online deposit and withdrawal, to work exactly the way it works for BETIN.CO.KE

        Clients should be able to instantly load cash via Mpesa to their account and should also be able to withdraw cash to Mpesa instantly.

        Are you able to do this kind of integration for me?

        [email protected]
        Mobile: 0721519271

  5. Thank you Patrick Kihara for such an informative post. Francis Ndungu, your guide is also very good. I salute you kind gentlemen, and all those contributing to the replies for taking your time to add insight to the pool of knowledge. I will save a lot of money doing this myself. I would also like to copy something akin to what betting sites have, where when a customer pays money into my paybill, or till, it shows the balance on the website, almost instantaneously. They can then let the money lie there, or make a purchase with that balance. Any guide on doing that? Bravo folks

  6. hello guyz av tried my best but iget this error
    requestId “25797-1030804-1”
    errorCode “400.003.02”
    errorMessage “Bad Request – Invalid ValidationURL”
    what coulbe the problem am using php and xammp as my server

  7. Hey guys, I am using Angular with Firebase (no PHP stuff), and I’m having a difficult time integrating mpesa to my site. Anyone managed to do it

  8. May i get someone to help me go through all this process and integrate Mpesa to my woocommerce site?
    My name is OLIVER CHANYA and my phone number is 0720083869
    Offcourse for a fee.

  9. Hey. I love this article, keep it up.I would love to network with you. I am blogger and a freelance web developer. If anyone needs Mpesa integrated on your site plus Airtel money and card payments for free reach me via 0111279909


Leave a Comment