Retour

VibeFox Worldline 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.

Compte Worldline : un compte marchand Worldline Direct (anciennement Ingenico Direct). Les comptes de test et réel sont séparés et ont des identifiants différents. Pour chaque compte, il vous faut le Merchant ID (votre PSPID), un API Key ID avec sa Secret API Key, et une clé de webhook avec son secret. Tous sont créés dans le Worldline Merchant Portal (voir Configuration).

Clé de licence VibeFox : achetée sur vibefox.net. Une clé fonctionne sur un seul domaine.

Installation

Le téléchargement est un fichier zip unique contenant les paquets pour les deux versions d'OpenCart. Décompressez-le sur votre ordinateur. Il contient README.txt, le paquet OpenCart 3 wcp_worldline_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_worldline_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_worldline_gateway-oc3-(version).ocmod.zip. L'extension ne comporte aucune modification OCMOD : Extensions > Modifications n'a donc 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 Worldline 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 crayon) pour ouvrir la page des réglages. Saisissez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page, et cliquez sur Activate (voir Clé de licence).

4. Saisissez les identifiants de test, cliquez sur Save, puis sur Test credentials.

5. Ajoutez l'URL du webhook dans le Merchant Portal du compte de test et saisissez la clé et le secret du webhook (voir Configuration).

6. Activez Enable/Disable, enregistrez et effectuez un paiement de test. Saisissez ensuite les identifiants réels, répétez la configuration du webhook dans votre compte réel, cliquez sur Live credentials et désactivez Test Mode.

OpenCart 4

1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_worldline_gateway.ocmod.zip. Ne renommez pas le fichier : OpenCart 4 prend le code de l'extension dans le 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 Worldline Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton crayon).

4. Saisissez la clé de licence, les identifiants 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 Webhooks).

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

Configuration

Tous les réglages se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox Worldline 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 identifiants du mode actuel (Merchant ID, API Key ID, Secret API Key) sont incomplets, car le moyen de paiement reste alors masqué au moment du paiement. Tant que le mode test est activé, elle affiche Test mode is on (pre-production environment): no real money is charged. Sans le droit de modifier l'extension, la page affiche les réglages mais ne peut pas les enregistrer.

À l'enregistrement, Title ne doit pas être vide (128 caractères au 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 doivent exister. Sinon, rien n'est enregistré et la page indique le champ concerné. Des identifiants incomplets n'empêchent pas l'enregistrement.

Worldline (Ingenico)

Enable/Disable : Enable Worldline Gateway active ou désactive le moyen de paiement. Par défaut : désactivé.

Title : le nom du moyen de paiement que voit le client au moment du paiement. C'est aussi le nom du moyen de paiement enregistré dans la commande. Par défaut : Worldline. Obligatoire, 128 caractères au maximum.

Description : le texte affiché au client à l'étape Confirm Order, au-dessus du bouton de confirmation. Par défaut : Pay securely via Worldline.

Sort Order : la position de Worldline parmi les moyens de paiement au moment du paiement. Laissez vide ou saisissez un nombre entier.

Geo Zone : proposer Worldline uniquement pour les adresses de paiement situées dans 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 doit atteindre une commande pour que Worldline soit proposé. Laissez vide pour proposer Worldline quel que soit le total.

API Worldline Direct

Récupérez les identifiants dans le Worldline Merchant Portal du compte de test et du compte réel. Votre PSPID correspond au Merchant ID. Developer > Payment API crée l'API Key ID et la Secret API Key ; Developer > Webhooks crée la clé et le secret du webhook. La section contient des liens vers les deux portails et vers la documentation Worldline.

Test Mode : bascule à la fois le point d'accès de l'API et les identifiants. Le mode test utilise l'environnement de préproduction et les identifiants de test, le mode réel l'environnement de production et les identifiants réels. Par défaut : activé. Désactivez-le pour encaisser de vrais paiements. Lorsque le mode test est activé, les clients voient Test mode — no real money is charged. à l'étape Confirm Order.

Compte de test (préproduction)

Test Merchant ID (PSPID) : le PSPID de votre compte de test.

Test API Key ID : l'API Key ID créée dans Developer > Payment API du compte de test.

Test Secret API Key : la Secret API Key qui appartient à cette API Key ID.

Test Webhook Key ID : facultatif. S'il est renseigné, seuls les webhooks envoyés avec cette clé sont acceptés.

