Retour

VibeFox OpenPay for OpenCart — Aide

Prérequis

OpenCart: 3.0.x (testé sur 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.

HTTPS: votre boutique doit utiliser HTTPS, car le formulaire de carte se trouve sur votre page de paiement.

OpenPay account: un compte OpenPay du Mexique, de Colombie ou du Pérou. Vous avez besoin de son Merchant ID, de sa clé privée (sk_...) et de sa clé publique (pk_...). Les tableaux de bord sandbox et production ont des Merchant ID et des clés différents, et l'extension les tient séparés.

Currency: le client doit payer dans une devise acceptée par le pays de votre compte : Mexique — MXN ou USD, Colombie — COP ou USD, Pérou — PEN ou USD. Pour les autres devises, le mode de paiement n'est pas proposé au moment du paiement.

VibeFox license key: achetée sur vibefox.net. Une clé fonctionne pour un seul domaine.

La carte est saisie sur votre page de paiement, mais elle est lue et tokenisée dans le navigateur par openpay.js. Les champs de carte n'ont pas de nom et ne sont jamais envoyés à votre serveur. Comme le formulaire de carte se trouve sur votre page, votre périmètre PCI DSS est SAQ A-EP ; renseignez-vous auprès de votre acquéreur.

Installation

Le téléchargement est un fichier zip unique contenant les paquets des deux versions d'OpenCart. Décompressez-le sur votre ordinateur. Il contient README.txt, le paquet OpenCart 3 wcp_openpay_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_openpay_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_openpay_gateway-oc3-(version).ocmod.zip. L'extension n'a aucune modification OCMOD, la liste Extensions > Modifications n'a donc pas besoin d'être actualisée. Au lieu de l'installateur, vous pouvez également 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 OpenPay Gateway et cliquez sur Install (le bouton vert +). Votre utilisateur administrateur doit avoir le droit de modifier la liste des extensions de paiement.

3. Cliquez sur Edit (le bouton en forme de crayon) pour ouvrir la page des réglages. Collez 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. Choisissez le Account country et saisissez les clés sandbox et production (voir Configuration).

5. Recommandé : ajoutez l'URL du webhook dans le tableau de bord OpenPay (voir Configuration).

6. Activez Enable / Disable et cliquez sur Save. Testez un paiement avec les cartes de test du sandbox OpenPay, puis désactivez Sandbox mode pour accepter de vrais paiements. Conservez les clés sandbox tant que vous pouvez encore rembourser des commandes sandbox.

OpenCart 4

1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_openpay_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é de celui-ci.

3. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox OpenPay 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 OpenPay et le webhook comme aux étapes 3 à 6 pour OpenCart 3. La page des réglages et ses champs sont les mêmes dans les deux versions. Seule l'URL du webhook diffère (voir Webhook).

Une nouvelle installation démarre avec le mode de paiement désactivé et le mode sandbox activé.

Configuration

Tous les réglages se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox OpenPay Gateway > Edit. Les sections sont listées à gauche ; le bouton Save situé sous la liste enregistre la page entière. Au-dessus des réglages, la page vous avertit lorsque les clés du mode actuel sont incomplètes (le mode de paiement est alors masqué au moment du paiement) et lorsque la devise par défaut de votre boutique n'est pas acceptée par le pays de compte sélectionné, et affiche Sandbox mode is enabled — no real charges are made. tant que le mode sandbox est activé. Sans le droit de modifier l'extension, la page affiche les réglages mais ne peut pas les enregistrer.

Lors de l'enregistrement, les clés sont vérifiées. Un Merchant ID ne peut contenir que des lettres et des chiffres, une clé privée doit commencer par sk_ et une clé publique par pk_. Une valeur invalide n'est pas enregistrée : la valeur précédente est conservée et une erreur s'affiche, par exemple Sandbox: The private key must start with sk_. Il en va de même pour un Sort Order qui n'est pas un nombre entier (Sort Order must be a whole number — the previous value was kept.) et pour un Total qui n'est pas un nombre égal ou supérieur à 0. Les autres champs sont enregistrés. Si le mode de paiement est activé mais que les clés du mode actuel sont incomplètes, un message indique également que la passerelle reste masquée au moment du paiement. Un Title vide ou de plus de 128 caractères est refusé avec Enter a title for the payment method (1 to 128 characters)., et rien n'est alors enregistré.

OpenPay

Enable / Disable: Enable OpenPay card payments active ou désactive le mode de paiement. Par défaut : désactivé.

Title: le nom du mode de paiement que les clients voient au moment du paiement. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : Credit or debit card (OpenPay). Obligatoire, jusqu'à 128 caractères.

Description: le texte affiché au-dessus du formulaire de carte à l'étape Confirm Order. Par défaut : Pay securely with your credit or debit card. Votre banque peut vous demander de confirmer le paiement (3D Secure).

Sort Order: la position d'OpenPay parmi les modes de paiement au moment du paiement. Laissez ce champ vide ou saisissez un nombre entier (les nombres négatifs sont acceptés).

Geo Zone: proposer OpenPay 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. Sur OpenCart 4, lorsque la boutique ne demande aucune adresse de paiement, l'adresse de livraison est utilisée.

Total: le total du panier, dans la devise par défaut de la boutique, qu'une commande doit atteindre pour que OpenPay soit proposé. Laissez ce champ vide pour proposer OpenPay quel que soit le total.

Compte OpenPay

Le Merchant ID, la clé privée (sk_) et la clé publique (pk_) se trouvent dans votre tableau de bord OpenPay, sous Settings (Configuración). La section contient des liens vers les tableaux de bord sandbox et production du Mexique, de la Colombie et du Pérou.

Account country: le pays de votre compte OpenPay. Il détermine l'API OpenPay, la bibliothèque openpay.js de ce pays et les devises acceptées. Par défaut : Mexico.

Mexico: MXN and USD.
Colombia: COP and USD.
Peru: PEN and USD.

Sandbox mode: utilise le sandbox OpenPay (clés de test, aucun prélèvement réel) et bascule à la fois les clés et l'API sur le sandbox. Un badge SANDBOX MODE s'affiche au moment du paiement tant que ce mode est activé. Par défaut : activé. Désactivez-le pour accepter de vrais paiements.

Sandbox Merchant ID: le Merchant ID du tableau de bord sandbox, Settings (Configuración), clés API.

Sandbox Private Key: la clé privée sandbox. Elle commence par sk_. Elle n'est utilisée que sur le serveur ; ne la partagez jamais.

Sandbox Public Key: la clé publique sandbox. Elle commence par pk_. openpay.js l'utilise dans le navigateur pour tokeniser la carte.

Live Merchant ID: le Merchant ID du tableau de bord de production, Settings (Configuración), clés API.

Live Private Key: la clé privée de production (sk_...).

Live Public Key: la clé publique de production (pk_...).

Les clés privées enregistrées ne sont jamais réaffichées. Le champ reste vide et affiche Saved — leave empty to keep it. Saisissez une nouvelle valeur uniquement si vous voulez la modifier. Pour supprimer une clé privée enregistrée, cochez Clear the saved key on save sous le champ, puis cliquez sur Save.

Webhook

Le webhook n'est pas obligatoire, mais il est recommandé. Il confirme les paiements lorsque le client ne revient pas de la page 3D Secure, par exemple après avoir fermé le navigateur. Dans le tableau de bord OpenPay, allez dans Settings > Webhooks et ajoutez l'URL affichée sous Webhook URL dans cette section. Sur OpenCart 3, elle ressemble à https://your-store/index.php?route=extension/payment/wcp_openpay_gateway/webhook et sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_openpay_gateway/payment/wcp_openpay_gateway.webhook. Elle est construite à partir de l'adresse de la vitrine de votre installation OpenCart. Copiez-la exactement telle que les réglages l'affichent. Ajoutez le webhook dans le tableau de bord de chaque mode que vous utilisez (sandbox et production).

Lorsque vous ajoutez le webhook, OpenPay envoie un code de vérification à cette URL. Le code apparaît dans cette section avec la date de réception, afin que vous puissiez confirmer le webhook dans le tableau de bord OpenPay. Jusque-là, la section affiche No verification code received yet.

L'extension gère ces événements :

charge.succeeded: le paiement par carte a été effectué.
charge.failed: le paiement a échoué.
charge.cancelled: le paiement a été annulé.
charge.refunded: le paiement a été remboursé, par exemple depuis le tableau de bord OpenPay.
transaction.expired: le client n'a pas terminé le paiement à temps.
chargeback.created, chargeback.accepted, chargeback.rejected: un litige a été ouvert ou tranché.

OpenPay ne signe pas les webhooks, c'est pourquoi l'extension ne fait jamais confiance à la notification elle-même. Elle s'en sert uniquement pour retrouver le prélèvement, puis lit le prélèvement dans l'API OpenPay avec la clé privée du mode et du pays de compte dans lesquels le paiement a été effectué. Une notification concernant un prélèvement que cette boutique n'a pas créé est ignorée. Le webhook fonctionne aussi lorsque la boutique est en mode maintenance : OpenCart 3 laisse passer les requêtes des extensions de paiement, et sur OpenCart 4 l'extension ajoute une action de démarrage qui laisse passer le webhook et le retour du client depuis 3D Secure.

Commandes

OpenCart crée la commande à l'étape Confirm Order sans statut (commande incomplète). La commande ne reçoit un statut qu'après que OpenPay a confirmé le prélèvement. Une carte refusée ou une vérification 3D Secure échouée laisse la commande sans statut, une note en explique la raison, et le client peut payer à nouveau. Chacun des champs ci-dessous présente vos statuts de commande OpenCart ; vous pouvez créer vos propres statuts dans System > Localisation > Order Statuses.

Order Status After Payment: OpenPay a confirmé le prélèvement et son montant et sa devise correspondent à la commande. Par défaut : Processing.

Awaiting OpenPay Payment: le prélèvement est en cours (pas encore capturé) ; le webhook le termine ou l'échoue plus tard. Par défaut : Pending.

OpenPay Payment On Hold: OpenPay a prélevé un montant ou une devise différents de la commande, ou un prélèvement a été finalisé après l'annulation de la commande. Par défaut : Pending.

Payment Error Status: le prélèvement d'une commande en attente d'OpenPay ou mise en attente a échoué, a été annulé ou a expiré. Par défaut : Failed.

Refunded Status: le prélèvement est entièrement remboursé depuis la page de la commande. Les remboursements partiels ajoutent seulement une note. Par défaut : Refunded.

Avancé

Debug log: enregistre les étapes du paiement dans wc_opy_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs). Le fichier ne peut pas être ouvert depuis le web, et à 5 Mo il est déplacé vers wc_opy_debug.old.log.php. Les erreurs et les avertissements sont enregistrés même lorsque l'option est désactivée. Les clés, les données de carte et les données des clients ne sont jamais enregistrées. Par défaut : désactivé.

