Idempotency-Key: retry without sending or charging twice.
Every POST needs an Idempotency-Key header: your own unique id for that request, for example your order number.
Send the same key and the same body again (after a timeout, say) and you get the first answer again, with the header Idempotent-Replayed: true. Nothing is sent or charged twice.
The same key with a different body answers request_id_reused.