E-commerce11 min read

Webhook reliability and idempotency for mobile money payments in 2026

Mohamed Bah·Fondateur, Kolonell
August 26, 2026
Share:
Webhook reliability and idempotency for mobile money payments in 2026

Webhook reliability and idempotency for mobile money payments in 2026

E-commerce

The verdict in three sentences

A replayed payment webhook creates a double order, a lost one creates a phantom sale: both destroy trust and corrupt your accounting. The defence rests on three pillars — a mandatory idempotency key, HMAC signature verification, and a retry queue with reconciliation. In 2026, a serious mobile money checkout must absorb 2 to 5% duplicated webhooks and 0.3% lost ones without ever double-crediting or missing a sale.

Webhook incidents and their fix

Every aggregator sends asynchronous notifications. Without discipline they cause silent errors. Here are the typical 2026 cases and the correct technical response.

IncidentObserved frequencyConsequenceFix
Duplicated webhook2-5 %Double credit / double orderUnique idempotency key
Lost webhook0.3 %Unrecorded salePolling + reconciliation
Out-of-order (pending after paid)1-2 %Inconsistent statusTimestamp + state machine
Invalid signaturerarePossible fraudStrict HMAC verification
Endpoint timeoutvariableCascading retriesRespond < 5 s, async processing

An idempotency key (often the provider's transaction ID) stored with a uniqueness constraint alone neutralises most duplicates.

Retries, signatures and timing

Aggregators replay webhooks until they receive a 2xx acknowledgement. Your settings must align with their policy.

Setting2026 best practiceReason
Expected HTTP response200 in < 5 sAvoid needless retries
Retry policyexponential up to 24 hAbsorb network outages
HMAC signature window5 min toleranceBlock late replays
Idempotency storage30-90 daysCover late replays
ReconciliationdailyRecover the 0.3% lost
Business processingasynchronous (queue)Respond fast, process later

The golden rule: acknowledge fast, process slowly. Return 200 immediately, enqueue, then run the idempotent business logic.

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

Fatou, a developer for a store in Thiès, handles 800 orders per month. At 3% duplicated webhooks, that is 24 double notifications monthly. Before idempotency, 24 customers risked a double charge or double shipment; at a 15,000 FCFA average basket, monthly exposure reaches 360,000 FCFA of potential disputes. A simple uniqueness constraint on the transaction ID brings that risk to zero, for two hours of development.

FAQ

What is an idempotency key in practice? A unique identifier per transaction (often provided by the aggregator) that you store; if the same one arrives twice, you ignore the duplicate. It blocks 2 to 5% of replayed webhooks.

Why verify the HMAC signature? To guarantee the webhook truly comes from the aggregator and was not forged. Without it, an attacker could simulate a successful payment.

How long should I keep received webhooks? 30 to 90 days is enough to cover late replays and serve as an audit trail during reconciliation.

What about the 0.3% lost webhooks? Recover them via daily polling of the status API and a reconciliation that compares your orders to provider-confirmed transactions.

Is an endpoint timeout serious? Yes: if it exceeds 5 seconds, the aggregator retries, multiplying duplicates. Hence async processing after an immediate 200.

Let's talk about your project. We build idempotent, signed and reconciled webhooks for collection with no double credit or phantom sale. WhatsApp +221 77 596 93 33.

Tags:#webhook#idempotency#payment#reliability#hmac signature#reconciliation#api#integration
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.