Log: affiche la taille du journal et ses dernières entrées. Cliquez sur Clear log pour le vider.

Delete data on uninstall: lorsque cette option est activée, la désinstallation de l'extension supprime les réglages de la passerelle, le code de vérification du webhook enregistré et le journal. Les enregistrements des prélèvements OpenPay des commandes font partie de l'historique des paiements et sont toujours conservés, afin que les commandes puissent encore être remboursées après une réinstallation. Par défaut : désactivé.

Import / Export

Export: Download JSON enregistre les réglages dans un fichier JSON. Les clés privées ne sont pas exportées.

Import: collez un JSON exporté précédemment et cliquez sur Import pour restaurer les réglages. Les clés privées enregistrées sont conservées.

Paiement

À l'étape Payment Method, le client choisit le mode de paiement (par défaut Credit or debit card (OpenPay)). À l'étape Confirm Order, le client voit votre description et le formulaire de carte : Cardholder name, Card number, Expiry (MM/YY) et Card code (CVV). En mode sandbox, le formulaire affiche SANDBOX MODE — Test environment. No real charges will be made. OpenCart crée la commande à cette étape, toujours sans statut. Sur OpenCart 4, le client choisit le mode de paiement avec le bouton Choose du bloc des modes de paiement, dans la fenêtre Payment method options ; le formulaire de carte se trouve dans la section de confirmation en bas de la page de paiement, au-dessus de Confirm Order. Lorsque le client clique sur Confirm Order, openpay.js transforme la carte en jeton à usage unique dans le navigateur, et la bibliothèque antifraude ajoute un identifiant de session d'appareil. Seules ces deux valeurs sont envoyées à votre boutique. Un formulaire incomplet affiche Please fill in all card fields. sous le formulaire.

