The Two Generals Problem
Symptom You call the payment API. The request goes out. Nothing comes back. Did the charge happen? You genuinely do not know. Retrying might double-charge the customer. Not retrying might drop the payment. There is no third option available, and no amount of care in your client library creates one. ...