Un payout transfère de la crypto de votre solde IzichangePay vers une adresse externe. Cas d’usage : rembourser un client, payer un prestataire, reverser des gains. Scope requis : payouts:write · Endpoint : POST /v1/payouts

1. Créer le retrait

La réponse contient le id du payout et son statut initial. Ce n’est pas une confirmation : la transaction n’est pas encore diffusée.

2. Qui paie les frais

feeBearer décide de qui supporte les frais de service :
  • merchant (défaut) — le bénéficiaire reçoit exactement amount, les frais sont débités de votre solde en plus.
  • customer — les frais sont prélevés sur amount : le bénéficiaire reçoit moins que le montant demandé.
En customer, ne diffusez jamais amount comme « montant reçu » à votre utilisateur. Le montant réellement envoyé est plus faible. Lisez amount et feeAmount dans le webhook payout.confirmed pour communiquer le bon chiffre.

3. Suivre l’issue

Un payout traverse plusieurs états. Abonnez-vous à ces événements :
Rappel : les champs de la ressource sont dans data.object, pas dans data.
Vous pouvez aussi interroger l’état à tout moment : GET /v1/payouts/{id}.

4. Frais réseau

networkFeeAmount mérite une lecture attentive :
  • Avant payout.confirmed, c’est une estimation figée à la création.
  • Après, c’est le coût réel constaté on-chain.
  • Sur Tron, il peut valoir 0 alors que la transaction a bien coûté quelque chose : nous utilisons de l’énergie déléguée, qui ne se paie pas en TRX. Un 0 n’est donc pas une anomalie.
networkFeeAssetCode est la monnaie native du réseau (TRX, BNB, ETH…), différente de assetCode.

Erreurs courantes

Catalogue complet : Codes d’erreur.

Voir aussi

Se faire reverser en fiat

Convertir la crypto en mobile money plutôt que l’envoyer on-chain.

Événements webhook

Le format exact de payout.*.