The verdict in three sentences
A generic error ("payment declined, try again") abandons the sale; a precise message mapped to the decline code recovers it in 18 to 27 % of cases. Most declines are recoverable: 38 % insufficient balance and 21 % wrong PIN are fixed in seconds if the customer knows what to do. The rule: translate each code into a readable cause + concrete action, and offer a guided retry within a 90-120 second window.
Decline breakdown in 2026
Knowing where failures come from sets UX priorities. Here is a 2026 order-of-magnitude.
| Decline cause | Share of failures | Recoverable? |
|---|---|---|
| Insufficient balance | 38 % | Yes (top-up + retry) |
| Wrong PIN | 21 % | Yes (re-entry) |
| Limit reached | 14 % | Partially |
| Timeout (no validation) | 12 % | Yes (fast retry) |
| Number not registered | 9 % | Yes (other number/method) |
| Other (technical, fraud) | 6 % | Variable |
The top three causes (balance, PIN, limit) alone account for 73 % of failures — and nearly all are recoverable with the right message.
Mapping code => message => action
Here is the translation table to wire into your checkout, by operator error type.
| Cause / code | Suggested customer message | Proposed action |
|---|---|---|
| Insufficient balance | "Mobile money balance too low" | Button "I topped up, retry" |
| Wrong PIN | "Incorrect secret code" | Re-trigger validation, 3 tries |
| Limit reached | "Daily limit reached" | Offer Wave/card or tomorrow |
| Timeout | "Validation not received in time" | Immediate retry within 120 s |
| Number not registered | "This number has no account" | Enter another number/method |
Each message stays short, jargon-free, and ends with a clickable action. The customer must never hit a wall: always a button to move forward.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Moussa runs an online fashion shop in Thiès: 600 payment attempts/month, 15 % of which fail (90 failures). Average ticket 20,000 FCFA, 35 % margin (7,000 FCFA).
- Before (generic message): ~5 % of failures self-recover, i.e. ~5 sales saved = 35,000 FCFA of margin.
- After (mapping + guided retry): recovery of 23 % of the 90 failures = ~21 sales = 147,000 FCFA of margin. That is +112,000 FCFA/month for simple message and retry-button work.
Over a year, that is roughly 1,344,000 FCFA of margin recovered without a single extra euro of advertising.
FAQ
What is the ideal retry window? Between 90 and 120 seconds after failure. Long enough to top up or re-enter the PIN, short enough to keep purchase intent. Past 3 minutes, the recovery rate collapses.
Should I offer another payment method on every failure? Yes, especially on "limit reached" and "number not registered". Switching to Wave, card or another number turns a final decline into a saved sale.
How many PIN attempts to allow? Usually 3, which most operators tolerate before locking. Beyond that, steer to another method to avoid locking the customer's account.
How do I handle timeouts without double charging? Never re-trigger a payment without checking its real status with the operator: a timeout is not always a failure. Query status before offering a retry to avoid charging twice.
Should messages be in French only? No: offer at least FR and EN, and depending on your audience, simple wording in a local language (Wolof, Dioula) on critical messages markedly lifts recovery.
Let's talk about your project. We wire a checkout that turns every decline into an action and recovers your lost sales. 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.