Test Webhook Secret : le secret du webhook du compte de test. Il sert à vérifier la signature de chaque webhook.

Compte réel (production)

Live Merchant ID (PSPID) : le PSPID de votre compte réel.

Live API Key ID : l'API Key ID créée dans Developer > Payment API du compte réel.

Live Secret API Key : la Secret API Key qui appartient à cette API Key ID.

Live Webhook Key ID : facultatif. S'il est renseigné, seuls les webhooks envoyés avec cette clé sont acceptés.

Live Webhook Secret : le secret du webhook du compte réel.

Les clés secrètes et les secrets de webhook enregistrés ne sont plus jamais affichés. Le champ reste vide et affiche Saved — leave empty to keep it. Saisissez une nouvelle valeur uniquement pour la modifier. Pour supprimer une valeur enregistrée, cochez Clear the saved value sous le champ, puis cliquez sur Save.

Vérifier les identifiants : les boutons Test credentials et Live credentials vérifient les identifiants enregistrés de chaque compte par un appel de test à Worldline. Enregistrez d'abord vos modifications. La réponse s'affiche sous les boutons, par exemple Test credentials: connection successful., API credentials are not configured. ou l'erreur renvoyée par Worldline.

Webhooks

Le webhook informe votre boutique des paiements même lorsque le client ne revient pas dans la boutique, par exemple après avoir fermé son navigateur ou lorsqu'un paiement est confirmé plus tard. Dans le Merchant Portal, ouvrez Developer > Webhooks du compte de test et ajoutez l'URL affichée sous Endpoint URL dans cette section. Sur OpenCart 3, elle ressemble à https://your-store/index.php?route=extension/payment/wcp_worldline_gateway/webhook, et sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_worldline_gateway/payment/wcp_worldline_gateway.webhook. 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 réglages : elle doit répondre sans redirection et être accessible depuis Internet. Saisissez ensuite l'ID et le secret de la clé du webhook dans Test Webhook Key ID et Test Webhook Secret. Faites de même dans le compte réel avec les champs réels.

L'extension répond automatiquement à la requête de vérification du point d'accès de Worldline. Elle traite les événements de paiement (changements de statut des paiements) et les événements de remboursement (changements de statut des remboursements). Les autres événements sont acceptés et ignorés. Les webhooks sans signature valide sont rejetés. Un événement doit être signé avec le secret du compte dans lequel le paiement a été effectué ; ainsi, un webhook de test ne confirme jamais un paiement réel. Un webhook est également ignoré s'il provient d'un Merchant ID différent de celui du compte dont le secret l'a signé. Sans le webhook, une commande n'est confirmée que lorsque le client revient dans la boutique après avoir payé.

Page de paiement et commandes

Payment page template : nom facultatif d'un modèle de paiement hébergé (variante) importé dans le Merchant Portal, par exemple SimplifiedCustomPaymentPage. Laissez vide pour utiliser la page par défaut de Worldline.

Order Status After Payment : le statut attribué par un paiement capturé. Les paiements sont toujours demandés en vente directe (autorisation et capture).

Payment accepted (processing) : la commande reçoit Paid Order Status (par défaut).
Delivered (completed) : la commande reçoit Complete Order Status.

OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante). La commande ne reçoit un statut qu'une fois le paiement confirmé par Worldline. Chaque champ ci-dessous liste vos statuts de commande OpenCart.

Paid Order Status : le statut après un paiement capturé avec Payment accepted (processing). Par défaut : Processing.

Complete Order Status : le statut après un paiement capturé avec Delivered (completed). Par défaut : Complete.

Awaiting Capture Status : le paiement est autorisé ou la capture a été demandée ; le webhook de capture marque la commande comme payée. Par défaut : Pending.

On Hold (Review) Status : le montant ou la devise payés ne correspondent pas à la commande. Une note explique pourquoi. Par défaut : Pending, car OpenCart n'a pas de statut On hold. Vous pouvez créer vos propres statuts dans System > Localisation > Order Statuses et les sélectionner ici.

Payment Error Status : Worldline a refusé ou annulé le paiement d'une commande qui attendait la capture. Par défaut : Failed.

Refunded Status : le paiement a été entièrement remboursé depuis la page de commande. Par défaut : Refunded.

Avancé

