Passer au contenu principal
Un seul appel POST /v1/payouts crée et soumet un payout. Fournissez l’en-tête X-Idempotency-Key pour que les nouvelles tentatives réseau ne créent pas de virements en double.

Requête

curl https://api.orqex.com/v1/payouts \
  -H "Authorization: Bearer sk_live_xxx" \
  -H "Content-Type: application/json" \
  -H "X-Idempotency-Key: PO-2026-0001" \
  -d '{
    "amount": 5000,
    "currency": "XOF",
    "method": "momo_mtn",
    "description": "Salary payout",
    "reference": "PO-2026-0001",
    "customer": {
      "email": "[email protected]",
      "first_name": "Jane",
      "last_name": "Doe"
    },
    "instrument": {
      "type": "phone",
      "phone_number": "+22990000000",
      "country": "BJ"
    },
    "metadata": { "department": "engineering" }
  }'

Corps de la requête

amount
integer
requis
Montant à envoyer, en unités majeures (ex. 50 pour 50,00 de la devise). Minimum 1.
currency
string
requis
Code devise ISO 4217 à trois lettres, majuscule (ex. XOF).
method
string
requis
Code de méthode de payout. Voir Méthodes & instruments.
description
string
requis
Courte description de l’objet du payout (ex. "Salary payout").
customer
object
requis
Identité du destinataire. Orqex résout cela en un client de projet ; le nom du client est utilisé comme nom du bénéficiaire sur le virement.
instrument
object
requis
Destination typée. Les sous-champs requis dépendent de instrument.type. Voir Types d’instrument ci-dessous.
reference
string
Votre propre identifiant unique pour ce payout, limité à votre projet. Réutiliser une référence existante renvoie 409 Conflict.
metadata
object
Jusqu’à 10 paires clé/valeur arbitraires, conservées sur le payout et renvoyées telles quelles.

Types d’instrument

Virement mobile-money ou wallet vers un numéro de téléphone.
{
  "type": "phone",
  "phone_number": "+22990000000",
  "country": "BJ"
}
ChampRequisDescription
phone_numberOuiNuméro de téléphone au format E.164.
countryOuiCode pays ISO 3166-1 alpha-2.

Réponse

{
  "id": "po_...",
  "amount": { "value": 5000, "formatted": "5,000 XOF", "short": "5K", "currency": "XOF" },
  "method": "momo_mtn",
  "status": "processing",
  "reference": "PO-2026-0001",
  "description": "Salary payout",
  "customer": {
    "id": "cus_...",
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "[email protected]",
    "avatar_url": null
  },
  "instrument": {
    "id": "poi_...",
    "type": "phone",
    "phone_number": "+22990000000",
    "country": "BJ"
  },
  "gateway": {
    "transaction": {
      "id": "gw_tx_123",
      "reference": "po_ref_generated",
      "external_id": null
    }
  },
  "fee_amount": 0,
  "failure": { "code": null, "message": null },
  "metadata": {},
  "initiated_at": "2026-06-14T10:00:00+00:00",
  "completed_at": null,
  "failed_at": null,
  "created_at": "2026-06-14T10:00:00+00:00"
}
id
string
Identifiant public du payout, préfixé po_.
amount
object
method
string
Code de méthode de payout utilisé.
status
string
pending, processing, completed ou failed. Voir Cycle de vie.
reference
string
Votre référence, si fournie.
description
string
Description du payout.
customer
object
Client de projet résolu (simplifié : id, first_name, last_name, email, avatar_url).
instrument
object
Objet instrument complet renvoyé tel que fourni.
gateway
object
fee_amount
number
Frais du payout en unités majeures (décimal).
failure
object
Renseigné lorsque status vaut failed. Voir Cycle de vie.
metadata
object
Vos métadonnées telles que fournies.
initiated_at
string|null
Horodatage ISO 8601 de la soumission du payout à la passerelle.
completed_at
string|null
Horodatage ISO 8601 de la complétion du payout, ou null.
failed_at
string|null
Horodatage ISO 8601 de l’échec du payout, ou null.
created_at
string
Horodatage ISO 8601 de la création.
Ne traitez pas le status initial de cette réponse comme définitif. Le statut du payout est résolu de façon asynchrone. Écoutez les événements webhook ou pollez l’endpoint de récupération pour connaître le résultat autoritaire.