The verdict in three sentences
Moov Money and M-Pesa aim at the same goal — collecting from a wallet — but their UX differs radically: M-Pesa's STK push (Daraja) takes ~12 s, Moov's USSD-collect ~40 s. That gap translates into 88 % checkout completion for M-Pesa versus 76 % for Moov USSD. Our rule: on M-Pesa markets favour STK push; on Moov markets cut USSD steps to the strict minimum and offer a fallback.
Moov Money vs M-Pesa: the comparison
The two systems share neither the flow, the fees, nor the experience. Here are the 2026 orders of magnitude.
| Criterion | Moov Money | M-Pesa |
|---|---|---|
| Flow | USSD-collect / push | STK push (Daraja) |
| Payment time | ~40 s | ~12 s |
| Merchant fee | 1.0-1.5 % | 1.0-1.5 % |
| Completion rate | 76 % | 88 % |
| Settlement | T+1 / T+2 | T+1 |
| Sandbox | Yes (limited) | Yes (Daraja) |
| Markets | CI, BJ, TG | KE, TZ, others |
The STK push gains 12 completion points because it spares the customer dialling a code and navigating menus. On Moov, every USSD step removed recovers conversion points.
Daraja (M-Pesa) integration step by step
M-Pesa's Daraja API is well documented but holds a few traps. Here are the key steps and common mistakes.
| Step | Detail | Common trap |
|---|---|---|
| Auth | OAuth token (~1h) | Regenerate before expiry |
| STK push | Lipa Na M-Pesa Online | Timestamp + base64 password |
| CallbackURL | Public HTTPS | Localhost rejected |
| ResultCode | 0 = success | Don't trust HTTP 200 |
| Query | STK Push Query | For missed callbacks |
| Reconciliation | Match by CheckoutRequestID | Idempotency required |
Trap #1: believing an HTTP 200 means the payment succeeded. You must read the callback's ResultCode (0 = success). Trap #2: a non-HTTPS or localhost CallbackURL, systematically rejected.
Mini case study
Ama, who runs an online cosmetics store in Accra, sells 600 orders/month at a 15,000 average basket. With a Moov USSD checkout (76 % completion) she loses 24 % of attempts, i.e. ~144 abandoned orders = ~2,160,000 of lost revenue/month. Moving to an optimised push flow (88 %), she only loses 12 %, recovering ~1,080,000/month. Optimising the payment flow is worth far more than 0.5 % of fees.
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
FAQ
M-Pesa or Moov Money, which converts better?
M-Pesa via STK push: ~88 % completion versus ~76 % for Moov USSD, thanks to a shorter journey (~12 s vs ~40 s).
Is the Daraja sandbox enough to test?
Yes for the full flow (auth, STK push, callback), but always test in production with small amounts before opening to customers.
How to handle a missed M-Pesa callback?
Use the STK Push Query with the CheckoutRequestID to fetch the real status. Never confirm an order without ResultCode = 0.
What fees should I expect?
Between 1.0 and 1.5 % merchant-side for both, with T+1 settlement on M-Pesa and T+1/T+2 on Moov depending on the country.
Can I offer both in one checkout?
Yes, with a payment abstraction layer that routes by country and customer wallet to maximise completion.
Let's talk about your project. We integrate M-Pesa (Daraja) and Moov Money into your store with a completion-optimised checkout. 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.
