Setting a custom idempotency key via extra_headers={'Idempotency-Key': 'mykey123'} on e.g. client.payment_orders.create(...) didn't stick: framework code looked for options.idempotency_key and overwrote the header with its own generated self._idempotency_key(). A maintainer confirmed this was a bug. The reporter's interim workaround was to assign client._idempotency_key to a custom function after creating the client.