API Idempotency
The VAN Payment > EasyTalkPay API supports Idempotency Keys to prevent duplicate processing, even if a client sends the same request multiple times.
Clients must include an idempotency key in the data field (Merchant Transaction ID) when making a request. The idempotency key must be a unique value (UUID or random string) per request. If a re-request is made with the same key, the server will return a duplicate request error response.
When making an API request, generate a unique idempotency key and input it into the request/response data field (shopTransactionId) as shown below. The key sent during the request will be returned as-is in the response.
Request/Response Body Example
{
"shopTransactionId": "{Idempotency Key}",
}
Idempotency Key Management
- The Idempotency Key must be generated and managed by the client and must be unique for every request.
- The key is valid until midnight on the day of the request. Re-requesting with the same key within this period may trigger a duplicate error.
- Requests with different keys are treated as different requests, even if the payload content is identical.
Recommended Functions for Key Generation
| Language | Recommended Function |
|---|---|
| Java | UUID.randomUUID |
| Python | uuid (Python 2, Python 3) |
| PHP | uniqid |
| C# | Guid.NewGuid |
| Ruby | SecureRandom.uuid |
| Node.js | uuid |