Snapshot captures live request at the exact moment the webhook fires.
Gateway is sending PENDING. The code has no case for it. Idempotency check marks payment as processed before confirming state. Payment never written to DB. No exception fires.
Live snapshot · webhooks.ts:78 · captured 02:50:14 UTCstatus = "PENDING" ← payment gateway sending this, no handler exists
duplicate = null ← first time seen, passes through
db.insert → never called
redis.set → called anyway, payment locked out permanently
Payment gateway started sending PENDING, a status your code never handled. Idempotency key written before state is checked. Payment marked processed, never recorded.