L'extension crée ensuite le prélèvement avec 3D Secure pour le total de la commande dans la devise de la commande, et envoie le client sur la page 3D Secure de sa banque, servie par OpenPay. Chaque tentative reçoit sa propre référence de commande OpenPay. La description du prélèvement est Order #, le numéro de commande et le nom de votre boutique. Le nom, l'adresse e-mail et le téléphone du client issus de l'adresse de paiement sont transmis à OpenPay ; aucun compte client OpenPay n'est créé.

Lorsque le client revient, l'extension lit le prélèvement dans l'API OpenPay. La commande n'est marquée comme payée qu'après confirmation d'OpenPay : le prélèvement doit appartenir à cette commande, être finalisé et correspondre exactement au total et à la devise de la commande. La commande reçoit alors son statut de la manière standard d'OpenCart, avec les e-mails habituels de commande et la mise à jour du stock, et le client voit la page de succès de commande d'OpenCart avec Your card payment has been received. Si OpenPay indique que le prélèvement est en cours, la commande reçoit le statut Awaiting OpenPay Payment et la page affiche We are confirming your card payment with OpenPay. The order will be updated automatically — please do not pay again. Si le résultat n'est pas encore connu, une page Payment confirmation affiche le même texte avec un bouton Check again et un bouton Back to checkout ; le webhook définit le statut de la commande dès son arrivée. Si un prélèvement en cours échoue plus tard, la page de succès affiche Your OpenPay card payment was not completed. Please contact us about this order.

