VibeFox PayMongo for OpenCart — Aide
Prérequis
OpenCart : 3.0.x (testé avec la version 3.0.5.0) ou 4.0.2 et ultérieur (testé avec la version 4.1.0.3).
PHP : 8.0 ou ultérieur.
Devise : peso philippin (PHP). PayMongo n'apparaît au paiement que si le client paie en PHP et si le total est d'au moins 100,00 ₱. Ajoutez la devise dans System > Localisation > Currencies si votre boutique ne l'a pas encore. Si la devise par défaut de votre boutique n'est pas le PHP, la page des paramètres vous en avertit, et les clients doivent passer en PHP pour voir PayMongo.
Compte PayMongo : vous avez besoin des clés API secrètes de votre compte PayMongo et d'un webhook pour chaque mode (voir Configuration). Seules les clés secrètes (sk_test_..., sk_live_...) et les secrets de signature des webhooks (whsk_...) sont utilisés. Les clés publiques ne sont pas nécessaires, car la page de paiement est hébergée par PayMongo. Les méthodes de paiement que vous proposez doivent être activées pour votre compte PayMongo.
Clé de licence VibeFox : achetée sur vibefox.net. Une clé fonctionne sur un seul domaine.
Installation
L'archive de téléchargement est un seul fichier zip contenant les paquets pour les deux versions d'OpenCart. Décompressez-la sur votre ordinateur. Elle contient README.txt, le paquet OpenCart 3 wcp_paymongo_payment_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_paymongo_payment_gateway.ocmod.zip. Installez uniquement le paquet correspondant à votre version d'OpenCart. La clé de licence est la même pour les deux versions.
OpenCart 3
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_paymongo_payment_gateway-oc3-(version).ocmod.zip. L'extension n'a aucune modification OCMOD, donc Extensions > Modifications n'a pas besoin d'être actualisé. Au lieu de l'installateur, vous pouvez copier le contenu du dossier upload de ce paquet dans le dossier racine de votre boutique.
2. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox PayMongo Payment Gateway et cliquez sur Install (le bouton vert +).
3. Cliquez sur Edit (le bouton en forme de crayon) pour ouvrir la page des paramètres. Saisissez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page, puis cliquez sur Activate (voir Clé de licence).
4. Collez vos clés secrètes PayMongo, créez les webhooks dans PayMongo et collez leurs secrets de signature (voir Configuration).
5. Sélectionnez les méthodes de paiement, activez Enable/Disable et cliquez sur Save. Testez un paiement avec Test mode activé, puis désactivez-le.
OpenCart 4
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_paymongo_payment_gateway.ocmod.zip. Ne renommez pas le fichier : OpenCart 4 tire le code de l'extension du nom du fichier, et un paquet renommé ne fonctionne pas.
2. Le paquet apparaît dans la liste des extensions installées, sur la même page. Cliquez sur Install (le bouton vert +) à côté.
3. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox PayMongo Payment Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton en forme de crayon).
4. Saisissez la clé de licence, les clés PayMongo, les webhooks et les méthodes de paiement comme aux étapes 3 à 5 pour OpenCart 3. La page des paramètres et ses champs sont identiques dans les deux versions. Seule l'URL du webhook diffère (voir Webhook).
Une nouvelle installation démarre avec la méthode de paiement désactivée et le mode test activé.
Configuration
Tous les paramètres se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox PayMongo Payment Gateway > Edit. Les sections sont listées à gauche ; le bouton Save sous la liste enregistre toute la page. Au-dessus des paramètres, la page vous avertit lorsque la devise par défaut de la boutique n'est pas le PHP, lorsque le mode actuel n'a pas de clé secrète (PayMongo n'est alors pas affiché au paiement) ou pas de secret de webhook (les paiements ne sont alors confirmés que lorsque le client revient dans votre boutique), et affiche Test mode is on: no real payments are made. tant que le mode test est activé.
À l'enregistrement, Title ne doit pas être vide (128 caractères maximum), Sort Order doit être un nombre entier (les nombres négatifs sont acceptés), Total doit être un nombre égal ou supérieur à 0, et la zone géographique et les statuts de commande sélectionnés doivent exister ; sinon rien n'est enregistré et la page indique le champ concerné. Une clé dont le préfixe est incorrect n'est pas enregistrée, mais les autres champs le sont (voir Clés API).
PayMongo
Enable/Disable : Enable PayMongo active ou désactive la méthode de paiement. Par défaut : désactivé.
Title : le nom de la méthode de paiement affiché au client lors du paiement. C'est aussi le nom de la méthode enregistré dans la commande. Par défaut : PayMongo (Card, GCash, GrabPay, Maya). Obligatoire, 128 caractères maximum.
Description : le texte affiché au client à l'étape Confirm Order, au-dessus du bouton de confirmation. Par défaut : You will be redirected to PayMongo to pay securely with your card, GCash, GrabPay or Maya.
Payment methods : les méthodes proposées sur la page de paiement PayMongo. Ne sélectionnez que les méthodes activées pour votre compte PayMongo, sinon PayMongo refuse le paiement. Si aucune n'est sélectionnée, les valeurs par défaut sont utilisées. Par défaut : Cards, GCash, GrabPay et Maya.
Sort Order : la position de PayMongo parmi les méthodes de paiement au moment du paiement. Laissez le champ vide ou saisissez un nombre entier.
Geo Zone : proposer PayMongo uniquement pour les adresses de paiement de la zone géographique sélectionnée. Par défaut : All zones. Les zones géographiques se configurent dans System > Localisation > Geo Zones.
Total : le total de la commande, dans la devise par défaut de la boutique, que la commande doit atteindre pour que PayMongo soit proposé, en plus du minimum PayMongo de 100,00 ₱. Laissez le champ vide s'il n'y a pas de minimum supplémentaire.
Clés API
Copiez les clés secrètes depuis PayMongo Dashboard > Developers > API keys (les liens vers cette section s'y trouvent). Les clés publiques ne sont pas nécessaires. Chaque clé doit commencer par le préfixe attendu. Une valeur avec un préfixe incorrect, par exemple une clé de production dans un champ de test, n'est pas enregistrée : la page indique que le champ doit commencer par le préfixe, et The previous value was kept.
Test mode : Enable test mode (no real payments). Les nouveaux paiements utilisent les clés de test. Les paiements effectués auparavant conservent le mode dans lequel ils ont été réalisés, de sorte que les vérifications de statut et les remboursements utilisent la clé correspondante. Par défaut : activé. Désactivez-le pour accepter de vrais paiements. Tant qu'il est activé, le client voit Test mode: no real payment will be made. à l'étape Confirm Order.
Test secret key : la clé secrète du mode test. Elle commence par sk_test_.
Test webhook secret : le secret de signature du webhook du mode test. Il commence par whsk_.
Live secret key : la clé secrète du mode production. Elle commence par sk_live_.
Live webhook secret : le secret de signature du webhook du mode production. Il commence par whsk_.
Les clés et secrets enregistrés ne sont plus jamais affichés. Le champ reste vide et indique Saved — leave empty to keep it. Ne saisissez une nouvelle valeur que pour la modifier. Pour supprimer une valeur enregistrée, cochez Clear the saved value on save sous le champ et cliquez sur Save.
Webhook
Le webhook informe votre boutique qu'un paiement a été effectué, même lorsque le client ferme son navigateur après avoir payé. Créez un webhook dans le PayMongo Dashboard (ou via l'API PayMongo) pour chaque mode, test et production, avec l'URL affichée dans Webhook URL dans cette section. Sur OpenCart 3 elle ressemble à https://your-store/index.php?route=extension/payment/wcp_paymongo_payment_gateway/webhook, sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_paymongo_payment_gateway/payment/wcp_paymongo_payment_gateway.webhook, et elle est construite à partir de l'adresse de la vitrine de votre installation OpenCart. Copiez l'URL exactement telle qu'elle est affichée dans les paramètres.
Sélectionnez ces événements (ils sont aussi listés dans cette section) :
Copiez le secret de signature (whsk_...) de chaque webhook dans Test webhook secret ou Live webhook secret. Les webhooks sans signature valide sont rejetés. La signature est vérifiée avec le secret de son propre mode, et le mode de l'événement doit correspondre : ainsi, un webhook de test ne confirme jamais un paiement réel. Chaque événement est revérifié via l'API PayMongo avec la clé secrète du mode du paiement avant qu'une commande ne soit modifiée. Les événements relatifs à des paiements non lancés dans cette boutique sont ignorés. Sans webhook, une commande n'est confirmée que lorsque le client revient dans la boutique après avoir payé.
Commandes
OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante). Elle reçoit un statut seulement après la confirmation du paiement par PayMongo. OpenCart n'a pas de statut « On hold » : par défaut, les statuts d'attente et de mise en attente sont tous deux En attente, et l'onglet PayMongo ainsi que les notes de commande permettent de les distinguer. Vous pouvez créer vos propres statuts dans System > Localisation > Order Statuses et les sélectionner ici. Chaque champ ci-dessous liste vos statuts de commande OpenCart.
Order status after payment : le statut attribué après un paiement réussi. Par défaut : En cours de traitement. Complete convient aux produits virtuels ou téléchargeables qui ne nécessitent pas d'expédition.
Awaiting PayMongo payment : le client a terminé sur la page PayMongo, mais le paiement est encore en cours de traitement (par exemple un virement bancaire en ligne). Le webhook ou la vérification suivante finalise la commande. Par défaut : En attente.
PayMongo payment on hold : un écart de montant ou de devise, un paiement test sur une boutique en production, ou un paiement arrivé après l'annulation de la commande. Une note explique la raison. Par défaut : En attente.
Failed status : un paiement en attente a échoué par la suite (payment.failed). Une tentative échouée sur une commande sans statut laisse celle-ci sans statut, et le client peut payer à nouveau. Par défaut : Échec.
Cancelled status : le statut que vous donnez à une commande annulée. Un paiement arrivé plus tard place la commande en attente au lieu de la finaliser. Par défaut : Annulée.
Refunded status : appliqué lorsque le paiement est entièrement remboursé depuis l'onglet de la commande. Par défaut : Remboursée.
Avancé
Debug log : enregistre les appels à l'API PayMongo et les événements de webhook dans paymongo_p_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs). Le fichier ne peut pas être ouvert depuis le web. Les erreurs et avertissements sont toujours enregistrés, même lorsque l'option est désactivée. Les clés et les données clients ne sont jamais enregistrées. Par défaut : désactivé.
Log : affiche la taille et les dernières entrées du journal. Cliquez sur Clear log pour le vider.
Delete data on uninstall : si cette option est activée, la désinstallation de l'extension supprime les paramètres de la passerelle et le journal. Les identifiants PayMongo enregistrés pour les commandes et les remboursements sont toujours conservés, car ils sont nécessaires aux remboursements et à la comptabilité. Par défaut : désactivé.
Import / Export
Export : Download JSON enregistre les paramètres dans un fichier JSON. Les clés secrètes ne sont pas exportées.
Import : collez un JSON exporté précédemment et cliquez sur Import pour restaurer les paramètres. Les clés secrètes enregistrées sont conservées.
Paiement
À l'étape Payment Method, le client choisit la méthode de paiement (par défaut PayMongo (Card, GCash, GrabPay, Maya)). À l'étape Confirm Order, le client voit votre description et la mention After you confirm the order you will be redirected to PayMongo to complete the payment. OpenCart crée la commande à cette étape, toujours sans statut. Sur OpenCart 4, le client choisit la méthode de paiement avec le bouton Choose du bloc de la méthode de paiement, dans la fenêtre Payment method options, et clique sur Confirm Order en bas de la page de paiement.
Lorsque le client clique sur Confirm Order, l'extension crée une session de paiement PayMongo (Checkout Session) pour le total de la commande en PHP, avec une ligne Order # et le numéro de commande, puis envoie le client sur la page de paiement PayMongo. Le nom, l'e-mail, le téléphone et l'adresse de facturation du client sont transmis à PayMongo. Là, le client choisit l'une des méthodes sélectionnées et paie. Une note de la commande enregistre la session de paiement PayMongo.
Après le paiement, le client revient dans votre boutique. La commande n'est marquée comme payée qu'après la confirmation de PayMongo : l'extension interroge l'API PayMongo sur le paiement lorsque le client revient et lorsque le webhook arrive. La commande reçoit alors son statut de la manière standard d'OpenCart, avec les e-mails de commande habituels et la mise à jour du stock, et le client voit la page de confirmation de commande d'OpenCart avec Your PayMongo payment has been received. Si PayMongo traite encore le paiement lorsque le client revient, la commande reçoit le statut d'attente et la page affiche PayMongo is still processing your payment. Your order will be updated as soon as PayMongo confirms it — please do not pay again. Pour une commande mise en attente, elle affiche Your payment was received and is being reviewed. We will update your order shortly. Si PayMongo ne répond pas lorsque le client revient, une page Payment confirmation indique Your payment is being confirmed by PayMongo. You will receive an e-mail as soon as it is confirmed — please do not pay again. avec un bouton Check again ; le webhook met à jour le statut de la commande dès son arrivée. Lorsqu'une commande passe du statut d'attente au statut payé ou au statut d'échec de paiement, le client reçoit l'e-mail habituel de changement de statut d'OpenCart.
Si le client annule sur la page PayMongo ou ne termine pas le paiement, il revient à la commande avec le message You cancelled the PayMongo payment. You can try again or choose another payment method. ou Your PayMongo payment was not completed. You can try again or choose another payment method. Le panier est conservé. Sur OpenCart 4, ces messages s'affichent au-dessus de la page de paiement. Une nouvelle tentative (OpenCart 3 crée une nouvelle commande à chaque affichage de l'étape Confirm Order, OpenCart 4 met à jour la commande du paiement) vérifie d'abord la précédente : si elle a été payée entre-temps, le paiement est confirmé sans nouveau paiement ; sinon le lien de paiement PayMongo précédent expire, de sorte que le panier ne peut pas être payé deux fois. Tant que le paiement précédent est encore en cours de traitement, le client voit Your previous PayMongo payment for this order is still being processed. Please wait a few minutes before trying again. Si une autre commande du même panier a déjà été payée ou attend un paiement, le client est redirigé vers la page de confirmation. Une modification du panier, y compris une nouvelle quantité, compte comme un nouveau panier qui nécessite son propre paiement.
OpenCart 4 garde la commande dans le paiement jusqu'à l'affichage de la page de confirmation. Si cette commande a été fermée entre-temps (par exemple si vous l'avez annulée), ou si elle a été payée pour un autre panier, le client est renvoyé au paiement avec le message Your previous order is already closed. Please confirm the order again: the cart will be paid with a new order. Le prochain Confirm Order paie une nouvelle commande. Une commande payée n'est jamais affichée comme payée pour un autre panier.
Si PayMongo ne peut pas démarrer le paiement, le client reste à l'étape Confirm Order avec un bref message au-dessus du bouton, par exemple The payment could not be started. Please try again or choose another payment method. ou PayMongo could not be reached. Please try again in a moment. La raison technique est écrite dans le journal.
Le webhook fonctionne aussi lorsque la boutique est en mode maintenance, car OpenCart laisse passer les requêtes des extensions de paiement (sur OpenCart 4, l'extension ajoute pour cela sa propre action de démarrage, qui laisse aussi le client revenir depuis PayMongo).
L'extension accepte les paiements uniques sur la page PayMongo. Elle n'a ni champs de carte sur votre propre page de paiement, ni cartes enregistrées, ni abonnements ou paiements récurrents, ni paiements échelonnés, ni autorisation et capture séparées.
Commandes et remboursements
Statuts de commande
Aucun statut (commande manquante) : le client a été envoyé vers PayMongo et n'a pas payé, ou PayMongo n'a pas encore confirmé le paiement. Dans Sales > Orders, ces commandes ne s'affichent qu'avec le filtre Order Status réglé sur Missing Orders.
Statut de commande après paiement (par défaut En cours de traitement) : le paiement a été confirmé. Une note indique le paiement PayMongo, le montant, la méthode, le mode et la manière dont il a été confirmé (webhook, retour ou nouvelle tentative).
Paiement PayMongo en attente (par défaut En attente) : le client est revenu alors que PayMongo traitait encore le paiement. La commande passe au statut payé lorsque PayMongo confirme le paiement.
Paiement PayMongo mis en attente (par défaut En attente) : le montant ou la devise payés diffèrent du total de la commande ; ou un paiement a été effectué en mode test alors que la boutique est en mode production, de sorte qu'aucun argent n'a été reçu ; ou le paiement est arrivé après l'annulation de la commande. La note l'explique. Vérifiez la commande, traitez-la ou remboursez le paiement.
Statut d'échec (par défaut Échec) : un webhook payment.failed signé a signalé que la dernière tentative de paiement d'une commande en attente a échoué. La note affiche le code et le message d'erreur PayMongo. Si le même paiement réussit plus tard, la commande passe au statut payé.
Statut remboursé (par défaut Remboursée) : le paiement a été entièrement remboursé via l'extension.
Si un second paiement arrive pour une commande déjà payée, ou pour une autre commande d'un panier déjà payé, la commande payée n'est pas modifiée. Une note vous demande de rembourser le paiement en double dans le PayMongo Dashboard. Une commande payée puis annulée ou remboursée n'est jamais réouverte.
Les notes sont des entrées de l'History de la commande que le client ne voit pas.
Onglet VibeFox PayMongo Payment Gateway
Dans Sales > Orders, ouvrez une commande payée avec PayMongo. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox PayMongo Payment Gateway affiche le PayMongo payment, le PayMongo payment intent, le PayMongo checkout, le PayMongo mode avec une étiquette Test mode pour les paiements test, le Status, les montants Paid / refunded, le formulaire de remboursement, l'historique des remboursements et les Notes de la commande. L'onglet est affiché aux utilisateurs qui ont accès à l'extension.
Remboursements
Dans l'onglet VibeFox PayMongo Payment Gateway, saisissez le Amount (le montant non encore remboursé est prérempli), facultativement un Reason (optional), puis cliquez sur Refund via PayMongo. Confirmez la question Refund this amount through PayMongo? This cannot be undone. Les remboursements totaux et partiels sont pris en charge, avec deux décimales au maximum. Vous devez avoir le droit de modifier l'extension (défini dans System > Users > User Groups). Les remboursements sont limités au montant effectivement débité par PayMongo ; ainsi, après un écart de montant, vous ne pouvez rembourser que ce que le client a payé, et non le total de la commande. Le remboursement est envoyé avec la clé secrète du mode dans lequel le paiement a été effectué (test ou production), cette clé doit donc être renseignée. Si PayMongo n'accepte pas le remboursement, l'onglet affiche l'erreur et aucun remboursement n'est enregistré. Un remboursement réussi est ajouté à l'historique des remboursements et aux notes, avec l'identifiant et le statut du remboursement PayMongo. Un remboursement total place la commande au Refunded status sans notifier le client et sans remettre les produits en stock, comme pour un changement manuel de statut. Un remboursement partiel ne modifie pas le statut.
Les retours de produits dans Sales > Returns ne renvoient pas d'argent via PayMongo. Les remboursements effectués dans le PayMongo Dashboard ne sont pas remontés à OpenCart. Effectuez le remboursement depuis l'onglet de la commande, ou mettez la commande à jour manuellement.
Clé de licence
L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox PayMongo Payment Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox PayMongo Payment Gateway > Edit, au-dessus des paramètres. Saisissez la clé dans License key et cliquez sur Activate. Ensuite, le bloc affiche la clé masquée, le statut (par exemple la date jusqu'à laquelle la licence est active et votre domaine) et les boutons Check now pour vérifier à nouveau le statut, Change key pour saisir une autre clé et Remove key pour retirer la clé de cette boutique. En dessous figurent la ligne Product: opencart-payment-paymongo et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les utilisateurs administrateurs disposant du droit Modify sur l'extension peuvent modifier la clé. Les textes du bloc suivent la langue de l'administration (l'anglais et le russe sont inclus).
Si la clé n'est pas acceptée, le bloc indique la raison, par exemple Key not found, This key belongs to another product, Domain limit reached ou License expired on suivi d'une date. Après un changement d'adresse de la boutique, ou après la libération d'un emplacement de domaine dans votre compte, cliquez sur Check now. Si le serveur de licences est injoignable, l'extension continue de fonctionner avec le dernier statut connu.
Une clé fonctionne sur un seul domaine : l'adresse de la boutique de la configuration d'OpenCart. Retirer la clé de la boutique ne libère pas son emplacement de domaine. Libérez-le dans votre compte vibefox.net.
Sans clé active, PayMongo n'est pas affiché aux clients au moment du paiement. Si un paiement est tout de même lancé, le client voit This payment method is not available. Please choose another one. Un utilisateur administrateur connecté à l'administration dans le même navigateur voit toujours la méthode de paiement dans la boutique, marquée (unlicensed — visible to admins only), afin que vous puissiez configurer et tester l'extension avant d'acheter une clé. Sur OpenCart 4, cet aperçu n'est pas disponible : la boutique ne voit pas la connexion administrateur, donc sans clé active la méthode de paiement est masquée pour tout le monde. Après avoir ouvert une fois la page Edit, un rappel apparaît sur le Dashboard de l'administration. Fermez-le avec × pour le masquer pendant 7 jours. Les commandes existantes ne sont pas affectées : les paiements déjà lancés sont toujours confirmés, et les remboursements fonctionnent.
Lorsqu'une licence expire, l'extension continue de fonctionner, mais les mises à jour et le support nécessitent un renouvellement. Le statut est vérifié à nouveau automatiquement lorsque vous ouvrez le Dashboard de l'administration ou la page Edit : une fois par jour pendant les 14 premiers jours après la saisie de la clé, puis une fois par semaine. Aucune tâche cron n'est nécessaire. La désinstallation de l'extension supprime toujours la clé de licence et le statut de licence.
Dépannage
PayMongo n'apparaît pas au paiement : vérifiez que la licence est active, que Enable/Disable est activé, que le mode actuel dispose d'une clé secrète (Test secret key en mode test, Live secret key en mode production), que le client paie en PHP et que le total est d'au moins 100,00 ₱. Vérifiez aussi que l'adresse de paiement se trouve dans la Geo Zone sélectionnée et que la commande atteint le Total défini dans les paramètres.
Le paiement a été effectué, mais la commande reste sans statut : le webhook ne fonctionne pas et le client n'est pas revenu dans la boutique. Dans le PayMongo Dashboard, vérifiez qu'un webhook existe dans le mode utilisé, que son URL est exactement celle affichée dans Webhook URL et que les trois événements sont sélectionnés. Vérifiez que son secret de signature se trouve dans le champ correspondant (Test webhook secret ou Live webhook secret).
Le webhook répond Invalid signature : le secret de signature de ce mode est absent ou appartient à un autre webhook. Collez le secret de signature du webhook dans le champ de son mode.
Le webhook répond Mode mismatch : un événement de test a été signé comme un événement de production, ou l'inverse. Vérifiez que chaque webhook appartient au bon mode.
Le webhook répond Temporary error : le paiement n'a pas pu être vérifié via l'API PayMongo, par exemple parce que la clé secrète du mode du paiement est absente. PayMongo relance automatiquement le webhook.
Le webhook répond Busy, retry : la commande était en cours de confirmation par une autre requête au même moment, ou le statut de la commande n'a pas pu être défini. PayMongo relance automatiquement le webhook. La raison figure dans le Log.
Le webhook répond Ignored : l'événement concerne un paiement qui n'a pas été lancé dans cette boutique, ou un autre mode. Rien n'est modifié.
L'URL du webhook affiche Method not allowed dans le navigateur : c'est normal. L'URL n'accepte que les requêtes de PayMongo.
La valeur n'a pas été enregistrée : une clé a été collée dans le mauvais champ. Les clés secrètes commencent par sk_test_ ou sk_live_, les secrets de webhook par whsk_.
Le client voit une erreur après Confirm Order : consultez le champ Log de la page de l'extension. Une mauvaise clé secrète affiche le message indiquant que la méthode de paiement est temporairement indisponible. Une méthode de paiement non activée pour votre compte PayMongo fait refuser le paiement par PayMongo ; retirez-la de Payment methods. This payment method is not available. Please reload the checkout page. signifie que la session de paiement ne correspond plus à la commande, ou que la méthode de paiement a été désactivée entre-temps.
Paiements test sur une boutique en production : un paiement test reçu alors que la boutique est en mode production place la commande au statut de mise en attente, avec une note indiquant qu'aucun argent n'a été reçu. Les paiements réels sont toujours reconnus, même après un retour au mode test, et sont remboursés avec la clé de production.
La commande est au statut de mise en attente après le paiement : lisez les notes dans l'onglet VibeFox PayMongo Payment Gateway (voir Statuts de commande), puis traitez la commande ou remboursez le paiement.
Aucun formulaire de remboursement dans l'onglet : le paiement n'est pas encore confirmé, il est entièrement remboursé, ou votre groupe d'utilisateurs n'a pas le droit de modifier l'extension.
Le remboursement échoue avec un message sur le mode : le paiement a été effectué en mode test ou production, et la clé secrète de ce mode n'est pas renseignée. Saisissez-la et réessayez.
Pour les développeurs : avant la création de la session de paiement, l'extension déclenche l'événement OpenCart paymongo_p_checkout_session_data avec les données de session et la commande.
Désinstallation
Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox PayMongo Payment Gateway. La clé de licence et le statut de licence de cette extension sont toujours supprimés. OpenCart supprime toujours les paramètres propres de l'extension : Enable/Disable, Sort Order, Geo Zone, Total et les statuts de commande de la section Orders, qui reviennent à leurs valeurs par défaut lors d'une réinstallation. L'événement OpenCart de l'extension est également supprimé (sur OpenCart 4, ses événements et son action de démarrage, qui laissent passer le webhook et le retour du client en mode maintenance). Si Delete data on uninstall est activé, les autres paramètres de la passerelle (titre, description, méthodes de paiement, mode test, clés, secrets de webhook, journalisation) et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les identifiants PayMongo des commandes et des remboursements sont toujours conservés, de sorte que les commandes payées auparavant peuvent encore être remboursées après une réinstallation. Les commandes existantes conservent leurs notes de paiement.
Sur OpenCart 4, pour supprimer aussi les fichiers de l'extension, allez dans Extensions > Installer après la désinstallation et cliquez sur Uninstall (le bouton orange −) à côté de VibeFox PayMongo Payment Gateway dans la liste des extensions installées, puis sur Delete (le bouton rouge en forme de corbeille) pour supprimer le paquet téléchargé.
PayMongo est une marque déposée de son propriétaire. Cette extension n'est ni affiliée à PayMongo ni approuvée par PayMongo.
