Démarrer
Qu'est-ce que Payfonte ?
Qu'est-ce que Payfonte ?
- Mobile money : MTN MoMo, Orange Money, Airtel Money, M-Pesa, Wave, Moov
- Virements bancaires : paiements bancaires directs au Nigeria, au Kenya, en Afrique du Sud
- Cartes : Visa et Mastercard via des partenaires
- Portefeuilles numériques : Opay, PalmPay et autres
Comment commencer avec Payfonte ?
Comment commencer avec Payfonte ?
Quelle différence entre sandbox et production ?
Quelle différence entre sandbox et production ?
| Aspect | Sandbox | Production |
|---|---|---|
| URL API | https://sandbox-api.payfonte.com | https://api.payfonte.com |
| Dashboard | https://sandbox-app.payfonte.com | https://app.payfonte.com |
| Argent réel | ❌ Non | ✅ Oui |
| Identifiants | Clés sandbox dédiées | Clés production dédiées |
| Prompts MNO | Réponses simulées | STK push et USSD réels |
Quels documents KYB sont requis ?
Quels documents KYB sont requis ?
- Certificat d’incorporation
- Statuts ou mémorandum
- Résolution du conseil autorisant le traitement des paiements
- Pièce d’identité valide des dirigeants ou UBO
- Justificatif d’adresse
- Relevé bancaire des trois derniers mois
- Certificat d’enregistrement de l’activité
- Pièce d’identité officielle
- Justificatif d’adresse
- Relevé bancaire
Comprendre le mobile money
Comment fonctionne un paiement mobile money ?
Comment fonctionne un paiement mobile money ?
Quelle différence entre STK Push et USSD ?
Quelle différence entre STK Push et USSD ?
STK Push
- Le prompt de paiement est envoyé directement sur le téléphone du client
- Le client voit une fenêtre et saisit son PIN
- Pris en charge par M-Pesa et certains marchés MTN
- Expérience fluide mais nécessite un téléphone allumé avec du réseau
USSD
- Le client compose un code ou reçoit un menu de session
- Il navigue dans le menu puis saisit son PIN
- Utilisé par MTN MoMo, Orange Money et Airtel Money sur plusieurs marchés
- Compatible avec les téléphones basiques et sans data
Autorisation provider
- La demande de paiement est envoyée directement via l’API
- Le MNO invite ensuite le client sur son appareil
Quelle est l'expérience client pour un paiement mobile money ?
Quelle est l'expérience client pour un paiement mobile money ?
- Le client choisit mobile money
- Il saisit son numéro mobile money
- Il clique sur payer
- Le client reçoit un STK push ou un prompt USSD
- Le prompt affiche le marchand, le montant et la référence
- Le client saisit son PIN pour autoriser
- Le client voit un message de paiement réussi sur son téléphone
- Il reçoit la confirmation SMS du MNO
- Il est redirigé vers votre page de succès
| Étape | Durée typique |
|---|---|
| Initiation vers le prompt | 2 à 5 secondes |
| Autorisation client | 10 à 30 secondes |
| Callback de confirmation | 1 à 3 secondes |
| Total | 15 à 45 secondes |
Qu'est-ce que la pré-autorisation mobile money ?
Qu'est-ce que la pré-autorisation mobile money ?
- Le client ouvre l’application ou l’USSD du MNO et génère un code
- Il partage ce code avec le marchand
- Le marchand envoie
preAuthorisationCodedans la requête API - Le paiement est traité sans prompt additionnel
- Orange Burkina Faso
- Orange Sénégal
Traitement des transactions
Quels statuts de transaction dois-je prévoir ?
Quels statuts de transaction dois-je prévoir ?
| Statut | Description | Final ? | Action requise |
|---|---|---|---|
queued | Paiement mis en file pour traitement | ❌ | Attendre le webhook |
pending | Paiement initié, en attente d’autorisation client | ❌ | Attendre le webhook |
processing | Client autorisé, traitement provider en cours | ❌ | Attendre le webhook |
success | Paiement terminé avec succès | ✅ | Exécuter la commande |
rejected | Paiement rejeté | ✅ | Proposer un retry |
failed | Paiement échoué | ✅ | Proposer un retry |
expired | Le client n’a pas autorisé à temps | ✅ | Proposer un retry |
reversed | Les fonds ont été retournés au client | ✅ | Mettre à jour vos enregistrements |
Comment Payfonte garantit-il un état final à 100 % ?
Comment Payfonte garantit-il un état final à 100 % ?
- Monitoring temps réel de chaque transaction
- Polling automatique des API MNO pour les transactions pending
- Téléchargement et rapprochement des relevés MNO
- Gestion des timeouts
- Retry des callbacks webhook jusqu’à accusé de réception
success, failed ou expired, dans la fenêtre de timeout du provider, généralement entre 5 et 60 minutes.Quels sont les délais de timeout selon les providers ?
Quels sont les délais de timeout selon les providers ?
| Provider | Timeout | Notes |
|---|---|---|
| M-Pesa, Kenya | 60 secondes | Le STK push expire rapidement |
| MTN MoMo | 5 à 15 minutes | Varie selon le pays |
| Orange Money | 5 à 10 minutes | Timeout de session USSD |
| Airtel Money | 5 à 10 minutes | Timeout standard |
| Wave | 5 minutes | Confirmation via application |
expired et vous recevez un webhook.Comment gérer les transactions échouées ?
Comment gérer les transactions échouées ?
errorCode et errorMessage dans la réponse ou le webhook.| Erreur | Cause | Résolution |
|---|---|---|
INSUFFICIENT_FUNDS | Solde client insuffisant | Demandez au client de recharger |
WRONG_PIN | PIN incorrect | Réessayer avec le bon PIN |
TIMEOUT | Le client n’a pas répondu à temps | Relancer la transaction |
ACCOUNT_LOCKED | Portefeuille client verrouillé | Le client doit contacter son MNO |
INVALID_PHONE | Numéro non enregistré en mobile money | Vérifier le numéro |
DAILY_LIMIT_EXCEEDED | Plafond journalier atteint | Réduire le montant ou attendre |
SYSTEM_ERROR | Incident technique provider | Réessayer après quelques minutes |
- Afficher des messages d’erreur compréhensibles
- Proposer un retry pour les erreurs relançables
- Journaliser toutes les transactions en échec
- Contacter le support si les erreurs
SYSTEM_ERRORpersistent
Webhooks et callbacks
Comment configurer les webhooks ?
Comment configurer les webhooks ?
- Ouvrir Dashboard -> Settings -> API Keys/Webhooks
- Saisir votre URL webhook, par exemple
https://yoursite.com/payfonte/webhook - Cliquer sur Save
- Endpoint accessible publiquement, pas en localhost
- HTTPS obligatoire
- Réponse HTTP 200 en moins de 30 secondes
- Traitement idempotent
À quoi ressemble un payload webhook ?
À quoi ressemble un payload webhook ?
payment.completedpayment.failedpayment.expireddisbursement.completeddisbursement.failed
Comment traiter correctement les webhooks ?
Comment traiter correctement les webhooks ?
Que se passe-t-il si mon endpoint webhook est indisponible ?
Que se passe-t-il si mon endpoint webhook est indisponible ?
- Tentative 1 : immédiate
- Tentative 2 : 1 minute plus tard
- Tentative 3 : 5 minutes plus tard
- Tentative 4 : 30 minutes plus tard
- Tentative 5 : 1 heure plus tard
- Le statut reste mis à jour dans notre système
- Vous pouvez toujours interroger le statut via l’API
- Vous pouvez rejouer les webhooks depuis le dashboard
Règlement et décaissements
Sous quel délai reçois-je mes fonds ?
Sous quel délai reçois-je mes fonds ?
| Pays | Méthode | Règlement |
|---|---|---|
| Nigeria | Virement bancaire | T+1 |
| Nigeria | Mobile money | T+1 à T+2 |
| Kenya | M-Pesa | T+1 |
| Ghana | Toutes méthodes | T+1 à T+2 |
| Côte d’Ivoire | Mobile money | T+2 à T+3 |
| Autres pays CFA | Mobile money | T+2 à T+3 |
Puis-je envoyer des décaissements ?
Puis-je envoyer des décaissements ?
- Portefeuilles mobile money
- Comptes bancaires, notamment au Nigeria, au Kenya et dans d’autres marchés
- Flux de décaissement en masse selon la configuration
- Valider le bénéficiaire
- Soumettre la demande de décaissement
- Recevoir le webhook de finalisation
- Mobile money : 30 secondes à 5 minutes
- Virement bancaire : le jour même à J+1 ouvré
Comment vérifier mon solde portefeuille ?
Comment vérifier mon solde portefeuille ?
- Connectez-vous au dashboard marchand
- Consultez les soldes sur l’écran d’accueil
- Changez de pays via le sélecteur en haut à droite
Intégration technique
Comment formater les montants ?
Comment formater les montants ?
| Montant affiché | Valeur à envoyer |
|---|---|
5000.50 NGN | 500050 |
100.00 GHS | 10000 |
1000 KES | 100000 |
10000 XOF | 1000000 |
5000 XAF | 500000 |
Comment formater les numéros de téléphone ?
Comment formater les numéros de téléphone ?
| Pays | Format | Exemple |
|---|---|---|
| Nigeria | 234XXXXXXXXXX | 2348012345678 |
| Kenya | 254XXXXXXXXX | 254712345678 |
| Ghana | 233XXXXXXXXX | 233201234567 |
| Côte d’Ivoire | 225XXXXXXXXXX | 2250512345678 |
| Cameroun | 237XXXXXXXXX | 237612345678 |
- Le signe plus
- Les espaces ni les tirets
- Les zéros initiaux après l’indicatif pays
Qu'est-ce que l'API Direct Charge ?
Qu'est-ce que l'API Direct Charge ?
- Les paiements serveur à serveur
- Les paiements récurrents
- Les intégrations mobiles natives
Prenez-vous en charge l'orchestration hybride, BYOK ?
Prenez-vous en charge l'orchestration hybride, BYOK ?
- Vous gardez vos contrats directs avec les MNO
- Vous fournissez vos clés API MNO de manière sécurisée
- Nous routons les transactions via votre compte ou portefeuille provider
- Vous conservez vos tarifs négociés
- Frais plus faibles
- Conservation des relations providers
- Couverture combinée, vos contrats plus nos partenariats
- Dashboard unique pour tous vos APM
Que se passe-t-il si un provider est indisponible ?
Que se passe-t-il si un provider est indisponible ?
- Si le provider principal échoue, nous essayons les rails de secours
- L’intégration multi-PSP permet plusieurs providers par pays
- Le monitoring temps réel détecte les incidents en quelques secondes
- Le trafic est rerouté sans intervention du marchand
- Principal : intégration directe MTN MoMo
- Secours 1 : MTN via l’agrégateur
- Secours 2 : autre route mobile money disponible
Sécurité et conformité
Payfonte est-il conforme PCI DSS ?
Payfonte est-il conforme PCI DSS ?
- Conformité PCI DSS
- Scans ASV trimestriels
- Tests d’intrusion annuels
- Chiffrement de bout en bout, en transit et au repos
Comment gérez-vous la confidentialité des données ?
Comment gérez-vous la confidentialité des données ?
- Méthodes alignées GDPR
- Minimisation des données collectées
- Chiffrement de toutes les données sensibles
- Contrôles d’accès basés sur les rôles
- Politiques de rétention conformes
- Numéros de téléphone
- Adresses e-mail
- Historique de transaction
- PIN mobile money
- CVV carte
- Soldes de portefeuille client
Quelles mesures anti-fraude sont en place ?
Quelles mesures anti-fraude sont en place ?
- Contrôles de vélocité
- Device fingerprinting
- Analyse géographique
- Seuils configurables par marchand
- Gestion de blacklist
- Définir vos propres limites dans le dashboard
- Activer des vérifications supplémentaires pour les gros montants
- Consulter des analyses et rapports de fraude
Dépannage
Pourquoi ma transaction reste-t-elle en pending ?
Pourquoi ma transaction reste-t-elle en pending ?
| Cause | Résolution |
|---|---|
| Le client n’a pas encore autorisé | Attendre la saisie du PIN |
| Délai provider ou MNO | Se résout souvent en 5 à 15 minutes |
| Problème de connectivité | Le moteur de rapprochement finira la résolution |
| STK push non reçu | Le client peut avoir besoin de relancer |
- Attendre 5 à 15 minutes
- Vérifier le statut via l’API
- Si le blocage dépasse 30 minutes, contacter le support
Pourquoi ai-je une erreur 401 Unauthorized ?
Pourquoi ai-je une erreur 401 Unauthorized ?
Comment tester différents scénarios en sandbox ?
Comment tester différents scénarios en sandbox ?
success, failed et pending.
- Créez un compte sandbox sur sandbox-app.payfonte.com
- Récupérez vos identifiants API dans Settings -> API Keys/Webhooks
- Configurez votre webhook dans Settings -> API Keys/Webhooks
- Testez votre intégration en sandbox
- Terminez le KYB via notre formulaire KYB
- Passez en production une fois approuvé
Le délai d’onboarding est généralement de 1 à 5 jours ouvrés après la soumission KYB.