Démarrer
Documentation de l'API LabPay
Encaissez et envoyez de l'argent en Mobile Money (M-Pesa, Airtel Money, Orange Money…) partout en Afrique, dans chaque pays ouvert sur la plateforme et dans sa devise, avec une seule API — en HTTP ou avec nos SDK PHP, Laravel, Node.js, Python, Java et .NET.
Disponible maintenant#
L'état des versions de l'API, des opérations et des pays n'a pas pu être lu pour le moment. Les capacités décrites ci-dessous sont celles de l'API ; la plateforme peut en suspendre certaines (réponse 503 avec un code explicite, voir Erreurs). Réessayez dans quelques instants, ou interrogez GET /V2/countries et GET /V2/availability avec votre token.
Démarrer en 5 minutes#
- Créez un compte marchand LabPay et, dans Mes clés API, générez votre token : vous obtenez un token réel et une clé de test (
test_…). - Choisissez votre outil : un SDK (PHP, Laravel, Node.js, Python, Java, .NET), l'extension WooCommerce, la collection Postman ou le HTTP direct.
- Encaissez 1 000 CDF avec la clé de test et le numéro de test
0813456789: aucun argent réel. - Recevez le statut final sur votre
callback_url(notification signée) ou relisez le paiement. - Tout fonctionne ? Remplacez la clé de test par le token réel : mêmes endpoints, mêmes formats.
Premier encaissement de test
curl -X POST "https://api.labyrinthe-rdc.com/api/V2/deposits" \
-H "Authorization: Bearer test_xxxxxxxxxxxxxxxx" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"amount":"1000","currency":"CDF","phone":"0813456789","reference":"ORDER-42","callback_url":"https://boutique.example/webhooks/labpay"}'Pas à pas détaillé : Démarrage rapide.
Tout ce que l'API V2 vous permet#
POST /V2/deposits : le client paie depuis son wallet après validation par code PIN.Envoyer POST /V2/payouts : de votre solde vers un wallet Mobile Money.Rembourser POST /V2/refunds : tout ou partie d'un dépôt réussi.Annuler un envoi POST /V2/payouts/{id}/cancel : un envoi resté en file d'attente.Suivre et synchroniser Liste filtrée, détail d'un paiement et relecture immédiate du statut (sync).Notifications signées Statut final sur votre callback_url, signature HMAC, relivraisons.Historique des notifications GET /V2/notifications et renvoi d'une notification.Opérateurs et prédiction Pays, opérateurs et leurs règles, disponibilité, opérateur d'un numéro.Compte et soldes Soldes par devise, mode, frais, clé de test et secret de signature.Mode test (sandbox) Clé test_…, soldes séparés, numéros qui simulent chaque issue.Idempotence Une reference par opération : jamais de double paiement.Limites et frais Limite de débit, plafonds par pays et opérateur, frais.SDK par langage#
Même API dans chaque langage, référence automatique contre les doubles paiements, erreurs typées, relances sûres et vérification des webhooks. Version 0.1.0 (aperçu) : installation depuis GitHub en attendant la publication sur les registres. Voir SDK et outils.
labyrinthe/labpay-php — PHP 8.1+, PSR-18.Laravel labyrinthe/labpay-laravel — façade, route de webhooks, événements.Node.js / TypeScript @labyrinthe/labpay — Node 18+, sans dépendance.Python labpay — Python 3.9+, httpx, typé.Java et Spring Boot com.labyrinthe-rdc:labpay — Java 17+ et starter Spring Boot 3..NET (C#) Labyrinthe.LabPay — .NET Standard 2.0 / .NET 8, ASP.NET Core.Outils#
Pays et opérateurs#
LabPay est conçu pour toute l'Afrique : une seule intégration couvre chaque pays ouvert sur la plateforme, avec ses opérateurs Mobile Money et dans sa devise, et la liste s'agrandit au fil du déploiement. La liste à jour (lue en base) des pays ouverts, de leurs opérateurs et de leurs plafonds est ci-dessus et, en détail, sur Pays et opérateurs ; depuis l'API : GET /V2/countries, GET /V2/providers, GET /V2/availability.
Le pays d'un paiement se déduit du numéro : numéro local = pays par défaut de la plateforme, numéro international (+…) = pays de l'indicatif ; le champ facultatif country le fixe explicitement. Voir Pays et numéros.
Choisir sa version#
LabPay expose deux versions de son API. Elles partagent les mêmes comptes marchands, les mêmes tokens et les mêmes soldes : un marchand peut passer de l'une à l'autre sans changer de compte.
Vous avez une intégration V1 ? Le guide Versions et migration liste les différences et les étapes, endpoint par endpoint.
URL de base#
| Version | URL de base | Authentification |
|---|---|---|
| V2 (recommandée) | https://api.labyrinthe-rdc.com/api/V2 | En-tête Authorization: Bearer <token> |
| V1 (historique) | https://api.labyrinthe-rdc.com/api/V1 | Champ token du corps ou de la requête |
Toutes les routes vivent sous https://api.labyrinthe-rdc.com/api, avec un V majuscule pour la version (/V2/deposits, /V1/payment/mobile).
Les notions à connaître#
- Encaissement (dépôt) : le client paie le marchand depuis son wallet Mobile Money, après validation par code PIN sur son téléphone.
- Envoi (retrait, payout) : le marchand envoie de l'argent de son solde LabPay vers un wallet Mobile Money.
- Pays : chaque paiement a un pays (code à 3 lettres, ex.
COD), déduit du numéro ou donné parcountry; la devise doit être l'une de celles de ce pays. - Solde : un solde par devise (ex.
CDF,USD), crédité par les encaissements réussis et débité par les envois. - Asynchrone : une demande de paiement est d'abord en attente ; le statut final arrive ensuite (notification à votre
callback_url, ou relecture).
Obtenir un token#
Le token API et la clé de test se créent dans l'espace marchand LabPay, rubrique Mes clés API. Créez d'abord un compte, puis générez votre token : la clé de test permet d'intégrer la V2 avant la validation du compte.