Si la carte est refusée ou si 3D Secure échoue, la commande reste sans statut, une note est ajoutée et le client revient au paiement avec le message The card payment was not completed (declined or 3-D Secure failed). Please try again or use another card. Le panier est conservé. Sur OpenCart 4, ce message s'affiche au-dessus de la page de paiement. OpenCart 3 crée une nouvelle commande chaque fois que l'étape Confirm Order est affichée ; OpenCart 4 garde une seule commande pour le paiement et la met à jour, de sorte que le client paie la même commande à nouveau avec une nouvelle tentative. Avant une nouvelle tentative, l'extension vérifie le prélèvement précédent du panier : s'il a bien été payé, cette commande reçoit son statut sans second prélèvement ; s'il est encore en cours, le client voit A previous payment for this order is still being processed. Please do not pay again — the order will be updated automatically. ; si son état ne peut pas être vérifié, aucun nouveau prélèvement n'est effectué et le client voit We could not confirm the status of your previous payment attempt. Please try again in a few minutes. Un panier déjà payé n'est jamais débité à nouveau.

Sur OpenCart 4, la commande reste sur la page de paiement jusqu'à l'affichage de la page de succès. Si cette commande a été fermée entre-temps (par exemple parce que son prélèvement a échoué après être passée en attente de paiement, ou parce que vous l'avez annulée ou remboursée), le client est renvoyé au paiement avec le message This order can no longer be paid. Please reload the checkout page and confirm the order again., et le prochain Confirm Order règle une nouvelle commande. Si cette commande a déjà un statut et que le panier contient désormais d'autres produits ou quantités, le client est lui aussi renvoyé au paiement, et le nouveau panier reçoit une nouvelle commande.

Les cartes refusées reçoivent un message clair, par exemple The card has insufficient funds. Please use another card., The card has expired. Please use another card. ou The security code (CVV) is not valid. Please check it and try again. Les erreurs techniques d'OpenPay ne sont jamais affichées aux clients ; elles sont envoyées dans le journal et dans les notes de commande.

Le mode de paiement est masqué au moment du paiement lorsqu'il est désactivé, lorsque les clés du mode actuel sont incomplètes, ou lorsque le client paie dans une devise que le pays du compte n'accepte pas.

L'extension n'accepte que les paiements par carte, prélevés immédiatement. Elle ne gère ni les cartes enregistrées, ni les abonnements, ni les mois sans intérêts (MSI) ou les paiements échelonnés, ni le paiement avec des points de carte, ni les paiements en espèces, SPEI, PSE ou CoDi, et ne propose pas d'autorisation et de capture séparées.

Commandes et remboursements

Statuts des commandes

No status (missing order): le client est sur la page 3D Secure, n'a pas terminé le paiement, ou la carte a été refusée. Dans Sales > Orders, ces commandes ne s'affichent qu'avec le filtre Order Status réglé sur Missing Orders.

Sur OpenCart 4, une commande non payée du paiement peut recevoir le statut Voided, que OpenCart 4 attribue lorsque le client revient à l'étape Confirm Order. L'extension traite une telle commande comme une commande sans statut, et un paiement ultérieur la confirme toujours.

Order Status After Payment (default Processing): le paiement a été confirmé. Une note affiche l'identifiant du prélèvement OpenPay et le mode (production ou sandbox).

Awaiting OpenPay Payment (default Pending): OpenPay signale que le prélèvement est en cours (pas encore capturé). La commande passe à Order Status After Payment lorsque le prélèvement est finalisé, ou à Payment Error Status s'il échoue.

OpenPay Payment On Hold (default Pending): OpenPay signale un prélèvement finalisé avec un montant ou une devise différents de ceux de la commande (la commande n'est pas marquée comme payée, la note affiche l'écart), ou un paiement est arrivé pour une commande déjà annulée ou remboursée. Vérifiez la commande et traitez-la, ou remboursez le paiement.

Payment Error Status (default Failed): un prélèvement en cours a échoué, a été annulé ou a expiré.

Refunded Status (default Refunded): le prélèvement a été entièrement remboursé via l'extension.

Si un second prélèvement finalisé arrive pour une commande ou un panier déjà payé, la commande n'est pas modifiée. Une note commençant par OpenPay WARNING sur la commande payée vous invite à rembourser le doublon dans le tableau de bord OpenPay.

Les notes sont des entrées de l'History de la commande que le client ne voit pas.

Onglet VibeFox OpenPay Gateway

Dans Sales > Orders, ouvrez une commande payée avec OpenPay. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox OpenPay Gateway affiche l'identifiant du prélèvement, son statut, l'environnement et le pays du compte, avec une étiquette Sandbox pour les paiements sandbox, les montants Charged / order, le montant remboursé, le formulaire de remboursement, l'historique des remboursements et les OpenPay notes de la commande. L'onglet est affiché aux utilisateurs ayant accès à l'extension.

Remboursements

Pour les comptes du Mexique et du Pérou : dans l'onglet, saisissez le Amount (le montant non encore remboursé est prérempli), facultativement un Reason (optional), puis cliquez sur Refund via OpenPay. Confirmez la question Refund this amount through OpenPay? This cannot be undone. Les remboursements totaux et partiels sont pris en charge, dans la limite du montant prélevé par OpenPay. Vous avez besoin du droit de modifier l'extension (réglé dans System > Users > User Groups). Le remboursement est envoyé avec les clés du mode et du pays de compte dans lesquels le prélèvement a été effectué, les clés de ce mode doivent donc être renseignées. Si OpenPay refuse le remboursement, l'onglet affiche l'erreur, par exemple OpenPay refund failed: ..., et aucun remboursement n'est enregistré. Un remboursement réussi est ajouté à l'historique des remboursements et aux notes, avec l'identifiant de remboursement OpenPay. Un remboursement total place la commande au statut Refunded Status sans notifier le client et sans remettre les produits en stock, comme pour un changement de statut manuel. Un remboursement partiel ne modifie pas le statut. Les remboursements sont disponibles une fois que OpenPay a confirmé le paiement ; une commande mise en attente après un écart de montant n'est pas remboursée via l'extension.

OpenPay Colombie ne prend pas en charge le remboursement des cartes via l'API, comme dans les intégrations officielles d'OpenPay. Pour les prélèvements colombiens, l'onglet n'affiche aucun formulaire de remboursement et explique pourquoi ; remboursez le prélèvement dans le tableau de bord OpenPay.

Les retours de produits dans Sales > Returns ne renvoient pas d'argent via OpenPay.

Les remboursements et litiges effectués dans le tableau de bord OpenPay arrivent par webhook et sont ajoutés une seule fois aux notes. Le statut de la commande n'est pas modifié automatiquement. Mettez-le à jour manuellement si nécessaire.

Clé de licence

L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox OpenPay Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox OpenPay Gateway > Edit, au-dessus des réglages. Collez 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), ainsi que 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-openpay 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 changer 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'une place 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 pour un seul domaine : l'adresse de la boutique issue de la configuration d'OpenCart. Retirer la clé de la boutique ne libère pas sa place de domaine. Libérez la place dans votre compte vibefox.net.

