You can't shed a payment, only delay it
Dropping the excess request isn't an option for a payment instruction. What's left is deferral — which turns a throughput problem into a prioritization problem with a deadline attached.
Journal
Dated notes. Half-formed is fine here.
Dropping the excess request isn't an option for a payment instruction. What's left is deferral — which turns a throughput problem into a prioritization problem with a deadline attached.
0.1 + 0.2 isn't 0.3, and that's reason enough to store money as integer minor units, not floating-point.
Most software can afford to lose a request. Money can't. That single constraint is why these systems are worth writing about.
An idempotency key turns a terrifying question — did that charge go through? — into a safe retry.