The downside with “automagically” trying to handle idempotency is users may not be aware of it and retries may happen across different processes (maybe they are running their application on k8s with multiple pods), which doesn’t work with stripes default behaviour.
IMO the idempotency key should be required to be set and make the user aware that they need to handle retries properly.
IMO the idempotency key should be required to be set and make the user aware that they need to handle retries properly.