Yes, our idempotency key feature can help you to prevent sending double requests. This can be implemented in your API integration and the full documentation can be seen here: https://docs.flip.id/#idempotent-request
- Big Flip user sends disbursement request to Flip with idempotency key
- Flip return with error (any status other than PENDING, DONE, or CANCELLED, for example: 500 Internal Server Error).
- Big Flip user retry the disbursement request to Flip, with different idempotency key
- Flip processes both requests, because we see them as different request (different idempotency key)
- Big Flip users send disbursement request to Flip with idempotency key
- Flip responds with status that is not PENDING (for example: 500 Internal Server Error)
- Big Flip users can respond with retrying their transaction using identical idempotency key used by previous transaction until Flip responds with PENDING/CANCELLED/DONE status
In short, if Flip responds with status that is not PENDING/CANCELLED/DONE, please retry using identical idempotency key. If there are multiple requests with different idempotency keys, we will consider it as different transactions.
With this explanation, we highly recommend you & will require your company (per October 6, 2020) to implement idempotency key in your requests and save the idempotency key in your system, so that it can be re-used to retry transactions.