Préparer votre requête
Pour créer un transfert d’argent, utilisez le point de terminaison suivant :
- Sandbox :
POST https://pay.sandbox.yabetoopay.com/v1/remittance
- Production :
POST https://pay.api.yabetoopay.com/v1/remittance
Sécurité de la clé secrète : Votre clé secrète (secret_key
)
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.
- Authentifiez votre requête en utilisant votre clé secrète dans l’en-tête
Authorization
.
- Incluez les champs requis dans le corps de la requête :
{
"amount": "100",
"currency": "XAF",
"first_name": "Jean",
"last_name": "Dupont",
"payment_method_data": {
"type": "momo",
"momo": {
"msisdn": "242066594470",
"country": "CG",
"operator_name": "mtn"
}
},
"metadata": {
"internal_ref": "tr_8493983"
}
}
Corps de la requête
Envoyez une charge utile JSON
avec les champs suivants :
Champs requis
Champ | Type | Description |
---|
amount | string | Le montant à transférer (dans la plus petite unité monétaire, ex. centimes). |
currency | string | Code de la devise (ex., xaf , usd ). |
first_name | string | Prénom du bénéficiaire. |
last_name | string | Nom de famille du bénéficiaire. |
payment_method_data | object | Détails du moyen de paiement (voir ci-dessous). |
Champs optionnels
Champ | Type | Description |
---|
metadata | object | Métadonnées clé-valeur pour le suivi interne ou la logique métier. |
Structure de payment_method_data
{
"type": "momo",
"momo": {
"country": "cg",
"msisdn": "242066594470",
"operator_name": "mtn"
}
}
Créer un transfert d’argent
Utilisez le point de terminaison suivant :
- Sandbox :
POST https://pay.sandbox.yabetoopay.com/v1/remittance
- Production :
POST https://pay.api.yabetoopay.com/v1/remittance
Cet exemple montre comment créer un transfert d’argent, vous devez l’adapter à vos besoins.
const response = await fetch(
"https://pay.sandbox.yabetoopay.com/v1/remittance",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${secret_key}`,
},
body: JSON.stringify({
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",
},
}),
}
);
const data = await response.json();
console.log(data);
Réponse
Dans cette section, vous trouverez les réponses possibles de l’API.
200 OK
Lorsque le transfert d’argent a été créé avec succès, l’API renverra une réponse 200 OK avec le corps suivant :
{
"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"
}
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é
{
"message": "Non autorisé"
}