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.

Un document flou ou tronqué est la première cause de refus. Un redépôt coûte plus cher qu'une photo nette.

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érateurURL à déclarerÉvénements
Stripehttps://api.live.nguepay.com/api/webhooks/stripecheckout.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 Moneyhttps://api.live.nguepay.com/api/webhooks/orangeÉvénements de paiement
MTN MoMo (temporairement indisponible)https://api.live.nguepay.com/api/webhooks/mtnCallback 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.

Symptôme si cette étape est oubliée : les paiements se créent, le client paie réellement, et la transaction reste indéfiniment en 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

Les premiers jours

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.

Besoin d'aide ?