All Insights
Payments & E-commerce· 6 min read · Updated 2026-09-11

📱Accept M-Pesa Payments on Your Website: A Kenyan Guide

STK push, paybill or Daraja API — how Kenyan businesses actually accept M-Pesa online, and what it costs to set up.

In Kenya, M-Pesa is not a payment option — it's the payment option. Yet many businesses still take orders online and chase payments by asking customers to 'paybill then send us the receipt'. This guide covers the real ways to accept M-Pesa on your website, the costs involved, and the questions to ask before you build.

Key takeaways

  • STK push is the modern default for online M-Pesa — automatic, instant, proven via Daraja API
  • Paybill + API suits larger bills and invoices; till manual confirmation is only a starting point
  • Integration typically adds KES 20,000–60,000 to a build; the API itself is free, per-transaction fees apply
  • Ask about Daraja setup, reconciliation reports, timeout handling and who maintains the integration
01

Why M-Pesa integration is table stakes in Kenya

Roughly 96% of Kenyan households use M-Pesa. When a customer lands on your site and the checkout asks for a card they don't have — or worse, for a 'paybill then screenshot' dance — you've already lost them. Friction is the silent killer in Kenyan e-commerce, and the fix is letting customers pay in the way they already pay for everything else.

The good news: accepting M-Pesa online has moved from 'enterprise integration' to a standard feature. The costs are modest, the developer ecosystem is mature, and it unlocks serious conversion gains for booking, retail and service businesses.

02

Option 1: STK push (the modern default)

STK push is the 'please enter your M-Pesa PIN' flow you see in apps like Uber and e-commerce stores. Your customer checks out, enters their phone number, M-Pesa opens on their phone, they confirm, and your site verifies the payment in seconds — all automatically.

This is done through Safaricom's Daraja API (the Lipa na M-Pesa Online / STK Push endpoint). It's the right choice for any checkout that should feel instant: e-commerce, bookings, deposits, pay-per-view content. Of the three options it requires the most development work, but it's a solved problem — experienced developers implement it in days, not months.

03

Option 2: Paybill integration

A paybill number is how many Kenyan businesses still collect M-Pesa. The website shows your paybill and account number, the customer pays in their M-Pesa app, and — with API integration — the site automatically reconciles the payment against their order.

Paybill works well for larger bills, invoices and when you already have a paybill for other channels. The catch: it's more manual and reconciliation-heavy. Combined with a website it still saves your team hours a week compared to matching screenshots by hand.

04

Option 3: Till numbers — only for manual workflows

A till number on a website with 'send us your receipt' is what most Kenyan businesses do, but it's a placeholder, not a solution. It means someone on your team matches payments to orders manually — a cost, and a source of errors, that grows with every order.

If your volume is a handful of orders a week, a till with manual confirmation works while you validate your product. Plan from day one to upgrade to STK push as volume grows.

05

What it actually costs

The API itself is free to integrate — Safaricom charges per transaction (roughly 1%–1.5% depending on your merchant agreement and tariffs). The real cost is development: expect STK push integration to add KES 20,000–60,000 to a build, depending on whether you need receipts, refunds, invoice generation and reconciliation dashboards.

You'll also need a merchant/API account with Safaricom (Daraja credentials) and, for compliance, your business registration details. A good developer handles the full application flow — many Kenyan businesses stall here because the paperwork is unfamiliar, not because it's hard.

06

The questions to ask before you build

Before approving a build with M-Pesa: does the quote include the Daraja account setup? Will payments be verified automatically or manually at first? What happens if a transaction times out? Is there a reconciliation report, or just a payment log? Do they test with real and sandbox credentials? And who maintains the integration — M-Pesa's API changes break silent sites?

Buying a payment integration is buying a promise that money works end-to-end. The difference between a well-built integration and a bolted-on one shows up on your first busy day.

Frequently asked questions

How much does it cost to accept M-Pesa on my website?

The Daraja API is free to integrate; Safaricom charges per transaction (roughly 1–1.5%). Development adds KES 20,000–60,000 to a build for STK push with receipts and reconciliation. A till or paybill with manual confirmation costs nothing extra but costs staff time.

What's the difference between STK push and paybill?

STK push is initiated from your website — the customer enters their number and confirms in the M-Pesa app, and payment verifies automatically. Paybill is customer-initiated in their M-Pesa app; an API can reconcile it automatically, but the flow starts outside your site.

Do I need a business registration to integrate M-Pesa?

Yes — Safaricom's Daraja API requires merchant credentials, which need your business registration details. An experienced developer handles the application flow, which is where many Kenyan businesses get stuck on paperwork.

Can my website verify M-Pesa payments without manual checking?

Yes, with STK push or a paybill integration using Daraja's callbacks — payments are confirmed automatically and reflected in your order system. What you should ask for is a reconciliation report so your finance team can audit transactions.

Keep exploring

Put this into action

Get a free scope and transparent quote from the team that builds, hosts and maintains business sites in Kenya.

Start a Conversation