Build an effective dunning sequence for failed payments by mapping Stripe's retry attempts to escalating customer communications—instant email, follow-up at 24 hours, and final notice at 3 days—using the invoice.payment_failed event to trigger different messaging at each step rather than relying on generic Stripe reminders alone.
Uber developed a context-aware retry mechanism to prevent retry storms that amplify failures across service dependencies. Traditional retry strategies apply retries uniformly regardless of error origin, causing localized outages to cascade into stack-wide incidents; the solution uses error ownership and retry budgets to limit retries only at the service where errors originate, reducing load amplification.