E-commerce11 min read

Detecting a Missing Payment: Webhook Audit in 2026

Mohamed Bah·Fondateur, Kolonell
August 30, 2026
Share:
Detecting a Missing Payment: Webhook Audit in 2026

Detecting a Missing Payment: Webhook Audit in 2026

E-commerce

The verdict in three sentences

A lost webhook is a customer who paid but whose order stays "pending": money collected, an unhappy customer, and 1 to 5 % of transactions invisible in the database. The fix isn't to trust webhooks more but to add a periodic reconciliation job that compares the operator API to your database. In 2026 every serious site combines webhook + reconcile, never webhook alone.

Why webhooks get lost

A webhook is an HTTP notification sent by the operator to your server. It can fail for a thousand reasons: server briefly down, timeout, an ongoing deploy, a 500 error, or plain network loss. If you only process the webhook, those payments vanish from your system even though the money did arrive.

Root causeRelative frequencyFix
Server down / deployHighQueue + retry
Processing timeoutMediumImmediate 200, async processing
Application error (500)MediumIdempotency + logs
Unverified signature rejectedLowCorrect signature check
Network lossLowPeriodic reconcile job
Mishandled duplicateMediumIdempotency key

Polling vs webhook + reconcile

Two main strategies exist. Polling queries the API in a loop: simple but costly and slow. Webhook + reconcile combines webhook responsiveness with a safety net that catches the gaps. It's the 2026 reference.

StrategyLatencyAPI costReliabilityRecommended
Webhook onlyLowLowMedium (1-5 % gaps)No
Polling onlyHigh (min)HighGoodSmall volume
Webhook + reconcileLowModerateExcellentYes
Daily reconcileT+1LowGood (net)As complement
Orders/day volumeReconcile job frequency
< 100Every hour
100 to 1,000Every 15 min
1,000 to 10,000Every 5 min
> 10,000Continuous + hourly reconcile

Mini case study

Aminata runs an online store in Dakar, 1,200 orders/month, average basket 18,000 FCFA. A badly timed deploy lost webhooks for 3 hours: about 3 % of the month's payments, i.e. 36 orders never processed, for 648,000 FCFA collected but stuck. Without reconcile she'd have refunded furious customers and lost that revenue. With a reconciliation job every 15 minutes comparing the Wave API to her database, the 36 orders were caught automatically within the hour: 648,000 FCFA recovered.

Need a professional website?

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

FAQ

Aren't webhooks reliable?

They're useful but never 100 % guaranteed. A loss rate of 1 to 5 % is normal in real conditions; that's why you need a reconcile job as a safety net.

What is idempotency and why is it vital?

It's being able to process the same event multiple times with no side effects (no duplicate order). With an idempotency key, webhook and reconcile can overlap without duplication risk.

How often should reconcile run?

Every 15 minutes for 100 to 1,000 orders/day; every 5 minutes beyond that. A daily reconcile is still useful as a last net.

How do you concretely detect missing payments?

The job lists transactions marked "successful" on the operator side (API) and looks up their reference in the database. Any transaction present at the operator but absent from the database is a missing payment to handle.

Is polling alone enough for a small site?

For under 100 orders/day, regular polling can suffice, but it's slower and more costly in API calls than the webhook + reconcile combination.

Let's talk about your project. We audit your webhooks and set up a reconciliation job so you never lose a payment again. WhatsApp +221 77 596 93 33.

Tags:#webhook#missing payment#reconciliation#audit#alerting#polling#reliability#e-commerce
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.