Logging : écrit toutes les requêtes API et tous les webhooks dans wlg_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 wlg_debug.old.log.php. Les erreurs et avertissements sont toujours journalisés, même lorsque cette option est désactivée. Les clés, les données de carte et les données personnelles sont masqué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 : lorsqu'elle est activée, la désinstallation de l'extension supprime les réglages de la passerelle et le journal. Les transactions et remboursements Worldline sont toujours conservés, car les commandes existantes en ont besoin pour les remboursements. Par défaut : désactivé.

Import / Export

Export : Download JSON enregistre les réglages dans un fichier JSON. Les clés secrètes et les secrets de webhook ne sont pas exportés.

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

Paiement

À l'étape Payment Method, le client choisit le moyen de paiement (par défaut Worldline). À l'étape Confirm Order, le client voit votre description. OpenCart crée la commande à cette étape, toujours sans statut. Lorsque le client clique sur Confirm Order, l'extension crée une page de paiement hébergée Worldline pour le total de la commande dans la devise de la commande, et envoie le client vers la page de paiement de Worldline. Là, le client paie par carte, par portefeuille ou par un autre moyen de paiement activé dans votre compte Worldline. Le nom de facturation, l'adresse, l'e-mail et le téléphone sont transmis à Worldline, et la page de paiement s'ouvre dans la langue du client lorsque Worldline la prend en charge. Chaque tentative de paiement reçoit sa propre référence, composée du numéro de commande et d'une partie aléatoire. Sur OpenCart 4, le client choisit le moyen de paiement avec le bouton Choose du bloc des moyens de paiement, dans la fenêtre Payment method options, et clique sur Confirm Order au bas de la page de commande.

Après le paiement, le client revient dans votre boutique. L'extension vérifie le retour par rapport à la tentative enregistrée et lit le statut du paiement chez Worldline, côté serveur. La commande n'est marquée comme payée qu'après confirmation de Worldline, par cette vérification de statut ou par un webhook signé. La commande reçoit alors son statut de la façon 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 payment with Worldline has been received. Si le paiement est autorisé mais pas encore capturé, la page affiche Your payment is authorized. The order is confirmed as soon as Worldline confirms the capture. Si le paiement d'une telle commande échoue, la page affiche Your Worldline payment was not completed. Please contact us about this order.

Si le paiement n'a pas été effectué, la commande ne conserve aucun statut, le panier est conservé et le client revient au paiement avec un message :

Cancelled or left the payment page: The payment was not completed on the Worldline page. You can try again or choose another payment method.
Declined: Your payment was declined. Please try again or choose another payment method.

Si le statut n'a pas encore pu être vérifié, une page Payment confirmation affiche We could not confirm your payment yet. If you completed the payment, please do not pay again — you will receive a confirmation as soon as Worldline confirms it. avec les boutons Check again et Back to checkout. Le webhook définit le statut de la commande dès son arrivée.

Sur OpenCart 4, ces messages s'affichent 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 commande pour le paiement et la met à jour, si bien que le client paie la même commande sur une nouvelle page de paiement Worldline après une annulation ou un refus. Avant un nouveau paiement, l'extension vérifie le panier : si une autre commande de ce même panier est déjà payée, ou si la tentative précédente a été payée entre-temps, le client est directement dirigé vers la page de succès et n'est pas débité deux fois. Si la page de paiement précédente de la même commande est encore ouverte pour le même montant et le même mode, et qu'elle a été créée il y a moins de 30 minutes, le client y est renvoyé.

Sur OpenCart 4, si le paiement de la commande du paiement a été refusé ou annulé après l'autorisation, le Confirm Order suivant renvoie le client au paiement avec le message concernant le paiement refusé au lieu de la page de succès. Si la boutique a clôturé cette commande (par exemple annulée ou remboursée), le message est Your previous order was closed by the shop (cancelled / refunded). Please confirm the order again to pay with a new order. Dans les deux cas, le Confirm Order suivant paie une nouvelle commande. Si la commande du paiement est déjà payée mais que le panier a changé depuis, y compris une nouvelle quantité, le client est renvoyé au paiement et le nouveau panier est payé avec une nouvelle commande.

Si Worldline ne peut pas démarrer le paiement, le client reste à l'étape Confirm Order avec le message Payment error: Could not create checkout session. Please try again. au-dessus du bouton. La raison est écrite dans le journal. Si les identifiants du mode actuel sont manquants, le client voit This payment method is not available at the moment. Please choose another payment method.

