The request follows this path:
Http request -> Service -> Third Party(like stripe but not stripe).
Should the idempotency_key be put into the http request so clients will have to generate it (most likely a uuid) or alternatively should the idempotency key be generated in the service itself?
I'm putting it out here on hacker news for people who have experience building and maintaining API's for financial institutions.