Support · Troubleshooting

Duplicate webhook deliveries

Stripe redelivers webhooks whenever delivery times out or errors — at-least-once by design. Duplicates are expected traffic, handled structurally.

What happens on redelivery

Ingress claims events against a unique constraint before processing; a redelivered event observes its claim and exits without side effects. Processing stays exactly-once even though delivery is not.

What you will see

Duplicate deliveries in Stripe’s logs, occasional replay entries in the audit trail marked as claims. Nothing in the findings queue changes — duplicates never create duplicate findings.

When duplicates spike

A sudden burst usually means your endpoint timed out repeatedly — check endpoint latency around that window. Persistent timeout patterns deserve infrastructure attention before Stripe’s retry backoff degrades detection latency.