E-commerce11 min read

Debugging mobile money webhook failures: timeout and retry in 2026

Mohamed Bah·Fondateur, Kolonell
August 1, 2026
Share:
Debugging mobile money webhook failures: timeout and retry in 2026

Debugging mobile money webhook failures: timeout and retry in 2026

E-commerce

The verdict in three sentences

Most merchants think they lose sales because of the operator, when in fact 9 out of 10 "lost" payments actually succeeded on the customer side but were never confirmed on the site because the webhook was never replayed. In 2026, with a 30-second operator timeout and a missed-webhook rate around 5%, the gap between a reliable checkout and a bleeding one comes down to three building blocks: idempotency key, exponential retry, and reconciliation by polling. Done right, they recover on average 4.5% of transactions every month — money already paid that you simply need to go collect.

Why webhooks get lost

A webhook is a plain HTTP call the operator sends to your server to say "this payment is confirmed." It fails for mundane reasons: your server responds in over 30 seconds, it returns a transient 500 error, a deployment cuts the connection, or the operator itself queues the notification. Without a catch-up mechanism, the order stays stuck as "pending" even though the customer genuinely paid.

Webhook failure causeEstimated 2026 frequencyTechnical fix
Server timeout (> 30 s)35%Return 200 in < 2 s, process asynchronously
Transient 500 error25%Exponential retry operator-side and yours
Deployment / restart15%Queue + idempotent endpoint
Duplicate notification15%Mandatory idempotency key
Notification never sent10%Reconciliation polling every 60 s

The golden rule: your webhook endpoint must return 200 immediately, store the raw event, then process the business logic in the background. A webhook that calculates stock or sends an email before responding is a webhook that will time out.

The retry + polling strategy that recovers 4.5%

Two safety nets complement each other. Retry replays the notification when it fails; polling queries the operator when no notification arrives. You do not choose — you use both.

ParameterRecommended 2026 valueEffect
Number of retry attempts5Covers 98% of transient failures
Exponential backoff30 s, 1 min, 2 min, 5 min, 15 minAvoids hammering an already loaded server
Total retry window15 minBeyond that, switch to polling
Polling frequencyevery 60 sCatches never-sent notifications
Polling duration per order20 minCovers slow USSD confirmations
Idempotency key1 per transactionPrevents double order validation

The idempotency key is non-negotiable: it is a unique identifier per transaction that guarantees that if the webhook arrives twice (retry + normal notification), the order is validated only once and the customer is never charged or credited twice.

Mini case study

Mariama runs a cosmetics shop in Dakar with 900 orders per month, average basket 12,000 FCFA. Previously, 5% of her webhooks were lost: 45 orders per month stayed "pending," or 540,000 FCFA in sales paid but never fulfilled — angry customers and manual refunds to boot. After adding exponential retry + 60 s polling + idempotency key, her missed-webhook rate drops to 0.5%. She recovers 40 orders per month, i.e. 480,000 FCFA recovered every month, for a development cost paid back in under three weeks.

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

FAQ

How long should I keep an order "pending" before cancelling it?

At least 20 minutes. Slow USSD confirmations and operator retries can take up to 15 minutes; cancelling too early destroys already-paid sales.

Is the idempotency key really mandatory?

Yes. Without it, a legitimate retry can validate the same order twice, double a decremented stock, or trigger a duplicate shipment. It is the cheapest and most profitable building block.

Won't polling overload the operator's API?

No, if you limit it to one request every 60 s per pending order and stop after 20 minutes. Most operators tolerate this pace without rate limiting.

What real gain can I expect?

2026 order of magnitude: between 3 and 5% of transactions recovered depending on the quality of your network and servers. On a volume of 1,000 orders, that is 30 to 50 saved sales per month.

Can I earn money by recommending Kolonell to other merchants?

Yes. Our referral program pays 12% on every e-commerce project signed thanks to you, plus 5% recurring on maintenance. A 2,000,000 FCFA e-commerce site earns you 240,000 FCFA.

Let's talk about your project. We audit your checkout and plug your webhook leaks in one week. WhatsApp +221 77 596 93 33.

Tags:#payment webhook#retry idempotency#operator timeout#checkout debug#payment polling#payment reliability
Share:

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.