The verdict in three sentences
Launching a mobile money checkout without QA lets 1 payment in 20 fail silently for lack of a retry, and you never see it. The real risk isn't the visible bug but the missed webhook: the customer pays, your system doesn't know, the order is lost. The fix fits in three words: sandbox, idempotency, replay.
The mobile money QA checklist
Before opening to real customers, every scenario below must be tested in the free sandbox, including failure cases. It's the failure cases that cost money, not the happy paths.
| Scenario | What to test | Why |
|---|---|---|
| Successful payment | webhook received, order confirmed | nominal case |
| USSD timeout (60 s) | "pending" status then resolution | slow customer |
| Duplicate webhook | idempotency: one order only | operator resends |
| Missed webhook | replay / reconciliation | lost order |
| Declined payment | clear message, cart kept | UX |
| Refund | funds returned + status updated | dispute |
| Wrong amount | clean rejection | fraud/bug |
The 60-second USSD timeout is the classic trap: the customer confirms on their phone slower than your page waits. Without a "pending" status, you mark the order as failed even though it will be paid.
The real cost of skipped testing
An undetected missed webhook equals a lost order. Even at modest volume, the total adds up fast.
| Volume/day | Silent failures (5%) | Average basket | Loss/day | Loss/month |
|---|---|---|---|---|
| 20 orders | 1 | 15,000 FCFA | 15,000 FCFA | 450,000 FCFA |
| 50 orders | 2-3 | 15,000 FCFA | ~37,500 FCFA | ~1,125,000 FCFA |
| 100 orders | 5 | 15,000 FCFA | 75,000 FCFA | 2,250,000 FCFA |
These losses are invisible because the customer did pay: they think they ordered, you see nothing. It's a double cost, financial and reputational.
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Mini case study
Moussa launches an online shop in Dakar without serious QA. In week one, 40 orders/day, but 5% missed webhooks, so 2 orders/day at 15,000 FCFA never recorded: 30,000 FCFA/day lost, and furious customers with no news of their order. After full QA (idempotency + retry + hourly automatic reconciliation), the silent failure rate drops to near 0. Two days of testing would have saved him nearly 900,000 FCFA in the first month and a dozen negative reviews.
FAQ
What is a missed webhook? A payment notification your server never received or processed. The customer paid, but your system ignores it; without reconciliation, the order is lost.
Why is idempotency mandatory? Because operators sometimes resend the same webhook several times. Without an idempotency key, you create duplicate orders or refunds.
Is the sandbox paid? No, the major operators' test environments are free. You simulate successes, failures and timeouts without handling real money.
How long does serious QA take? Expect 1-2 days to cover every checklist scenario. That's trivial against the 450,000 to 2,250,000 FCFA/month a faulty checkout can cost.
Should I test refunds? Absolutely: the refund is the most overlooked and most sensitive scenario. Test the fund return and status update before opening to customers.
Let's talk about your project. We run full QA on your mobile money payment, sandbox and failure cases included. 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.
