Fazz Payments API supports idempotency to allow safe retries for requests without the possibility of accidentally performing the same transactions or operations twice. This is especially useful for API calls that were disrupted, and it is likely that you did not receive a response.

All `POST` requests accept `referenceId` idempotency keys. `GET` and `DELETE` requests are idempotent by definition and will not accept idempotency keys.

Here are a few common ways of idempotency keys to use:

  1. Generate a random token with good randomness to ensure uniqueness of key

  2. Use a unique reference ID based on relevant objects on your platform such as `order_id`, `user_id`, `card_id` etc.

Retrying requests

Retrying requests using an idempotency key won't change the original result of a request that's completed execution and is most useful for recovering from network errors