Idempotency
API calls that create transactions are idempotent. The idempotency relies on passing a nonce to the relevant API request. The nonce is a unique value that must be generated by the customer when requesting the endpoint.
If the request contains a nonce (it is optional, but we strongly recommend using it) we will compare it to existing transactions. If a transaction exists with the same nonce, then we will do the following:
- If the existing transaction has the same payload (regardless of its status), we will return HTTP 200, and the transaction ID.
- If the existing transaction has a different payload, we will return HTTP 409, and the transaction ID.
Using a different nonceIf you use a nonce, then the nonce is considered to be a unique identifier for the transaction. This means that if you do request a transaction twice, but using a different nonce for each request, your transaction WILL be duplicated.
We recommend using a GUID in its canonical textual representation as a nonce.
In its canonical textual representation, the 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens) . wikipedia
Not using a NonceIf you choose not to use a nonce, we will always attempt to create the transaction again. This may lead to duplicate transactions.
Updated about 1 year ago

