Reject the request with an error, because the key is bound to the original request
Reject the request with an error. The key identifies one specific operation. The server stores a fingerprint of the original request, which is a hash of its body. A reused key with a different body doesn't match, so the server rejects it as a client error.
"Return the stored 50 EUR response" is tempting, but it would hide a client bug. The client would think its 80 EUR request succeeded.
Read more
- Idempotent (MDN) (https://developer.mozilla.org/en-US/docs/Glossary/Idempotent)developer.mozilla.org