Intégrez les services Mobile Money dans vos applications. Initiez des transactions, gérez les partenaires et suivez les quotas avec une interface sécurisée et complète.
Base URL: http://localhost:3020/api/b2b/v1
Initiez des transactions Mobile Money (dépôts, retraits, crédits d'unités, paiements) via une API REST sécurisée.
Créez et gérez vos partenaires avec un système complet de CRUD, quotas journaliers et mensuels.
Contrôlez les limites journalières et mensuelles par partenaire pour une gestion optimale des transactions.
Recevez des notifications automatiques avec système de retry pour garantir la livraison des statuts de transaction.
Traçabilité complète de toutes les requêtes API et callbacks avec historique détaillé pour le debugging.
Protection contre les abus avec limitation du nombre de requêtes par minute pour garantir la stabilité.
Dépôts sur comptes Mobile Money
Retraits depuis comptes Mobile Money
Recharge de crédit téléphonique
Paiements via QR Code
Le partenaire appelle l'endpoint /initiationTransaction avec les credentials et les détails de la transaction.
Vérification des credentials via PartnerAuthGuard et validation des quotas journaliers/mensuels.
Création de la transaction avec statut PENDING et génération d'un tokenTX unique pour le suivi.
Traitement en arrière-plan avec mise à jour du statut (COMPLETED/FAILED) selon le résultat.
Envoi automatique du callback au partenaire avec retry en cas d'échec et mise à jour des quotas.
Authentification par credentials (loginApi/mdpApi) avec hashage bcrypt pour sécuriser les accès.
Limitation à 100 requêtes par minute pour protéger contre les abus et garantir la stabilité du système.
Validation complète des entrées avec class-validator et transformation automatique des données.
Headers de sécurité configurés avec Helmet pour protéger contre les vulnérabilités courantes.
Configuration CORS flexible pour autoriser les requêtes depuis vos domaines autorisés.
Traçabilité complète de toutes les requêtes API et callbacks pour audit et debugging.
Authentification et validation complètes
Traitement en temps réel
OM, MTN, Moov, Wave
API accessible à tout moment
Créez un partenaire via l'endpoint POST /partners avec les credentials et les quotas.
Utilisez les credentials (loginApi/mdpApi) dans le corps de la requête pour authentifier vos transactions.
Appelez POST /initiationTransaction avec les détails de la transaction et recevez un tokenTX unique.
Recevez automatiquement le statut de la transaction via callback sur votre URL configurée.
/api/b2b/v1/initiationTransaction
Initie une nouvelle transaction Mobile Money avec authentification du partenaire.
{
"loginApi": "string",
"mdpApi": "string",
"transaction": {
"montant": "number",
"codeService": "string",
"numeroBeneficiaire": "string",
"idPartenaire": "string"
}
}
{
"success": true,
"tokenTX": "string",
"message": "string",
"data": {
"transactionId": "string",
"status": "pending"
}
}
/api/b2b/v1/partners
Crée un nouveau partenaire avec ses identifiants et ses quotas.
{
"name": "string",
"email": "string",
"phone": "string",
"loginApi": "string",
"mdpApi": "string",
"callbackUrl": "string",
"allowedServices": ["string"],
"dailyLimit": "number",
"monthlyLimit": "number",
"maxTransactionAmount": "number",
"status": "active | inactive"
}
{
"success": true,
"message": "string",
"data": {
"id": "string",
"name": "string",
"email": "string",
"phone": "string",
"loginApi": "string",
"status": "active",
"createdAt": "date"
}
}
/api/b2b/v1/partners
Récupère la liste complète de tous les partenaires enregistrés.
Aucun paramètre requis
{
"success": true,
"data": [
{
"id": "string",
"name": "string",
"email": "string",
"status": "active",
"dailyLimit": "number",
"monthlyLimit": "number"
}
],
"total": "number"
}
/api/b2b/v1/partners/:id
Récupère les détails complets d'un partenaire spécifique.
URL Parameter:
id: string (Partner ID)
{
"success": true,
"data": {
"id": "string",
"name": "string",
"email": "string",
"phone": "string",
"loginApi": "string",
"callbackUrl": "string",
"allowedServices": ["string"],
"dailyLimit": "number",
"monthlyLimit": "number",
"currentDailyUsage": "number",
"currentMonthlyUsage": "number",
"status": "active"
}
}
/api/b2b/v1/partners/:id
Met à jour les informations d'un partenaire existant.
{
"name": "string",
"email": "string",
"phone": "string",
"callbackUrl": "string",
"dailyLimit": "number",
"monthlyLimit": "number",
"maxTransactionAmount": "number",
"status": "active | inactive"
}
// Tous les champs sont optionnels
{
"success": true,
"message": "Partner updated successfully",
"data": {
"id": "string",
"name": "string",
"email": "string",
"status": "active",
"updatedAt": "date"
}
}
/api/b2b/v1/partners/:id
Supprime définitivement un partenaire du système.
URL Parameter:
id: string (Partner ID)
{
"success": true,
"message": "Partner deleted successfully"
}
Utilisez l'endpoint POST /partners avec les informations du partenaire (nom, email, téléphone, credentials, quotas, etc.).
L'authentification se fait via les credentials loginApi et mdpApi fournis dans le corps de la requête pour l'endpoint d'initiation de transaction.
Le tokenTX est un identifiant unique retourné lors de l'initiation d'une transaction. Il permet de suivre le statut de la transaction et sera inclus dans le callback.
Une fois la transaction traitée, un callback est automatiquement envoyé à l'URL configurée dans le profil du partenaire. En cas d'échec, le système effectue jusqu'à 4 tentatives avec délai exponentiel.
Les codes service incluent les dépôts (CI_DEPOSIT_*), retraits (CI_WITHDRAWAL_*), crédits d'unités (CI_UNIT_CREDIT_*) et paiements (CI_PM_*) pour Orange Money, MTN, Moov et Wave.
Les quotas journaliers et mensuels sont configurés lors de la création du partenaire. Le système vérifie automatiquement ces limites avant chaque transaction et les met à jour après traitement.