Sans clé active, OpenPay n'est pas proposé 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 le mode de paiement dans la boutique, marqué (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 à l'administration, de sorte que, sans clé active, le mode de paiement est masqué pour tout le monde. Une fois que vous avez ouvert la page Edit une fois, 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 ou la page Edit de l'administration : une fois par jour pendant les 14 premiers jours suivant 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 la licence.

Dépannage

OpenPay n'apparaît pas au moment du paiement : vérifiez que la licence est active, que Enable / Disable est activé et que le mode actuel dispose des trois clés : les clés sandbox en mode sandbox, les clés de production en mode production. Vérifiez que le client paie dans une devise acceptée par le Account country (Mexique : MXN, USD ; Colombie : COP, USD ; Pérou : PEN, USD). La page des réglages affiche un avertissement dans chacun de ces cas. Vérifiez également 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 réglages.

Le paiement a abouti, mais la commande reste sans statut : le client n'est pas revenu de la page 3D Secure et le webhook ne fonctionne pas. Vérifiez que l'URL du webhook est ajoutée dans le tableau de bord OpenPay du mode que vous utilisez, exactement telle que les réglages l'affichent, avec les événements listés ci-dessus. Vérifiez que les clés du mode dans lequel le paiement a été effectué sont renseignées : sans elles, le webhook répond not configured et OpenPay réessaie plus tard. La commande reçoit également son statut lorsque le client revient dans la boutique, ou lorsqu'il tente de payer à nouveau le même panier.

