Updated 27 October 2026
Quick answer: there are three ways to accept M-Pesa on a Kenyan website. You can show your till or paybill number and confirm payments by hand, use a payment gateway such as Paystack or IntaSend that adds an M-Pesa button to your checkout, or connect your own till or paybill directly to Safaricom’s Daraja APIs so the customer gets a PIN prompt on their phone. A gateway is the fastest to set up. On the published price lists read on 25 October 2026, Paystack charges 1.5% per M-Pesa payment and IntaSend 3%. A direct Daraja connection avoids the gateway fee, but you pay the normal Lipa na M-Pesa merchant charges and need a developer.
This guide compares the three routes, shows what each costs on a typical order, lists what you need before you start and explains the mistakes that cost small businesses money. Prices change, so check each provider’s page before you sign up.
In this guide
The Three Ways to Take M-Pesa Online
| Route | How the customer pays | Setup effort | Best for |
|---|---|---|---|
| 1. Show your till or paybill | Customer leaves your site, pays on their phone, sends you the code | None | A few orders a week, services booked by WhatsApp |
| 2. Payment gateway (Paystack, IntaSend, Pesapal and others) | Customer enters their number at checkout and approves a prompt on their phone, or pays by card | Low: sign up, verify the business, install a plugin | Most online shops and booking sites |
| 3. Direct Safaricom Daraja integration | PIN prompt (M-Pesa Express, also called STK Push) on the customer’s phone, money goes straight to your till or paybill | High: a developer, a server and Safaricom go-live approval | Businesses with steady volume and in-house or hired tech skills |
Route 1: Show Your Till or Paybill at Checkout
The simplest option is to add your Buy Goods till or paybill number to your checkout page or invoice. The customer pays from their phone and you match the M-Pesa message to the order. If you do not have one yet, see how to apply for an M-Pesa business till or how to apply for a Lipa na M-Pesa paybill, and our Lipa na M-Pesa explainer for the difference between the two.
Under Safaricom’s Lipa na M-Pesa tariff, a customer pays a Buy Goods till free in normal use. The merchant pays nothing on payments up to KSh 500 and 0.55% above that, capped at KSh 200. Full details are in Lipa na M-Pesa Buy Goods charges.
The weakness is manual checking. Fake “payment” screenshots and forwarded messages are common, so only release goods after the money shows in your own M-Pesa statement or business portal, never on a screenshot. This works for a handful of orders but becomes slow once you get several a day.
Route 2: Use a Payment Gateway
A gateway adds an M-Pesa option (and usually cards) inside your checkout, confirms the payment automatically, marks the order as paid and settles the money to your bank account or M-Pesa. Most have free plugins for WooCommerce and work with hosted website builders.
| Item (as published 25 Oct 2026) | Paystack Kenya | IntaSend |
|---|---|---|
| M-Pesa collection fee | 1.5% | 3% |
| Local card fee | 2.9% | 3.5% |
| International card fee | 3.8% | 4.5% |
| Setup or monthly fee | None listed | None listed on the pricing page |
| Fee on a KSh 2,000 M-Pesa order | KSh 30 | KSh 60 |
| Payout to M-Pesa wallet | KSh 20 (up to KSh 1,500), KSh 40 (to KSh 20,000), KSh 60 above | Flat KSh 100 per M-Pesa disbursement |
| Payout to a bank account | KSh 80 to KSh 350 by amount | See provider |
| Settlement time | Two working days (T+2) | See provider |
Source line: paystack.com/ke/pricing and intasend.com/pricing, read 25 October 2026. Pesapal and other Kenyan gateways publish their own rates; compare them on the same order size before choosing.
How to Set Up a Gateway
- Register your business name or company first. Gateways ask for business documents before they pay out to a business account. Registering a business name costs KSh 950 at BRS.
- Open a merchant account with the gateway and complete its verification (ID, KRA PIN, business documents, settlement account).
- Install the gateway’s plugin on WordPress and WooCommerce, or switch on the payment option in your website builder.
- Paste your test keys, run a test payment, then switch to live keys.
- Place one real order with your own phone for a small amount to check the full flow, including the order email.
Route 3: Connect Directly to Safaricom Daraja
Safaricom’s Daraja developer portal (developer.safaricom.co.ke) gives access to M-Pesa APIs. The two most used for websites are M-Pesa Express, which sends a PIN prompt to the customer’s phone, and the C2B APIs, which send your server a notice each time someone pays your till or paybill. You build and test in a sandbox first, then apply to go live with your own shortcode.
What you need:
- A live Lipa na M-Pesa till or paybill in the business’s name.
- Access to the M-Pesa business administration account for that shortcode.
- A developer, and a website on hosting that supports server-side code and HTTPS. Shared hosting with PHP, such as a Truehost (affiliate link) WebHosting plan, is enough for a small shop.
- A secure callback URL where Safaricom sends payment results.
The upside is that there is no gateway percentage and the money lands in your M-Pesa business account straight away. The downside is the build and maintenance work, and no card payments unless you add a gateway as well.
Which Route Costs Less? A Worked Example
| KSh 2,000 M-Pesa order | Cost to you | Money in hand |
|---|---|---|
| Own Buy Goods till (manual or Daraja) | KSh 11 (0.55%) | Immediately |
| Paystack | KSh 30 (1.5%), plus payout fee if paid to M-Pesa | T+2 |
| IntaSend | KSh 60 (3%), plus KSh 100 per M-Pesa withdrawal | See provider |
For a shop doing 10 such orders a day, the gap between 0.55% and 1.5% is about KSh 190 a day. That is often less than a developer’s monthly maintenance fee, which is why most small shops start with a gateway and move to Daraja only when volume grows.
Common Mistakes to Avoid
- Using a personal number. Customers trust a registered till or paybill name more than a person’s name, and personal lines have lower limits.
- Releasing goods on screenshots. Always confirm in your statement or gateway dashboard.
- Hiding fees until checkout. Show delivery charges early.
- Letting a developer own the accounts. Keep the gateway, Daraja app and domain in the business’s name. See how to get your domain back from a web designer.
- Forgetting tax. Online sales are taxable like any other. See eTIMS registration for small businesses where it applies to you.
Building a shop from scratch? Read how to start an online shop in Kenya and compare Pochi, till or paybill.
Frequently Asked Questions
Can I accept M-Pesa on my website without a developer?
Yes. A payment gateway plugin for WooCommerce, or a website builder with payments built in, lets you add M-Pesa without writing code.
How much does Paystack charge for M-Pesa in Kenya?
1.5% per M-Pesa payment on its Kenya price list read on 25 October 2026, with no setup or monthly fee. Payouts to an M-Pesa wallet cost KSh 20 to KSh 60.
What is STK Push?
It is the PIN prompt that appears on the customer’s phone after they enter their number at checkout. Safaricom calls it M-Pesa Express on the Daraja portal.
Can I use Pochi la Biashara on a website?
You can show a Pochi number for manual payments, but website integrations and gateways work with tills and paybills, so a till is the better choice for an online shop.
Do I need a registered business?
For a gateway or a Daraja go-live, yes in practice: providers ask for business documents before paying out.
Last checked 25 October 2026 on paystack.com/ke/pricing, intasend.com/pricing, developer.safaricom.co.ke and truehost.co.ke.
Prefer WhatsApp? Follow Business Radar on WhatsApp
Weekly, free. We only use your email for this newsletter and you can unsubscribe in one click. Privacy policy.

