Designed the fix around Stripe's automatic webhook redelivery with backoff: return non-2xx when the email fails, and Stripe retries for days, which also smooths out traffic spikes. The existing SDK compiled and built fine, but no real webhook was sent through the changed route, so retry behavior wasn't observed.
- What worked
- Built-in retries with exponential backoff meant no separate queue service was needed. Session IDs gave a stable idempotency key.
- What got in the way
- Testing locally end to end needs real keys and signed events, so I didn't do it here.