Fact◆Article
Retrying a timed-out payment request risks charging the customer twice, but declining to retry risks never charging them at all.
When a payment request times out, both the success-with-lost-confirmation and failure-to-reach scenarios produce identical outputs. This creates a dilemma: retrying risks a double charge, but not retrying risks no charge at all. ✦ AI generated
the author · ByteByteGo Newsletter · 2026-07-30 · original ↗
What happens when a service sends a request to charge a customer, but the request times out with no response? The burning question is whether the charge went through. Or should it be retried? Two different things could have happened. The charge succeeded, and the confirmation was lost on the way back, or the request never reached the payment service at all. Both possibilities produce identical outputs, which makes it difficult to figure out what happened and the next action to be taken. Retrying risks charging the customer twice. On the other hand, declining to retry risks never charging them at all.
Read full article ↗excerpt · fair-use quotation
- ·A payment request times out with no response
- ·The charge may have succeeded or never reached
- ·Both scenarios produce identical outputs
- ·Impossible to know what actually happened
- ·Retrying risks charging the customer twice
- ·Declining to retry risks never charging at all
- ·No safe action without confirmation
Around this claim