Documentation Flinpay
Flinpay est un agrégateur de paiement mobile money couvrant 12 pays d'Afrique francophone et anglophone. Une seule intégration API pour encaisser dans tous les corridors supportés.
Authentification
Toutes les requêtes à l'API de paiement doivent inclure votre clé API dans l'en-tête Authorization, au format Bearer token.
Vous trouverez vos clés dans Dashboard → Clés API. Chaque clé existe en deux versions :
| Préfixe | Environnement | Effet |
|---|---|---|
| fp_live_ | Production | Transactions réelles, argent réellement déplacé |
| fp_test_ | Sandbox | Transactions simulées, aucun argent déplacé |
fp_live_ côté client (navigateur, app mobile). Utilisez-la uniquement depuis votre serveur.Vérification d'identité (KYC)
Pour des raisons de sécurité et de conformité, la génération de clés API nécessite une vérification d'identité préalable. Rendez-vous sur Vérification, soumettez une pièce d'identité (CNI, passeport ou permis), et attendez la validation (généralement sous 24-48h).
Tant que votre compte n'est pas vérifié, la page Clés API reste verrouillée.
Initier un paiement
Déclenche une demande de paiement mobile money vers le numéro du client.
| Champ | Type | Description |
|---|---|---|
| amount | number | Montant à encaisser (dans la devise du pays du client) |
| phone | string | Numéro mobile money du client |
| client_name | string | Nom complet du client |
| order_id | string | Identifiant unique de la commande côté marchand |
| country | string | Code pays ISO2 (ex: CI, CM, SN) |
Réponses & statuts
Une requête réussie renvoie :
Statuts possibles pour une transaction :
| Statut | Signification |
|---|---|
| pending | En attente de confirmation par l'opérateur mobile money |
| paid | Paiement confirmé et encaissé |
| failed | Paiement refusé, expiré ou annulé |
Erreurs
| Code HTTP | Cause probable |
|---|---|
| 400 | Champ requis manquant ou invalide |
| 401 | Clé API absente, invalide ou révoquée |
| 500 | Erreur serveur — réessayez ou contactez le support |
Le corps de la réponse d'erreur contient toujours {"ok": false, "error": "..."} avec un message explicite.
Liens de paiement
Pour encaisser sans écrire de code, créez un lien de paiement partageable depuis Dashboard → Liens de paiement. Le lien ouvre une page de paiement hébergée par Flinpay où votre client saisit son numéro mobile money.
Sandbox vs Production
Utilisez votre clé fp_test_ pendant le développement : les transactions sont marquées environment: "sandbox" et n'impliquent aucun mouvement d'argent réel. Basculez vers fp_live_ uniquement en production, une fois votre intégration testée.
Webhooks
En attendant, interrogez le statut de vos transactions depuis votre tableau de bord.