Débiter un compte (Demande de paiement)
Cet endpoint permet de débiter un montant spécifié du compte d'un client B-MO.
Présentation
L'opération Débiter un compte permet d'initier un retrait ou un encaissement sur le compte B-MO d'un abonné.
URL de Base (selon l'environnement sélectionné) :
- PAP (Pré-production / Défaut) :
https://svc.pap.bestcash.me/external- TEST (Sandbox) :
https://svc.test.bestcash.me/external- LIVE (Production) :
https://svc.bmo.bestcash.me/externalVous pouvez basculer d'un environnement à un autre à tout moment depuis le menu déroulant en haut de la console d'essai ci-dessous.
Informations Endpoint
| Caractéristique | Détail |
|---|---|
| Méthode | POST |
| URL | /external/operations/debit |
| Authentification | En-têtes HTTP X-Auth-ApiKey et X-Auth-ApiSecret |
Console d'essai interactive
Tester la demande de débit B-MO
Exécutez une demande d'initialisation de débit d'un compte client B-MO.
Authentification (En-têtes B-MO)
Paramètres d'URL / Query Parameters (0)
Aucun paramètre d'URL configuré.
Corps de la Requête (JSON Body)
Structure de la requête (JSON Body)
{
"amount": 15000,
"partnerReference": "Référence unique générée par le partenaire",
"customer": {
"phone": "+2290160000000"
}
}
Remarque importante sur le workflow de Débit
Après l'initialisation de la demande de débit via cet endpoint :
- Un code d'autorisation/OTP est immédiatement transmis par SMS/USSD au client.
- Pour finaliser la transaction, votre système doit obligatoirement appeler l'endpoint Confirmer un débit (
/external/operations/debit/confirm) en lui transmettant le code d'autorisation. - En cas de refus ou d'abandon, appelez l'endpoint Annuler un débit (
/external/operations/debit/cancel).
Codes de Statut HTTP
- 200 OK : La demande de débit a été initiée.
- 400 Bad Request : Numéro de téléphone ou montant invalide.
- 404 Not Found : Le client spécifié n'existe pas sur B-MO.
Exemple de Code (Node.js Axios)
import axios from 'axios';
const apiKey = '+2290196666262';
const apiSecret = 'y7MwWuWeQORtpA==';
const requestData = {
amount: 15000,
partnerReference: `REF-DEBIT-${Date.now()}`,
customer: {
phone: "+2290160000000"
}
};
axios.post('https://svc.pap.bestcash.me/external/operations/debit', requestData, {
headers: {
'X-Auth-ApiKey': apiKey,
'X-Auth-ApiSecret': apiSecret,
'Content-Type': 'application/json'
}
})
.then(response => {
console.log('Demande de débit initiée :', response.data);
// Étape suivante : transmettre le code reçu par le client à /debit/confirm
})
.catch(error => {
console.error('Erreur lors du débit :', error.response?.data || error.message);
});