Le webhook répond ignored (unknown order) : le prélèvement n'a pas été créé par cette boutique, par exemple un prélèvement d'une autre boutique sur le même compte OpenPay. Rien n'est modifié.

Le webhook répond verification failed : l'API OpenPay n'a pas pu être jointe pour lire le prélèvement. OpenPay réessaie le webhook.

Le webhook répond busy : le panier était en cours de mise à jour par une autre requête au même moment, ou le statut de la commande n'a pas pu être défini. OpenPay réessaie le webhook. Activez Debug log pour voir la raison.

L'URL du webhook affiche invalid body dans le navigateur : c'est normal. L'URL n'accepte que les notifications provenant d'OpenPay.

Le client voit The secure card form could not be loaded : openpay.js ou la bibliothèque antifraude d'OpenPay ne s'est pas chargé dans le navigateur, ou l'identifiant de session d'appareil n'a pas pu être créé. Demandez au client de recharger la page et de réessayer.

Le client voit The payment could not be processed right now : OpenPay a refusé la requête ou n'a pas répondu. La raison figure dans le journal et les notes de la commande. Un Merchant ID ou une clé privée erronés est une cause fréquente. Si OpenPay n'a pas répondu, vérifiez le prélèvement dans le tableau de bord OpenPay avant que le client ne paie à nouveau.

Le client voit This test card cannot be used for real payments : une carte de test sandbox a été utilisée alors que le mode sandbox est désactivé.

Le client voit Billing email is required for OpenPay : la commande n'a pas d'adresse e-mail valide.

La commande est au statut OpenPay Payment On Hold après le paiement : lisez les OpenPay notes dans l'onglet (voir Statuts des commandes), puis traitez la commande ou remboursez le paiement.

Le remboursement échoue avec un message concernant le mode : la commande a été payée en mode sandbox ou en mode production, et les clés de ce mode ne sont pas renseignées. Saisissez-les et réessayez.

Le remboursement échoue avec The order is being updated right now : un webhook ou une autre requête mettait à jour la commande au même moment. Réessayez dans un instant.

Désinstallation

Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox OpenPay Gateway. La clé de licence et le statut de licence de cette extension sont toujours supprimés. OpenCart supprime toujours ses propres réglages 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 laisse passer le webhook et le retour de 3D Secure en mode maintenance). Si Delete data on uninstall est activé, les autres réglages de la passerelle (titre, description, pays du compte, mode sandbox, clés, journalisation), le code de vérification du webhook enregistré et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les enregistrements des prélèvements et des remboursements OpenPay sont toujours conservés, afin que les commandes payées précédemment puissent 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 OpenPay Gateway dans la liste des extensions installées, puis sur Delete (le bouton rouge en forme de corbeille) pour supprimer le paquet envoyé.

OpenPay est une marque déposée de son titulaire respectif. Cette extension n'est ni affiliée à OpenPay ni approuvée par OpenPay.