Préparer votre requête
Le point de terminaison à utiliser est POST https://pay.sandbox.yabetoopay.com/v1/disbursements
pour l’environnement sandbox et POST https://pay.api.yabetoopay.com/v1/disbursements
pour l’environnement de production.
Sécurité de la clé secrète : La clé secrète (secret_key) 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.
- Utilisez la clé secrète fournie
secret_key
pour vous authentifier auprès de l’API. Pour des raisons de sécurité, cette clé ne doit être utilisée que côté serveur.
- Le corps de la requête doit contenir les paramètres suivants :
{
"amount": 10000,
"currency": "XAF",
"first_name": "Jean",
"last_name": "Dupont",
"payment_method_data": {
"type": "momo",
"momo": {
"msisdn": "242066594471",
"country": "CG",
"operator_name": "mtn"
}
}
}
Paramètres
amount
: Le montant à payer
currency
: La devise du paiement
first_name
: Le prénom du client
last_name
: Le nom de famille du client
payment_method_data
: Les données du moyen de paiement
type
: Le type de moyen de paiement
momo
: Les données du paiement mobile money
msisdn
: Le numéro de téléphone du client
country
: Le code pays
operator_name
: Le nom de l’opérateur
Créer un décaissement
{
const response = await fetch(
"https://pay.sandbox.yabetoopay.com/v1/disbursements",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${secret_key}`,
},
body: JSON.stringify({
amount: 10000,
currency: "XAF",
first_name: "Jean",
last_name: "Dupont",
payment_method_data: {
type: "momo",
momo: {
msisdn: "242066594471",
country: "CG",
operator_name: "mtn",
},
},
}),
}
);
const data = await response.json();
console.log(data);
}
Réponse
200 OK
Lorsque le décaissement a été créé avec succès, l’API renverra une réponse 200 OK avec le corps suivant :
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": 1000,
"currency": "xaf",
"status": "processing",
"firstName": "Jean",
"lastName": "Dupont",
"operatorName": "mtn",
"country": "cg",
"phone": "242066594470",
"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"
}
400 Mauvaise requête
Lorsque la requête est invalide, l’API renverra une réponse 400 Bad Request avec le corps suivant :
{
"errors": [
{
"rule": "required",
"field": "currency",
"message": "La validation requise a échoué"
}
]
}
401 Non autorisé
Lorsque la clé secrète est invalide, l’API renverra une réponse 401 Unauthorized avec le corps suivant :
{
"message": "Non autorisé"
}