POST
Créer un settlement

Autorisations

Authorization
string
header
requis

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Corps

application/json
assetCode
string
requis

Cryptomonnaie à convertir en fiat. Doit figurer parmi les actifs retournés par GET /settlements/settleable-assets.

Maximum string length: 32
Pattern: ^[A-Z0-9_.\-]{1,32}$
Exemple:

"USDT.TRC20"

amountCrypto
string
requis

Montant de crypto à reverser, en unités de l'actif. Chaîne de caractères, jamais un nombre JSON : un montant crypto passé en number est arrondi par la précision flottante. Jusqu'à 18 décimales. Doit respecter le minimum retourné par GET /settlements/payment-methods.

Pattern: ^(?=.*[1-9])\d{1,18}(\.\d{1,18})?$
Exemple:

"250.75"

settlementAccountId
string<uuid>
requis

Compte de réception fiat (mobile money ou bancaire) vers lequel le produit de la conversion est envoyé. Identifiants disponibles via GET /settlement-accounts.

Exemple:

"3f1b2c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"

idempotencyKey
string

Clé d'idempotence. Rejouer la même clé retourne le settlement déjà créé au lieu d'en créer un second — indispensable pour un retry réseau sûr. Peut aussi être transmise via l'en-tête Idempotency-Key.

Maximum string length: 120
Pattern: ^[A-Za-z0-9_.\-:]+$
Exemple:

"settlement-2026-07-08-0001"

merchantReference
string

Référence libre côté marchand, reportée sur le payout fiat associé.

Maximum string length: 255
Exemple:

"facture-4821"

totpCode
string

Code TOTP à 6 chiffres. Requis uniquement pour les appels authentifiés par session utilisateur (dashboard) ; les appels par clé API n'en ont pas besoin.

Pattern: ^[0-9]{6}$
Exemple:

"123456"

effectiveBearers
object

Répartition des frais pour CE reversement uniquement. Chaque clé omise retombe sur la configuration du compte marchand. Lorsqu'un type de frais est à la charge du client (customer), sa contribution doit déjà avoir été collectée au moment du paiement : à défaut, le reversement est rejeté avant tout débit, faute de solde.

Réponse

Settlement créé.

id
string
requis

Identifiant unique du settlement.

assetCode
string
requis

Code de l'actif crypto envoyé pour conversion.

amountCrypto
string
requis

Quantité de crypto settlée — chaîne décimale.

fiatCurrency
object | null
requis

Devise fiat reçue par le marchand (ISO 4217).

rateIndicative
string
requis

Taux brut fourni par le provider — chaîne décimale.

rateNet
string
requis

Taux effectif après marge IzichangePay — chaîne décimale. C'est ce taux qui est appliqué à l'exécution.

rateEffective
object | null
requis

Taux finalement constaté à l'exécution — chaîne décimale, renseigné une fois le settlement complété.

fiatAmountIndicative
string
requis

Montant fiat indicatif attendu — chaîne décimale.

fiatAmountFinal
object | null
requis

Montant fiat final crédité au marchand — chaîne décimale.

status
string
requis

Statut courant du settlement (pending, dispatched, completed, failed, …).

mode
string
requis

Mode d'envoi de la crypto au provider : transfert on-chain ou transfert interne entre comptes IzichangePay.

providerReference
object | null
requis

Référence du provider (numéro d'ordre côté plateforme externe).

failureReason
object | null
requis

Motif d'échec — renseigné uniquement pour les settlements en échec.

merchantSettlementAccountId
string
requis

Identifiant du compte de réception crédité.

settlementAccount
object | null
requis

Compte de réception crédité, tel qu'il était AU MOMENT du settlement. Renvoyé avec le settlement plutôt que résolu contre la liste courante des comptes : l'adresse créditée appartient au mouvement, pas au profil. null seulement si le compte a été supprimé depuis.

createdAt
string
requis

Date de création — ISO 8601.

updatedAt
string
requis

Date de dernière mise à jour — ISO 8601.