Insights on Crypto Payments, Infrastructure, and Operations

Out-of-Order Webhook

Pronunciation: OWT uhv OR-der WEB-hook

Definition

An out-of-order webhook is an event delivered after a newer event for the same entity, so arrival order differs from business sequence.

Overview

Understand the idea

Independent retries, parallel delivery, network paths, and provider partitions can cause an older payment or order event to arrive after a later state. Processing events solely by arrival time may then move local state backward.

Timestamps alone may be insufficient because clocks differ and multiple events can share a time. Sequence numbers, entity versions, monotonic status rules, or authoritative state queries provide stronger ordering evidence. Some business events remain valid even when they arrive late.

Receivers should store event identity, entity identity, provider sequence or version when available, and the current local state. They should reject illegal regressions, process commutative effects safely, and query the provider when uncertain. Reconciliation must repair any ordering-related divergence.

What actually happens

An out-of-order webhook is a genuine event notification delivered after a newer event relating to the same payment. Webhook transport often uses independent retries and queues, so creation order does not imply arrival order. A receiver that overwrites status with every last message can undo a correct payment classification or reopen a settled order.

The handler verifies each payload, preserves event ID and source timestamp, and checks the entity's latest authoritative state before applying a transition. If the provider offers version numbers, sequence IDs or fetch-by-ID endpoints, those can help establish order. Where no ordering metadata exists, a local state machine should reject unsafe regressions and obtain a fresh status when events conflict. Reorganizations or reversals need explicit exception states rather than silently treating every later-looking status as final.

Decisions and failure cases

Do not rely on timestamps from the receiver's HTTP gateway alone. Some provider statuses are non-linear, and settlement states may be separate from payment status. Keep processing idempotent and log rejected transitions so operators can investigate instead of hiding contradictions.

Order Webhook, Webhook, Duplicate Webhook.

Further reading

Stripe webhook processing.

Example

An invoice produces 'pending', 'confirmed' and 'paid' events. Network delays cause 'paid' to reach the merchant first. Five minutes later 'pending' is retried. The merchant correctly acknowledges the authentic older message while leaving fulfillment completed, rather than revoking access solely because it arrived later.

Comparison

Out-of-order describes relative timing of distinct genuine events. Duplicate webhook means the same event was sent again. Replay may describe a malicious resubmission; transport behavior alone does not establish malicious intent.

Key Takeaway

An out-of-order webhook is an event delivered after a newer event for the same entity, so arrival order differs from business sequence.

Sources

  1. OxaPay Documentation: Webhook — OxaPay (2026-07-30)
  2. Stripe Documentation: Webhooks — Stripe (2026-07-30)