Idempotence

Clés d'idempotence pour charges, payouts et requêtes SDK.

Quand l'utiliser

Obligatoire via header `Idempotency-Key` sur POST /merchant/merchants/:id/charges, POST /payments/payouts, POST /payments/links, POST /merchant/charges/:chargeId/refund et POST /payments/wallets/credit.

Le SDK envoie automatiquement ce header ; les retries doivent réutiliser la même clé.

Recommandé sur toute création susceptible d'être retentée (réseau instable).

Les payouts planifiés (scheduled payments) suivent la même logique lorsque l'endpoint dédié sera exposé.

SDK Node.js

Réutiliser la même clé pour un retry safe ; une nouvelle clé crée une nouvelle opération.

typescript
import { IzzipayClient, newIdempotencyKey } from "@izzipay/sdk";

const client = new IzzipayClient({
  apiKey: process.env.IZZI_API_KEY!,
});

await client.charges.create("mch-1", {
  amount: "1500",
  currency: "USD",
  payerWalletId: "6015fa0e-0e44-461e-9ec8-b598ca19c14b",
  idempotencyKey: newIdempotencyKey(),
  reference: "ORDER-1234",
});