Passer au contenu principal

Endpoint

POST https://pay.sandbox.yabetoopay.com/v1/disbursements   # Sandbox
POST https://pay.api.yabetoopay.com/v1/disbursements       # Production

Authentification

Utilisez votre clé secrète dans l’en-tête Authorization :
Authorization: Bearer YOUR_SECRET_KEY
Sécurité de la clé secrète : La clé secrète doit rester confidentielle et ne doit jamais être exposée dans le frontend ou le code client. Elle doit uniquement être utilisée côté serveur.

Corps de la requête

ParamètreTypeObligatoireDescription
amountnumberOuiLe montant à transférer
currencystringOuiCode devise (ex: XAF, XOF)
first_namestringOuiPrénom du client
last_namestringOuiNom du client
payment_method_dataobjectOuiDétails de la méthode de paiement

Structure payment_method_data

{
  "type": "momo",
  "momo": {
    "msisdn": "242066594471",
    "country": "CG",
    "operator_name": "mtn"
  }
}
ChampDescription
typeType de méthode de paiement (momo pour Mobile Money)
momo.msisdnNuméro de téléphone du client
momo.countryCode pays (ex: CG, CM)
momo.operator_nameNom de l’opérateur (mtn, airtel)

Exemple de requête

curl -X POST https://pay.sandbox.yabetoopay.com/v1/disbursements \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -d '{
    "amount": 10000,
    "currency": "XAF",
    "first_name": "Jean",
    "last_name": "Dupont",
    "payment_method_data": {
      "type": "momo",
      "momo": {
        "msisdn": "242066594471",
        "country": "CG",
        "operator_name": "mtn"
      }
    }
  }'

Réponse

200 OK

Lorsque le décaissement a été créé avec succès, l’API renverra une réponse 200 OK. Le statut du décaissement est processing car le paiement est toujours en cours de traitement et n’a pas encore été exécuté.
{
  "amount": 10000,
  "currency": "xaf",
  "status": "processing",
  "firstName": "Jean",
  "lastName": "Dupont",
  "operatorName": "mtn",
  "country": "cg",
  "phone": "242066594471",
  "object": "disbursement",
  "type": 1,
  "shouldExecutedAt": "2025-03-18T09:24:57.555Z",
  "id": "wt_RMqehxy8NNi1ocJFG2SSAZMj81m6spo72vnZ",
  "createdAt": "2025-03-17T10:24:57.559+01:00",
  "updatedAt": "2025-03-17T10:24:57.559+01:00"
}

Statuts du décaissement

StatutDescription
processingEn cours de traitement
succeededDécaissement réussi
failedDécaissement échoué
canceledDécaissement annulé

400 Mauvaise requête

{
  "errors": [
    {
      "rule": "required",
      "field": "currency",
      "message": "required validation failed"
    }
  ]
}

401 Non autorisé

{
  "message": "Unauthorized"
}
Les décaissements sont traités de manière asynchrone. Utilisez les webhooks pour suivre leur statut en temps réel.