Endpoint
POST https://pay.sandbox.yabetoopay.com/v1/remittance # Sandbox
POST https://pay.api.yabetoopay.com/v1/remittance # 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 : Votre clé secrète doit rester confidentielle et ne doit jamais être exposée dans le frontend ou le code côté client. Elle doit uniquement être utilisée côté serveur.
Corps de la requête
Paramètre Type Obligatoire Description amountstringOui Le montant à transférer (dans la plus petite unité monétaire) currencystringOui Code de la devise (ex: XAF, USD) first_namestringOui Prénom du bénéficiaire last_namestringOui Nom du bénéficiaire payment_method_dataobjectOui Détails de la méthode de paiement metadataobjectNon Métadonnées clé-valeur pour le suivi interne
Structure payment_method_data
{
"type" : "momo" ,
"momo" : {
"msisdn" : "242066594470" ,
"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 bénéficiaire 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/remittance \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-d '{
"amount": "100",
"currency": "XAF",
"first_name": "Jean",
"last_name": "Dupont",
"payment_method_data": {
"type": "momo",
"momo": {
"msisdn": "242066594470",
"country": "CG",
"operator_name": "mtn"
}
},
"metadata": {
"source": "yabetoo-partner-portal"
}
}'
Réponse
200 OK
{
"id" : "rem_RMqehxy8NNi1ocJFG2SSAZMj81m6spo72vnZ" ,
"object" : "remittance" ,
"amount" : 1000 ,
"currency" : "xaf" ,
"status" : "succeeded" ,
"firstName" : "Jean" ,
"lastName" : "Dupont" ,
"operatorName" : "mtn" ,
"country" : "cg" ,
"phone" : "242066594470" ,
"type" : 1 ,
"shouldExecutedAt" : "2025-03-18T09:24:57.555Z" ,
"createdAt" : "2025-03-17T10:24:57.559+01:00" ,
"updatedAt" : "2025-03-17T10:24:57.559+01:00"
}
Statuts du transfert
Statut Description processingEn cours de traitement succeededTransfert réussi failedTransfert échoué canceledTransfert annulé
400 Mauvaise requête
{
"errors" : [
{
"rule" : "required" ,
"field" : "currency" ,
"message" : "required validation failed"
}
]
}
401 Non autorisé
{
"message" : "Unauthorized"
}