The verdict in three sentences
In Nairobi in 2026, integrating M-Pesa STK Push directly into checkout costs between KES 150,000 and 350,000 in development and leaves you in control of the prompt flow. The tricky part is not the API but the 30 to 90 second confirmation and the 4 to 7 % timeout failure rate you must handle cleanly. Below a certain volume, a turnkey aggregator stays more cost-effective despite higher fees.
The STK Push flow is not a card swipe
A card is entered and done. M-Pesa STK Push runs a prompt flow: your server triggers a payment request, Safaricom pushes a prompt to the customer's phone, they enter their PIN, and you receive confirmation by callback. Between trigger and confirmation, 30 to 90 seconds pass during which your checkout must show a clear waiting state, otherwise the customer thinks it crashed and abandons.
| 2026 parameter (Kenya) | Value |
|---|---|
| Merchant fee | 0-1.5 % |
| Cap per transaction | KES 250,000 |
| Confirmation delay | 30-90 s |
| Timeout failure rate | 4-7 % |
| Settlement | T+1 |
| Collection modes | C2B, Paybill, Till |
The integration steps and their cost
A clean direct integration follows four steps. Each carries a cost and a risk if rushed.
| Step | Content | Estimated cost | Risk if skipped |
|---|---|---|---|
| API keys | Merchant account, sandbox, prod keys | KES 25,000-50,000 | Blocked go-live |
| STK trigger | Payment call + waiting screen | KES 50,000-100,000 | Cart abandonment |
| Callback | Receipt + signature verification | KES 40,000-100,000 | Unmatched payment |
| Retry + timeout | Retry on failure, idempotency | KES 40,000-100,000 | Double charges |
Against this, an aggregator wires you in a few days for 2.9 % + fixed per transaction, with no upfront dev. Direct integration drops to 0-1.5 % but ties up the dev budget first.
The francophone equivalent: Moov Money USSD
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
In Lomé, the equivalent is called the USSD flow: the operator pushes a prompt to the customer's phone, exactly like STK Push. The local distinction is the collection mode and a merchant fee of 1.5 to 2 %. The technical pattern is identical: trigger, wait for confirmation, handle the callback timeout.
Mini case study
James runs a sneaker store in Nairobi: 300 orders a month, average basket KES 6,500, roughly KES 1,950,000 collected. With an aggregator at 2.9 %, his monthly fees are about KES 56,550. On direct STK Push at 1 %, they fall to KES 19,500, a saving of KES 37,050 a month.
For a dev cost of KES 300,000, the break-even lands at roughly 8 months. James benefits from going direct; a store at 60 orders a month does not.
FAQ
Does STK Push work across collection modes? Yes for the technical core, but Paybill, Till and C2B each carry their own onboarding and fee schedule, from 0 to 1.5 % in 2026. The per-transaction cap stays KES 250,000.
How do I avoid double charges on retry? Use an idempotency key per order: if the customer retries, Safaricom recognises the same reference and does not charge twice. It is the step most often rushed and the costliest in disputes.
What do I show during the 30 to 90 second wait? An explicit waiting screen with a countdown and the instruction "approve the prompt on your phone". This sharply cuts timeout abandonment, which weighs 4 to 7 % of attempts.
Aggregator or direct to start? Below 150 orders a month, the turnkey aggregator is more cost-effective and faster to launch. Beyond that, direct integration pays back its dev cost within months.
Let's talk about your project. We integrate M-Pesa STK Push into your checkout with clean timeout and retry handling. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.
