ended3월 20일· 3 sources

The Stripe webhook race condition that silently charged users twice (and the Node.js fix)

Stripe 웹훅 경쟁 조건으로 인한 이중 결제 문제와 Node.js 해결법

Why it matters

Indie Hackers researchers identified a race condition in Stripe webhook handling where automatic retries caused duplicate payment charges. The root cause is that most handlers lack idempotency guards, so concurrent retry deliveries insert duplicate payment records. KeelStack's fix wraps each webhook in an atomic idempotency guard keyed on the Stripe event ID, short-circuiting duplicate processing before any database mutation occurs.

3
Sources
+0
24h
Growth
185d
Active
exponential backoffkeelstacknode.jsProduction patternsdead letter queueidempotencyEvent queue

Sources

Related Issues