Websites11 min read

Reliable Payment Webhooks: Never Lose an Order in Nairobi (2026)

Mohamed Bah·Fondateur, Kolonell
August 25, 2026
Share:
Reliable Payment Webhooks: Never Lose an Order in Nairobi (2026)

Reliable Payment Webhooks: Never Lose an Order in Nairobi (2026)

Websites

The verdict in three sentences

A non-idempotent webhook is a time bomb: it doubles orders when the operator resends the event, or loses them when your server is momentarily unavailable. Reliability doesn't depend on luck but on two mechanics: verify the signature of every event and process each reference exactly once, with a queue that retries 5 times over 24 h. In Nairobi, these invisible details separate a store losing 1-3 % of orders from a store at 99.9 % reliability.

Polling vs signed webhook: the real match

Many stores poll the provider API in a loop to learn whether a payment went through. It's simple but slow and costly. The signed webhook with a queue is more robust. Here is the 2026 comparison.

MetricAPI pollingSigned webhook + queue
Confirmation delay30 s - 5 min2-30 s
Server loadHigh (repeated calls)Low (single event)
Rate-limit riskHighNone
Order loss2-5 %< 0.3 %
Duplicate orderFrequent without lockNone if idempotent
Infra cost / month (est.)15,000-40,000 FCFA5,000-15,000 FCFA
Achievable SLA~99 %99.9 %

The signed webhook wins on almost every axis: faster, cheaper, more reliable. The only prerequisite is to build it correctly from the start.

The rules of a webhook that loses nothing

A reliable webhook in 2026 follows a few non-negotiable rules. First, it verifies the HMAC signature of every request: without it, anyone can fake a "payment confirmed". Then, it stores each transaction reference and refuses to process it twice (idempotency). It responds 200 immediately then processes asynchronously via a queue, so the operator never treats the event as failed. Finally, it tolerates retries: the operator resends the event several times, and your code must stay consistent.

RuleWhyImpact if missing
HMAC signature checkSecurityFake payments injected
Idempotency by referenceAnti-duplicateDuplicated orders 1-3 %
Fast 200 response (< 5 s)Avoid useless retryEvents replayed in loop
Asynchronous queueAbsorb spikesTimeouts, lost events
5 retries over 24 hCatch outagesOrders lost during downtime
Full loggingAudit / reconciliationUntraceable disputes

Mini case study

Wanjiru, founder of an online grocery in Nairobi, handles 700 orders/month, average basket 25,000 FCFA, i.e. 17,500,000 FCFA revenue. With her old polling system, she lost 2.5 % of orders (event missed during a server restart): 17-18 orders/month, i.e. about 437,500 FCFA lost. Worse, 1.5 % were duplicated, generating customer disputes and refunds. After migrating to an idempotent signed webhook with a queue and 5 retries, loss drops to 0.3 % (2 orders, ~52,500 FCFA) and duplicates disappear. Net gain: around 385,000 FCFA/month plus the end of disputes, on infrastructure half as expensive.

FAQ

Need a professional website?

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

What is idempotency, concretely?

It guarantees that the same event processed several times produces the same result as processing it once. In practice: you store the transaction reference and, if it returns, you ignore the duplicate. Without it, 1 to 3 % of orders duplicate.

Why verify the webhook signature?

Because an unprotected public endpoint can receive fake "payment confirmed" events and trigger deliveries without a real payment. HMAC verification guarantees the event truly comes from the operator. It is non-negotiable in 2026.

How many times should a failed webhook be retried?

The recommended practice is 5 attempts spread over 24 h with exponential backoff. This covers short outages (restart, deployment) without hammering a permanently dead endpoint. Beyond that, a manual alert takes over.

Polling or webhook if I'm starting out?

Start with the signed webhook: it's more reliable and cheaper to run. Keep polling as a safety net to reconcile the rare lost events, not as the main mechanism.

How much does webhook downtime cost?

Enormous: during a payment-processing outage, 100 % of your sales fail to confirm. That's precisely why the queue with retries is indispensable: it catches orders as soon as the service returns.

Let's talk about your project. We audit your payment webhook and make it idempotent, signed and resilient so you never lose an order again. WhatsApp +221 77 596 93 33.

Tags:#webhook#payment#Nairobi#idempotency#reliability#M-Pesa#architecture#development
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.