Payouts

Payouts

Un payout envoie des fonds vers une carte, un compte bancaire ou un wallet.

Créer un payout

POST /v1/payouts. La destination est toujours un token : jamais un numéro de carte en clair.

Requête

curl https://api.validif.com/v1/payouts \
  -H "Authorization: Bearer vl_sec_xxxxx" \
  -H "Idempotency-Key: payout_5521" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 150000,
    "currency": "XOF",
    "destination_type": "card",
    "destination_token": "dst_tok_9f3a21",
    "description": "Seller settlement 5521"
  }'

Réponse 201

{
  "id": "po_7c14da55",
  "reference": "out_5521_b9c2",
  "amount": 150000,
  "currency": "XOF",
  "status": "pending",
  "destination_masked": "**** **** **** 4242",
  "request_id": "req_1c93be70"
}
ChampTypeDescription
amountintegerMontant en unité mineure, strictement positif.
currencystringCode ISO 4217.
destination_typecard | account | walletType de destination.
destination_tokenstringToken de destination obtenu via VALIDIF.
descriptionstringLibellé de règlement.
Idempotency-KeyheaderObligatoire. Rejouable pendant 24 h.

Statuts

pending ──▶ processing ──▶ succeeded
                │            └──▶ reversed / partially_reversed
                ├──▶ failed
                └──▶ returned
ChampTypeDescription
pendingstatusPayout accepté, en attente d'exécution.
processingstatusTransmis au réseau de paiement.
succeededstatusFonds envoyés.
failedstatusRejet définitif.
returnedstatusRetourné par la banque destinataire.
reversedstatusAnnulé après exécution.

Suivre un payout

GET

curl https://api.validif.com/v1/payouts/po_7c14da55 \
  -H "Authorization: Bearer vl_sec_xxxxx"

curl "https://api.validif.com/v1/payouts?limit=25&status=succeeded" \
  -H "Authorization: Bearer vl_sec_xxxxx"

Événements associés

Chaque changement de statut émet un événement payout.* livré à vos endpoints webhook (payout.created, payout.succeeded, payout.failed, payout.reversed).