Le webhook et le retour du client fonctionnent 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 pour elles.

L'extension accepte les paiements uniques en vente directe sur la page de Worldline. Elle ne gère ni cartes enregistrées ni tokenisation, ni abonnements, ni formulaire de carte intégré, ni mode autorisation seule avec capture ou annulation depuis OpenCart, ni surcharge, ni enregistrement automatique des webhooks.

Commandes et remboursements

Statuts de commande

Aucun statut (commande manquante) : le client a été envoyé vers Worldline et n'a pas payé, ou Worldline 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.

Paid Order Status ou Complete Order Status (par défaut Processing ou Complete) : le paiement a été capturé. Le statut suit Order Status After Payment. Une note indique le montant, l'identifiant du paiement Worldline et le mode de confirmation (webhook signé ou vérification de statut).

Awaiting Capture Status (par défaut Pending) : Worldline indique que le paiement est autorisé ou que la capture est demandée, mais pas encore capturée. La commande passe au statut payé lorsque le webhook confirme la capture. Si la note indique que le paiement n'est pas capturé, capturez-le dans le Worldline Merchant Portal.

On Hold (Review) Status (par défaut Pending) : le paiement ne correspond pas à la commande, par exemple parce que le montant ou la devise diffèrent, ou parce que le paiement appartient à une autre tentative. La note indique le montant payé, le total de la commande et la référence. Vérifiez la commande et traitez-la, ou remboursez le paiement.

Payment Error Status (par défaut Failed) : Worldline a refusé ou annulé le paiement d'une commande qui attendait la capture.

Refunded Status (par défaut Refunded) : le paiement a été entièrement remboursé par l'intermédiaire de l'extension.

Si un paiement arrive pour une commande annulée ou remboursée, la commande n'est pas rouverte. Une note vous demande d'annuler ou de rembourser le paiement dans le Worldline Merchant Portal, ou de rétablir la commande manuellement. Le client qui revient voit Your payment was received after this order had been cancelled. Please contact us — we will restore the order or refund the payment. 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 n'est pas modifiée. Une note sur la commande payée vous demande de rembourser le second paiement dans le Worldline Merchant Portal.

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

Onglet VibeFox Worldline Gateway

Dans Sales > Orders, ouvrez une commande payée avec Worldline. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox Worldline Gateway affiche le bloc Worldline payment : le Payment ID, la Merchant reference, le Hosted checkout, le Status de la tentative, le Amount charged / refunded, une étiquette Test environment pour les paiements de test, le formulaire de remboursement, l'historique des remboursements et les Payment notes de la commande. L'onglet est affiché aux utilisateurs qui ont accès à l'extension.

Remboursements

Dans l'onglet VibeFox Worldline Gateway, saisissez le montant (le montant non encore remboursé est prérempli), facultativement un Reason (optional), puis cliquez sur Refund via Worldline. Confirmez la question Refund this amount through Worldline? This cannot be undone. Les remboursements totaux et partiels sont pris en charge. Le paiement doit être capturé. Vous devez avoir le droit de modifier l'extension (réglé dans System > Users > User Groups). Les remboursements se font dans le montant et la devise débités par Worldline ; après un écart de montant ou de devise, vous pouvez donc rembourser jusqu'à ce que le client a réellement payé, et non le total de la commande. Le remboursement est toujours envoyé à l'environnement du paiement d'origine (test ou réel) avec les identifiants de ce compte, qui doivent donc être renseignés. Un remboursement relancé après un délai d'attente n'est pas exécuté deux fois, et un seul remboursement d'une commande s'exécute à la fois. Si Worldline refuse le remboursement, l'onglet affiche l'erreur et aucun remboursement n'est enregistré. Un remboursement accepté est ajouté à l'historique des remboursements et aux notes, avec l'identifiant et le statut du remboursement Worldline. Un remboursement total place la commande en Refunded Status sans notifier le client et sans remettre les produits en stock, comme un changement de statut manuel. Un remboursement partiel ne modifie pas le statut.

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

Les changements de statut des remboursements arrivent de Worldline par webhook, mettent à jour l'historique des remboursements et sont ajoutés aux notes. Les remboursements effectués dans le Merchant Portal ne modifient pas le statut de la commande ; 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 Worldline Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox Worldline Gateway > Edit, au-dessus des réglages. 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-worldline et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les utilisateurs administrateurs disposant du droit Modify pour 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 avoir libéré 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 l'emplacement dans votre compte vibefox.net.

