Logo GenukaGenuka Pay
Référence API

API Payouts

Envoyez de l’argent à des bénéficiaires via une méthode enregistrée ou des détails fournis à la volée.

API Payouts

Les payouts servent à décaisser vers des utilisateurs, partenaires ou commerçants.

Headers requis

X-Public-Key: YOUR_PUBLIC_KEY
X-Timestamp: UNIX_TIMESTAMP
X-Signature: HMAC_SHA256_SIGNATURE

Endpoints

  • GET /api/v1/payouts
  • POST /api/v1/payouts
  • GET /api/v1/payouts/balance
  • GET /api/v1/payouts/{id}
  • POST /api/v1/payouts/{id}/cancel
  • POST /api/v1/payouts/{id}/retry

Initier un payout

POST /api/v1/payouts

Champs de requête

ParamètreTypeRequisDescription
amountnumberOuiMontant
currencystringOuiCode ISO
countrystringNonPays du bénéficiaire
payment_method_idstringConditionnelMéthode enregistrée
recipient_phonestringConditionnelTéléphone au format E.164 si aucune méthode enregistrée, ex. +237677001122
operator_codestringConditionnelOpérateur si aucune méthode enregistrée
recipient_first_namestringNonPrénom
recipient_last_namestringNonNom
external_idstringNonRéférence interne
descriptionstringNonDescription métier
metadataobjectNonMétadonnées

Vous devez fournir soit :

  • payment_method_id
  • soit recipient_phone et operator_code

Exemple

curl -X POST "{{BASE_URL}}/api/v1/payouts" \
  -H "X-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Timestamp: UNIX_TIMESTAMP" \
  -H "X-Signature: HMAC_SHA256_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 25000,
    "currency": "XAF",
    "recipient_phone": "+237677001122",
    "operator_code": "MTN_MOMO",
    "recipient_first_name": "Jean",
    "recipient_last_name": "Mballa",
    "external_id": "payout_9001",
    "description": "Vendor settlement"
  }'

Les codes opérateur valides sont listés dans Pays et opérateurs. Un operator_code inconnu ou inactif est rejeté en 422.

Consulter un payout

GET /api/v1/payouts/{id}

Annuler un payout

POST /api/v1/payouts/{id}/cancel

L’annulation dépend du statut courant et de l’avancement chez l’opérateur.

Relancer un payout

POST /api/v1/payouts/{id}/retry

Relance un décaissement en échec, sans recréer de transaction.

Consulter le solde disponible

GET /api/v1/payouts/balance

Le solde décaissable de votre compte de règlement, dans la devise du corridor.

Statuts

StatutDescription
AWAITING_APPROVALEn attente de validation avant exécution
INITIATEDValidé, pas encore transmis à l’opérateur
PROCESSINGTransmis, en cours de traitement
SUCCESSFonds remis au bénéficiaire
FAILEDÉchec. Peut être relancé.
EXPIREDSans réponse de l’opérateur dans le délai imparti
CANCELLEDAnnulé avant exécution

Les minimums de décaissement varient par opérateur — lisez min_payout_amount sur l’endpoint de couverture plutôt que de les coder en dur.

How is this guide?

Last updated on