The verdict in three sentences
A payment failure is a diagnosis, not a sentence: the code the operator returns tells you exactly what to do. In Nairobi, 38% of M-Pesa STK failures are timeouts (instant retry) and a large share are insufficient funds (retry within 24 h); handling them differently recovers 6 to 12% of lost revenue. Blindly retrying an insufficient-funds decline wastes fees and annoys the customer.
The decline code taxonomy
Each code calls for a distinct action and delay. Confusing a timeout with insufficient funds means either missing a recoverable sale or burning budget on useless retries.
| Decline code (Nairobi) | Share of failures | Action | Delay |
|---|---|---|---|
| STK timeout | 38% | Instant retry | 0-30 s |
| Insufficient funds | 30% | Nudge + retry | 24 h |
| Wrong PIN | 22% | Re-enter | 60 s |
| Daily limit | 6% | Other provider | Immediate |
| Account suspended | 4% | Contact support | -- |
In Douala the MTN breakdown is comparable: 41% timeouts (retry now), 33% insufficient funds (retry in 24 h), the rest wrong PINs and limits.
Dunning timing by SMS and email
Retry is not just a technical re-trigger: a message at the right moment is the difference between a returning customer and an abandoned cart.
| Sequence | Timing | Channel | Message | Recovery rate |
|---|---|---|---|---|
| Reminder 1 | +2 h | SMS | "Your payment didn't go through, try again" | 25% |
| Reminder 2 | +24 h | SMS + email | "Top up and confirm in 1 tap" | 40% |
| Reminder 3 | +72 h | Direct payment link | 55% | |
| Close | +5 d | -5% offer to finish | 62% |
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
Samuel runs a meal-delivery platform in Nairobi, 1,200 payments/month of which 10% fail (120 failures) at an average basket of 8,500 FCFA (about 5 EUR), i.e. 1,020,000 FCFA at stake. With no retry strategy he recovers 15% (153,000 FCFA). With code-segmented retries (instant timeouts, insufficient funds in 24 h, WhatsApp dunning), he reaches 55% recovery: 561,000 FCFA, i.e. 408,000 FCFA/month of saved revenue.
FAQ
Why not retry every failure immediately? Because an insufficient-funds decline retried within the minute almost always fails and costs fees. Retrying it within 24 h, after a top-up, lifts its recovery from under 10% to 25-30%.
How many retries before giving up? Three to four, over five days maximum. Beyond that, marginal recovery falls below 3% and the annoyance risk rises. End with a soft incentive rather than yet another SMS.
Is WhatsApp really more effective? Yes: across West and East African markets, a payment link sent by WhatsApp shows an open rate above 80% and converts better than email, which is often ignored.
Can all this logic be automated? Entirely: you map each decline code to a rule (action + delay + channel) and a retry engine runs the sequence. That is what turns 15% recovery into 55%.
Let's talk about your project. We build a retry engine segmented by decline code, with automated SMS and WhatsApp dunning. 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.

