If you sell online in Kenya, M-Pesa is not optional. Many customers do not have a debit or credit card, and those who do often prefer to pay from their phone. The good news is that there are several ways to accept M-Pesa on your website, depending on your budget and how many orders you handle.
First, you need a business number
To receive payments as a business you will need a Safaricom Till number (Buy Goods) or a Paybill number. A Till is common for shops and smaller businesses; a Paybill lets customers enter an account number, which is useful for invoices, school fees or subscriptions. Safaricom charges transaction fees on business payments, so check the current tariffs for the option you choose.
Option 1: Show your Till or Paybill number
The simplest approach is to display your number at checkout and ask customers to pay and enter their M-Pesa confirmation code. It costs nothing to set up, but someone has to check every payment by hand, which gets slow and error-prone as orders grow.
Option 2: Automatic payment prompts (STK Push)
With Lipa na M-Pesa Online, also known as M-Pesa Express or "STK Push", the customer enters their phone number on your website and receives a prompt on their phone asking for their M-Pesa PIN. Once they pay, your website is notified automatically and the order is confirmed.
This is done through Safaricom's Daraja API. It gives the smoothest experience and no third-party fees on top of Safaricom's, but it needs development work, testing in Safaricom's sandbox, and an approval process before going live.
Option 3: Use a payment gateway
Payment providers that operate in Kenya can handle M-Pesa, cards and sometimes other mobile money in one checkout. They are often quicker to set up and come with ready-made plugins for platforms like WooCommerce. In return they charge a fee per transaction, and you depend on their service.
“ The right option depends on your order volume: manual checks are fine for a few orders a week, but automation pays for itself quickly once orders pick up. ”
Which option should you choose?
- Just starting, few orders: show your Till number and confirm payments manually.
- Regular orders, mostly M-Pesa: integrate STK Push directly through Daraja.
- Selling to international customers too: a payment gateway that supports both cards and M-Pesa.
Whichever route you take, make sure orders are only marked as paid once the payment is confirmed, and that customers receive a clear confirmation message. We build M-Pesa integrations for websites and business systems; tell us about your project.



