You'll notice the authorization and transfer object have a field named
idempotency_id which ensures the API request is only performed once. Why is this important? We've all experienced a hanging request while on a checkout page and feared that if we refresh or submit the payment again we'll be charged twice. With Finix, we remove the ambiguity by having the user generate a unique
idempotency_id and sending it with the normal payload. If the user attempts a request with the same
idempotency_id, the response will raise an exception. Now you can rest assured that when you create an authorization or debit a bank account that the user will be protected from potential network issues by simply passing
idempotency_id in body of the request.