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ètre Type Obligatoire Description amountnumberOui Le montant à transférer currencystringOui Code devise (ex: XAF, XOF) first_namestringOui Prénom du client last_namestringOui Nom du client payment_method_dataobjectOui Détails de la méthode de paiement
Structure payment_method_data
{
"type" : "momo" ,
"momo" : {
"msisdn" : "242066594471" ,
"country" : "CG" ,
"operator_name" : "mtn"
}
}
Champ Description 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
JavaScript
Python
PHP
Java
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
Statut Description 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.