Documentation Flinpay
Flinpay est un agrégateur de paiement mobile money couvrant 7 pays d'Afrique francophone. 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) |
| operator | string | momo (MTN Mobile Money) ou om (Orange Money) |
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. Votre client ouvre la page (hébergée par Flinpay), choisit son opérateur (MTN MoMo ou Orange Money) et confirme directement depuis son téléphone — aucune redirection vers un site tiers.
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
Configurez un endpoint depuis Dashboard → Webhooks pour recevoir une notification à chaque paiement confirmé ou échoué.
Événements disponibles : payment.success, payment.failed.