It always starts the same way: a support agent built on a weekend hackathon, a provider outage, and a customer who gets their money back twice.
What happened
The refund call succeeded, the response timed out, and the retry loop refunded again.
The fix
Wrap the call in a step and pass the charge ID as an idempotency key. The refund runs once, however many times the run retries.



