Idempotency is not a key, it's a contract
Every payments API has an Idempotency-Key header. Far fewer have written down what it means, and the ones that haven't are usually running a SELECT … WHERE key = ? before the insert and calling the job done. A key is a token. A contract is a set of answers: what counts as the same request, how long...