The verdict in three sentences
In 2026, a store without robust reconciliation typically loses 3 to 8% of its payments: orders paid but not recorded, or duplicates billed. The cause is almost never the operator, but a badly handled webhook on the store side (no idempotency, no fallback polling, status read from the front-end). The fixes are simple and well known; the problem is they're rarely all implemented together.
The gap causes and their fixes
Each type of gap has a frequency, a financial impact and a precise technical fix. Handling them one by one closes the leaks.
| Gap cause | Frequency | FCFA impact | Technical fix |
|---|---|---|---|
| Webhook never received (network) | Medium | Lost order | Fallback polling every 2-5 min |
| Double notification | Frequent | Double billing | Idempotency by transaction key |
| Status read from front-end | Rare but severe | Possible fraud | Server-side confirmation only |
| Server timeout > 5 s | Medium | Retry loop | Return 200 fast, process async |
| Signature not verified | Rare | Fake payment | Always verify HMAC/secret |
| No log | Frequent | Untraceable disputes | Timestamped log of every event |
The winning pair is idempotency + polling: the webhook notifies fast, polling catches what's missing, and the unique key prevents any duplicate.
Webhook SLA and the cost of an unreconciled dispute
Operators don't offer the same webhook delivery guarantees. Knowing the ballpark helps size the fallback polling.
| Element | 2026 ballpark | Practical consequence |
|---|---|---|
| Median webhook delay | 2-10 seconds | Near real-time confirmation |
| Missed webhook rate | 1-4% | Justifies systematic polling |
| Operator retry window | Minutes to 24 h | Make the endpoint idempotent |
| Average cost of an unreconciled dispute | 5,000 - 40,000 FCFA | Client time + refund/gesture |
| Manual matching time/month without log | 3-8 hours | Recurring hidden cost |
An unreconciled dispute rarely costs only money: it erodes customer trust and the owner's time. The reconciliation log is the cheapest insurance in the setup.
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 runs an electronics store in Thies, 600 payments/month, average basket 45,000 FCFA. Before reconciliation he saw ~5% gaps, i.e. 30 problem payments/month: about 20 missed webhooks (orders to recover) and 10 duplicates (to refund). Each case cost him ~15 minutes and sometimes a goodwill gesture. After adding idempotency + polling + log (1.5 days, 180,000 FCFA), the gap drops below 0.5%. Savings: ~7 hours/month of matching and ~120,000 FCFA/month of payments previously lost or wrongly refunded. The integration paid for itself in under two months.
FAQ
Is a webhook enough to confirm a payment? No. The webhook notifies, but it can be lost. The safe rule: webhook for speed, fallback polling for certainty, and status confirmation server-side only.
What is idempotency, concretely? It's guaranteeing that the same payment event, received twice, creates only one order. You achieve it with a unique per-transaction key checked in the database before any processing.
How many payments are lost without reconciliation? A ballpark of 3 to 8% depending on network and integration quality. On 600 payments/month that's 18 to 48 cases to handle by hand.
Doesn't polling overload the system? No, if targeted: you only query pending transactions, every 2 to 5 minutes, until resolved. The load stays negligible.
Can reconciliation be added afterwards? Yes, it's a module that grafts onto an existing integration. Expect a ballpark of 100,000 to 200,000 FCFA depending on the code's state.
Let's talk about your project. Kolonell ships idempotent webhooks with fallback polling and a reconciliation log, tested with real payments. 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.