Sans clé active, Worldline 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 encore le moyen 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 administrateur, donc sans clé active le moyen de paiement est masqué 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à commencé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

Worldline 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 d'un Merchant ID, d'une API Key ID et d'une Secret API Key : les champs de test en mode test, les champs réels en mode réel. La page des réglages affiche un avertissement lorsqu'ils manquent. 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.

Le paiement a abouti, mais la commande reste sans statut : le webhook ne fonctionne pas. Dans le Merchant Portal du compte que vous utilisez (test ou réel), vérifiez que le point d'accès existe et que son URL est exactement celle affichée sous Endpoint URL, sans redirection. Vérifiez que le secret du webhook de ce compte se trouve dans le champ correspondant (Test Webhook Secret ou Live Webhook Secret) et que le champ de l'ID de la clé du webhook est vide ou correspond à la clé. La commande reçoit aussi son statut lorsque le client revient dans la boutique après avoir payé.

Webhook answers Webhook secret not configured : aucun des deux secrets de webhook n'est renseigné. Saisissez le secret du webhook dans les réglages. Worldline relance le webhook.

Webhook answers Invalid signature : le secret du webhook appartient à un autre compte ou à une autre clé, ou l'ID de la clé du webhook ne correspond pas à la clé qui a envoyé le webhook. Vérifiez que les secrets de test et réel ne sont pas inversés.

Webhook answers Missing signature, Empty body or Invalid JSON : la requête ne provenait pas de Worldline sous la forme attendue, ou un proxy ou une redirection l'a modifiée. Vérifiez que l'URL répond sans redirection.

Webhook answers Ignored : le webhook provient d'un autre Merchant ID que celui des réglages de ce mode. Vérifiez Test Merchant ID (PSPID) ou Live Merchant ID (PSPID).

Webhook answers Retry later : 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. Worldline relance le webhook. Consultez le champ Log pour en connaître la raison.

L'URL du webhook affiche Method not allowed dans le navigateur : c'est normal. L'URL n'accepte que les requêtes provenant de Worldline.

Test credentials ou Live credentials affiche une erreur : enregistrez d'abord les réglages, puis vérifiez que le Merchant ID, l'API Key ID et la Secret API Key proviennent du même compte, et que les valeurs de test sont dans les champs de test et les valeurs réelles dans les champs réels.

Le client voit une erreur après Confirm Order : consultez le champ Log sur la page de l'extension. Les erreurs sont journalisées même lorsque Logging est désactivé. Pour les détails complets des requêtes, activez Logging et réessayez.

Les paiements de test ne confirment pas un paiement réel : les tests et le réel sont séparés. Basculez Test Mode sur le mode souhaité et utilisez les identifiants et le webhook de ce compte.

La commande est en statut de vérification ou en attente de capture après le paiement : lisez les notes de l'onglet VibeFox Worldline Gateway (voir Statuts de commande). Soit Worldline n'a pas encore confirmé la capture (le webhook finalise la commande), soit le montant ou la devise payés différaient de la commande.

Aucun formulaire de remboursement dans l'onglet : l'onglet indique la raison : aucun paiement Worldline capturé, paiement entièrement remboursé, votre groupe d'utilisateurs n'a pas le droit de modifier l'extension, ou les identifiants de l'environnement du paiement ne sont pas renseignés.

Le remboursement échoue avec un message concernant l'environnement : le paiement a été effectué dans l'environnement de test ou réel, et les identifiants de cet environnement ne sont pas renseignés. Saisissez-les et réessayez.

Pour les développeurs : avant la création de la page de paiement hébergée, l'extension déclenche l'événement OpenCart wlg_hosted_checkout_data avec les données de la requête et la commande, par exemple pour limiter les moyens de paiement affichés.

Désinstallation

Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox Worldline 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 Payment page and 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 est activé, les autres réglages de la passerelle (titre, description, mode test, identifiants, secrets de webhook, modèle de page, journalisation) et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une future réinstallation. Les transactions et remboursements Worldline 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 Worldline Gateway dans la liste des extensions installées, puis sur Delete (le bouton rouge corbeille) pour supprimer le paquet téléversé.

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