First rule of networking is the network is unreliable. Sometimes things get
lost, sometimes it gets found multiple times for TCP reasons or because a
browser tries to be clever.
And when you're dealing with money, even if it's monopoly money, you don't
want a duplicated request to mean a double-debit. The easiest way to do this
is to simply include an idempotency key with each request - if that key is
repeated, the request is ignored.