webhook / retry / idempotency / local-only

Review retries, duplicates, and idempotency

Compare event id, retry, and idempotency key with synthetic deliveries. Nothing is sent to a receiver and no real data is stored.

Fixed delivery examples

CaseEvent idRetryIdempotency keyDecision
Initialevt_1000pay_100Process
Retryevt_1001pay_100Ignore duplicate
New deliveryevt_1010pay_101Process separately
Out of orderevt_0991pay_099Recheck state
Expiredevt_0982pay_098Do not reprocess blindly

Review synthetic examples locally.

Keep these values separate

  1. Event id identifies a delivery.
  2. Retry is a resend count, not proof of success.
  3. Idempotency key defines the once-only processing boundary.
  4. Out-of-order and expired deliveries should not be treated as success from dedupe alone.