Passer en production
Ce qu'il reste à faire entre « ça marche en sandbox » et « le premier vrai franc est encaissé ».
1. Faire valider votre compte (KYC)
L'encaissement réel n'est ouvert qu'après validation de votre identité et de votre activité : pièce d'identité du représentant, justificatif d'activité, et pour une société son immatriculation.
2. Renseigner vos coordonnées de reversement
C'est là que NguePay vous reverse ce qu'il encaisse : compte bancaire ou mobile money. Un numéro mobile money est vérifié par code OTP. Sans coordonnées valides, l'argent est encaissé mais reste bloqué.
3. Activer vos moyens de paiement
Activez les opérateurs que vous voulez proposer. Un opérateur non activé fait échouer les paiements avec NGP010 — facile à diagnostiquer, coûteux à découvrir en production.
4. Générer des clés live
Vos clés sandbox continuent de fonctionner : les deux modes coexistent, ce qui vous laisse un environnement de recette après la mise en production.
N'oubliez pas de déclarer le domaine de production sur la clé publique live — un domaine de recette n'y donne pas droit, et le paiement échouera avec NGP015.
5. Refaire les destinations webhook en production
Les destinations et leurs secrets ne se copient pas d'un environnement à l'autre. Déclarez vos destinations de production, récupérez leurs secrets, déployez-les, puis envoyez une livraison de test sur chacune. Un test qui passe prouve que la signature est correcte des deux côtés.
6. Déclarer le webhook chez chaque opérateur
NguePay reçoit les confirmations d'encaissement sur ses propres endpoints, mais chaque opérateur doit être configuré pour les appeler. Cette étape se fait dans le tableau de bord de l'opérateur, pas dans NguePay.
| Opérateur | URL à déclarer | Événements |
|---|---|---|
| Stripe | https://api.live.nguepay.com/api/webhooks/stripe | checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, checkout.session.expired, refund.created, refund.updated |
| Wave (temporairement indisponible) | https://api.live.nguepay.com/api/webhooks/wave | Événements de paiement — inutile tant que Wave est désactivé |
| Orange Money | https://api.live.nguepay.com/api/webhooks/orange | Événements de paiement |
| MTN MoMo (temporairement indisponible) | https://api.live.nguepay.com/api/webhooks/mtn | Callback de collecte — inutile tant que MTN MoMo est désactivé |
Pour Stripe, reportez ensuite le secret de signature de l'endpoint dans la configuration NguePay : sans lui, les notifications arrivent et sont rejetées.
pending. Rien n'échoue, rien ne remonte d'erreur — la confirmation n'arrive simplement jamais. C'est le premier endroit à regarder devant un paiement qui ne se conclut pas.7. Protéger le compte dashboard
Activez la double authentification dans Paramètres › Sécurité et rangez les codes de secours hors du téléphone. Le dashboard donne accès aux clés, aux webhooks et aux coordonnées de reversement : un mot de passe seul ne suffit pas à le protéger.
Check-list avant le premier vrai paiement
- KYC validé, statut live actif
- Coordonnées de reversement vérifiées
- Opérateurs activés et testés en sandbox
- Clés live en variables d'environnement — jamais dans le dépôt
- Domaine de production déclaré sur la clé publique live
- Destinations webhook de production créées, secrets déployés, test réussi
- Webhook déclaré chez chaque opérateur, secret de signature Stripe reporté
- Un paiement réel par opérateur, mené jusqu'à
succeeded— pas seulement jusqu'au201 - Endpoint webhook HTTPS, port standard, joignable publiquement, sans redirection, répondant en moins de 10 secondes
- Idempotence en place sur
X-NguePay-Delivery - Livraison déclenchée par le webhook, pas par
onSuccess - Références de commande stables et non aléatoires
- Journalisation des
error_code, sans jamais journaliser une clé - Double authentification activée sur le compte dashboard, codes de secours rangés
- Compte particulier : plafond de 3 000 000 XOF par mois en tête — au-delà, passer en compte entreprise
Les premiers jours
- Surveillez le taux de livraison des webhooks et le compteur d'échecs consécutifs de chaque destination.
- Rapprochez quotidiennement vos commandes et vos transactions encaissées.
- Faites un vrai paiement de petit montant, puis remboursez-le : le cycle complet est testé.
Si quelque chose cloche
Le journal des envois conserve chaque tentative, son code HTTP et le début de la réponse de votre serveur : c'est le premier endroit à regarder. Ensuite seulement, support@nguepay.com, en joignant l'uuid de la transaction ou de la livraison concernée.