Skip to main content

Handling Idempotency


Idempotency is a concept where a request can be send multiple times with the same result as the first request, that means the system only performs one process for identical requests.

A request is identical if it is sent with the same request-id. However, the implementation may different in other systems, for example for processing transactions additional parameters such as "order-no, amount" may be required to compliment when decide a request is identical or not.

How Idempotency Works

How Idempotency Works
Example Payment Scenario for Idempotenct

Guide for Idempotency Key

Idempotency Key in DOKU

We make idempotency key in our system is Request ID

To implement this, you must do below :

  1. Every API Request must send unique request ID.
  2. If something happen in Merchant Side and merchant can't get response, then merchant send request again with same request ID and same Request Body, DOKU system will send the same Response body with HTTP Status Code 409 Conflict.