VibeFox HyperPay 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 avec l'extension OpenSSL (elle déchiffre les webhooks).
Compte HyperPay : HyperPay fournit l'Access Token et l'Entity ID lors de la configuration de votre compte marchand. Les identifiants de test et de production sont différents. Vous avez aussi besoin d'un webhook de paiement dans le tableau de bord HyperPay ainsi que de sa clé de déchiffrement (webhook key), affichée sous Administration > Webhooks (voir Configuration).
Données de carte : la carte n'est saisie que dans le widget HyperPay ; les données de carte ne transitent donc jamais par votre serveur (PCI DSS SAQ A).
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_hyperpay_payment_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_hyperpay_payment_gateway.ocmod.zip. N'installez que 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_hyperpay_payment_gateway-oc3-(version).ocmod.zip. L'extension ne comporte aucune modification OCMOD, la mise à jour de Extensions > Modifications n'est donc pas nécessaire. Au lieu de l'installateur, vous pouvez aussi 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 HyperPay Payment 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. Saisissez le Access Token de test, l'Entity ID et la clé de webhook de test fournis par HyperPay, et laissez Test Mode activé.
5. Dans le tableau de bord HyperPay (Administration > Webhooks), ajoutez un webhook de paiement avec l'URL affichée dans la section Webhook, puis copiez sa clé de déchiffrement dans le champ de clé de webhook du même mode.
6. Activez Enable/Disable, cliquez sur Save et effectuez un paiement test avec une carte de test HyperPay. Saisissez ensuite les identifiants de production et désactivez Test Mode.
OpenCart 4
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_hyperpay_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 HyperPay Payment Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton en forme de crayon).
4. Saisissez la clé de licence, les identifiants HyperPay et le webhook comme aux étapes 3 à 6 pour OpenCart 3. La page des réglages et ses champs sont identiques 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 test activé.
Configuration
Tous les réglages se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox HyperPay Payment 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 affiche Test mode is on: payments go to the HyperPay test system and no real money is charged. tant que le mode test est activé. Elle vous avertit lorsque l'Access Token ou l'Entity ID du mode actuel est manquant (le mode de paiement n'est alors pas affiché à la caisse), et lorsque le mode actuel n'a pas de clé de webhook valide (les paiements ne sont alors confirmés que lorsque le client revient dans la boutique). 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 et comporter au plus 128 caractères, Transaction Type doit être valide, Sort Order doit être un nombre entier, 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é. Les espaces sont supprimés des identifiants. Les réglages sont enregistrés avec un avertissement si une clé de webhook n'est pas une clé hexadécimale de 64 caractères ou si aucune marque de paiement n'est cochée.
HyperPay
Enable/Disable : Enable HyperPay Payment active ou désactive le mode de paiement. Par défaut : désactivé.
Title : le titre que le client voit lors du paiement. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : Credit/Debit Card (HyperPay). Obligatoire.
Description : le texte affiché au client à l'étape Confirm Order, au-dessus du bouton de confirmation, sous une icône de carte. Par défaut : Pay securely using your credit or debit card.
Sort Order : la position de HyperPay parmi les modes de paiement de la caisse. Laissez le champ vide ou saisissez un nombre entier.
Geo Zone : proposer HyperPay uniquement pour les adresses de facturation de la zone géographique choisie. 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, qu'une commande doit atteindre pour que HyperPay soit proposé. Laissez le champ vide pour proposer HyperPay quel que soit le montant.
Identifiants API
Le Access Token, l'Entity ID et la clé de webhook sont fournis par HyperPay lors de la configuration de votre compte marchand. Les identifiants de test et de production sont différents. La clé de webhook est affichée dans le tableau de bord HyperPay, sous Administration > Webhooks. La section contient des liens vers le site HyperPay et vers la documentation pour développeurs.
Test Mode : utilise le système de test de HyperPay (eu-test.oppwa.com) et les identifiants de test. Aucun argent réel n'est débité. Désactivez-le pour accepter de vrais paiements avec les identifiants de production (eu-prod.oppwa.com). Par défaut : activé. Tant qu'il est activé, le client voit Test mode: no real payment will be made. à l'étape Confirm Order.
Test Access Token : le jeton d'accès (bearer token) de votre compte de test HyperPay.
Test Entity ID : l'Entity ID du canal de paiement de test.
Test Webhook Key : la clé hexadécimale de 64 caractères utilisée pour déchiffrer les notifications de webhook du système de test.
Live Access Token : le jeton d'accès (bearer token) de votre compte HyperPay de production.
Live Entity ID : l'Entity ID du canal de paiement de production.
Live Webhook Key : la clé hexadécimale de 64 caractères utilisée pour déchiffrer les notifications de webhook du système de production.
Les Access Tokens et les clés de webhook enregistrés ne sont jamais réaffichés. Le champ reste vide et affiche 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 des paiements, même lorsque le client ferme son navigateur avant de revenir dans la boutique. Dans le tableau de bord HyperPay (Administration > Webhooks), ajoutez un webhook pour les paiements avec l'URL affichée sous Webhook URL dans cette section. Sous OpenCart 3, elle ressemble à https://your-store/index.php?route=extension/payment/wcp_hyperpay_payment_gateway/webhook, et sous OpenCart 4 à https://your-store/index.php?route=extension/wcp_hyperpay_payment_gateway/payment/wcp_hyperpay_payment_gateway.webhook. Elle se construit à partir de l'adresse de la vitrine de votre installation OpenCart. Copiez l'URL exactement telle que les réglages l'affichent. Copiez ensuite la clé de déchiffrement du webhook dans Test Webhook Key ou Live Webhook Key, selon le même mode.
Les webhooks HyperPay sont chiffrés (AES-256-GCM). Un webhook qui ne peut pas être déchiffré avec vos clés est rejeté. Seules les notifications de paiement sont traitées, et le paiement doit appartenir à une page de paiement de l'une de vos commandes, créée dans le même mode que la clé qui l'a déchiffré. Les notifications de test HyperPay sont acquittées. Le webhook signale aussi les captures, annulations, remboursements et rétrofacturations (chargebacks) effectués dans le tableau de bord HyperPay (voir Commandes et remboursements). Sans le webhook, un paiement n'est confirmé que lorsque le client revient dans la boutique après avoir payé. Le webhook fonctionne aussi lorsque la boutique est en maintenance : OpenCart 3 laisse passer les requêtes des extensions de paiement, et sous OpenCart 4 l'extension ajoute une action de démarrage qui laisse passer le webhook et le retour du client depuis HyperPay.
Payment
Transaction Type : la manière dont la carte est débitée.
Payment Brands : les marques affichées dans le widget de paiement : VISA, Mastercard, mada, American Express, STC Pay, Apple Pay. Par défaut : VISA et Mastercard. Si aucune marque n'est cochée, la page vous en avertit et le widget affiche VISA et Mastercard. Ne sélectionnez que les marques que HyperPay a activées pour votre Entity ID ; mada, STC Pay et Apple Pay utilisent souvent leur propre entité, que cette extension ne prend pas en charge.
Commandes
OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante). La commande ne reçoit un statut qu'après la confirmation du paiement par HyperPay. Un paiement refusé ou abandonné laisse la commande sans statut, et le panier est conservé. Chacun des champs ci-dessous liste vos statuts de commande OpenCart. OpenCart n'a pas de statut « On hold », donc trois d'entre eux ont En attente par défaut ; vous pouvez créer vos propres statuts dans System > Localisation > Order Statuses et les sélectionner ici.
Order Status After Payment : défini lorsque HyperPay confirme un débit avec le bon montant et la bonne devise, ou lorsqu'une pré-autorisation est capturée. Par défaut : En cours de traitement.
Authorized (Capture Required) Status : une pré-autorisation a réservé le montant ; capturez-le dans l'onglet de la commande. Une annulation dans le tableau de bord HyperPay annule la commande tant qu'elle a ce statut. Par défaut : En attente.
Awaiting Payment Status : HyperPay a signalé un paiement en attente de confirmation ; le webhook le confirmera plus tard. Par défaut : En attente.
On Hold (Review) Status : le montant ou la devise payés diffère de la commande, ou un paiement est arrivé après l'annulation de la commande. Une note explique la raison. Par défaut : En attente.
Canceled Status : défini lorsque la pré-autorisation est annulée dans HyperPay. Un paiement pour une commande dans ce statut la met en attente au lieu de la rouvrir. Par défaut : Annulé.
Refunded Status : un paiement reçu pour une commande dans ce statut est seulement noté ; la commande n'est pas modifiée. Par défaut : Remboursé.
Avancé
Enable Logging : enregistre les requêtes et réponses de l'API dans hyperpay_p_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 renommé en hyperpay_p_debug.old.log.php. Les erreurs et les avertissements sont toujours enregistrés. Les journaux ne contiennent aucune donnée de carte, aucune clé ni aucune donnée client. 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 : lorsqu'elle est activée, la désinstallation de l'extension supprime les réglages et les fichiers journaux. Les commandes et les tentatives de paiement HyperPay sont toujours conservées, car les webhooks tardifs et les captures des commandes existantes en ont besoin. Par défaut : désactivé.
Importer / Exporter
Export : Download JSON enregistre les réglages dans un fichier JSON. Les Access Tokens et les clés de webhook ne sont pas exportés.
Import : collez le JSON exporté précédemment et cliquez sur Import pour restaurer les réglages. Les Access Tokens et les clés de webhook enregistrés sont conservés.
Paiement
À l'étape Payment Method, le client choisit le mode de paiement (par défaut Credit/Debit Card (HyperPay)). À 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 prépare une page de paiement HyperPay pour le total de la commande dans la devise de la commande et ouvre la page HyperPay payment de votre boutique avec le widget HyperPay et Please complete your payment below:. Le widget utilise la langue du client lorsque HyperPay la prend en charge. En mode test, la page affiche Test mode: use a HyperPay test card, no real payment will be made. Le client saisit les données de sa carte dans le widget, ou suit le lien Choose another payment method pour revenir à la caisse. Si la page est rechargée, la même page de paiement est réutilisée pendant 25 minutes au maximum tant que le total de la commande ne change pas ; au-delà, une nouvelle page de paiement est préparée.
Sous OpenCart 4, le client choisit le mode de paiement avec le bouton Choose du bloc du mode de paiement, dans la fenêtre Payment method options, puis clique sur Confirm Order en bas de la page de caisse. Par défaut, OpenCart 4 ne demande pas d'adresse de facturation ; l'extension envoie alors à HyperPay l'adresse de livraison comme adresse de facturation.
Après le paiement, le client revient dans votre boutique. L'extension vérifie que le paiement appartient à l'une des pages de paiement de cette commande et demande le résultat à HyperPay par une requête serveur à serveur, dans le mode où la page de paiement a été créée. La commande n'est marquée payée qu'après la confirmation de HyperPay, soit par cette requête, soit par le webhook. Le montant et la devise doivent correspondre à la commande. Un retour et un webhook arrivant au même moment, ainsi que les résultats de deux commandes issues du même panier, sont traités l'un après l'autre, si bien que le paiement n'est jamais appliqué deux fois. La commande reçoit ensuite 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.
Si le paiement n'a pas abouti, le client revient à la caisse avec un message : Payment failed: suivi du motif donné par HyperPay, Payment was not completed. Please try again., ou We could not confirm your payment yet. If you were charged, the order will be updated automatically; otherwise please try again. Le panier est conservé et le client peut payer à nouveau. Si le formulaire de paiement ne peut pas être préparé, le client reste à l'étape Confirm Order avec un bref message, par exemple indiquant que certaines données de facturation n'ont pas été acceptées par le prestataire de paiement, ou que le formulaire de paiement n'est pas disponible à cause d'une erreur de configuration. La raison technique est écrite dans le journal.
Sous OpenCart 4, ces messages s'affichent au-dessus de la page de caisse. OpenCart 3 crée une nouvelle commande à chaque affichage de l'étape Confirm Order ; OpenCart 4 met à jour la commande de la caisse, si bien qu'après un paiement refusé le client règle la même commande avec une nouvelle tentative de paiement. Si le même panier a déjà été payé avec une autre commande, le client est dirigé vers la page de confirmation au lieu de payer à nouveau. Une modification du panier, y compris une nouvelle quantité, compte comme un nouveau panier qui nécessite son propre paiement.
OpenCart 4 conserve la commande dans la caisse jusqu'à l'affichage de la page de confirmation. Si cette commande a été fermée entre-temps sans paiement (par exemple parce que vous l'avez annulée), le client revient à la caisse avec le message Payment failed. Please try again or use another card. Si elle a été payée puis annulée ou remboursée, le message est Your previous order was closed by the store. Please confirm the order again to pay with a new order. Si elle est déjà payée et que le panier contient désormais un nouvel achat, le message est Your previous order #(numéro) has already been placed. Your cart has changed: please confirm the new order to pay for it. Dans chaque cas, le prochain Confirm Order règle une nouvelle commande du panier. Une commande payée n'est jamais affichée comme payée pour un panier différent.
Les montants sont envoyés avec deux décimales, comme l'exige l'API HyperPay. Pour les devises à 3 décimales (KWD, BHD, JOD, OMR), le total de la commande est arrondi à deux décimales.
L'extension ne propose pas de remboursements ni d'annulations depuis OpenCart, ni de cartes enregistrées ou de tokenisation, ni d'abonnements, ni de vérification de domaine Apple Pay, ni d'entité distincte par marque, ni de Tabby, Tamara ou d'autres solutions de paiement en plusieurs fois (buy now, pay later).
Commandes et remboursements
Statuts de commande
No status (missing order) : le client a été envoyé sur la page de paiement et n'a pas payé, le paiement a été refusé, ou HyperPay 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.
Order Status After Payment (default Processing) : un débit a été confirmé, ou une pré-autorisation a été capturée. Une note affiche le code de résultat, la description et l'ID de paiement de HyperPay. Si HyperPay a signalé le paiement pour un examen manuel, la note l'indique ; vérifiez-le dans le tableau de bord HyperPay avant l'expédition.
Authorized (Capture Required) Status (default Pending) : le montant a été réservé par une pré-autorisation. Capturez-le dans l'onglet de la commande ou dans le tableau de bord HyperPay ; le webhook de capture fait alors passer la commande à Order Status After Payment.
Awaiting Payment Status (default Pending) : HyperPay a signalé le paiement comme en attente. La commande passe à Order Status After Payment lorsque HyperPay le confirme.
On Hold (Review) Status (default Pending) : HyperPay a signalé un montant ou une devise différent de la commande (par exemple, le panier a été modifié après l'ouverture de la page de paiement), ou le paiement est arrivé après l'annulation de la commande. La note l'explique. Vérifiez le paiement dans le tableau de bord HyperPay, puis préparez la commande ou remboursez le paiement.
Canceled Status (default Canceled) : une pré-autorisation a été annulée dans le tableau de bord HyperPay, et le webhook d'annulation annule la commande autorisée.
Un résultat de refus ne modifie jamais une commande qui a déjà un statut. Si un autre paiement réussi arrive pour une commande déjà payée, ou si une autre commande d'un panier déjà payé est réglée, la commande payée n'est pas modifiée. Une note vous invite à rembourser le doublon dans le tableau de bord HyperPay. Un paiement réussi pour une commande au statut Refunded Status ajoute seulement une note.
Les notes sont des entrées de l'History de la commande que le client ne voit pas.
Onglet VibeFox HyperPay Payment Gateway
Dans Sales > Orders, ouvrez une commande payée avec HyperPay. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox HyperPay Payment Gateway affiche l'ID du paiement (et l'ID de la capture après une capture) avec une mention Test mode pour les paiements de test, le type de transaction, l'ID de la page de paiement, l'ID de transaction marchand, le montant envoyé à HyperPay, le résultat et les HyperPay notes de la commande. L'onglet est affiché aux utilisateurs qui ont accès à l'extension.
Capture
Pour une commande pré-autorisée qui n'est pas encore capturée, l'onglet affiche Capture payment avec le montant. Cliquez dessus et confirmez Capture the pre-authorized amount through HyperPay?. Le total actuel de la commande est capturé, dans le mode où la pré-autorisation a été effectuée ; l'Access Token et l'Entity ID de ce mode doivent donc être renseignés. Vous devez avoir le droit de modifier l'extension (défini dans System > Users > User Groups). Après une capture réussie, la commande reçoit Order Status After Payment et l'ID de capture est ajouté à l'onglet et aux notes. Le statut est écrit directement, sans e-mails de commande ni mise à jour du stock. Si HyperPay refuse la capture, le code de résultat et la description sont affichés et ajoutés aux notes, et la commande reste autorisée. Un double clic ne capture pas deux fois. L'annulation (void) d'une pré-autorisation se fait dans le tableau de bord HyperPay.
Remboursements
Les remboursements depuis OpenCart ne sont pas pris en charge. Les retours de produits dans Sales > Returns ne renvoient pas d'argent via HyperPay. Remboursez le paiement dans le tableau de bord HyperPay. Les remboursements et rétrofacturations effectués dans HyperPay sont ajoutés à la commande sous forme de note par le webhook ; le statut de la commande ne change pas. 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 HyperPay Payment Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox HyperPay Payment 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) 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-hyperpay 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 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 issue 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, HyperPay n'est pas affiché aux clients à la caisse. 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é. Sous OpenCart 4, cet aperçu n'est pas disponible : la boutique ne voit pas la connexion à l'administration, si bien que sans clé active le mode 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 touchées : les paiements déjà lancés sont toujours confirmés, et les captures et 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 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
HyperPay n'apparaît pas à la caisse : vérifiez que la licence est active, que Enable/Disable est activé et que le mode actuel dispose de son Access Token et de son Entity ID : ceux de test en mode test, ceux de production en mode production. La page des réglages affiche un avertissement si ces éléments manquent. Vérifiez aussi que l'adresse de facturation se trouve dans la Geo Zone choisie et que la commande atteint le Total défini dans les réglages.
Le paiement a abouti, mais la commande reste sans statut : le webhook ne fonctionne pas et le client n'est pas revenu dans la boutique. Dans le tableau de bord HyperPay, vérifiez que le webhook de paiement existe pour le mode utilisé, que son URL est exactement celle affichée sous Webhook URL, et que sa clé de déchiffrement se trouve dans le champ de clé de webhook du même mode. Activez Enable Logging et consultez le champ Log sur la page de l'extension.
Le webhook répond Decryption failed : la clé de webhook appartient à un autre webhook ou à un autre mode. Copiez à nouveau la clé depuis le tableau de bord HyperPay.
Le webhook répond Webhook key not configured : aucune clé de webhook valide n'est définie. Collez la clé de 64 caractères dans les réglages. HyperPay renouvellera l'appel du webhook.
Le webhook répond Busy, retry later : la commande était en cours de traitement par une autre requête au même moment, ou le statut de la commande n'a pas pu être défini. HyperPay renouvellera l'appel du webhook. La raison est dans le journal.
Le journal affiche Webhook ignored : le paiement n'appartient pas à une commande de cette boutique, ou il a été effectué dans l'autre mode. Les paiements de test et les paiements réels sont séparés.
L'URL du webhook affiche Method not allowed dans le navigateur : c'est normal. L'URL n'accepte que les requêtes POST émises par HyperPay.
Le formulaire de paiement ne se charge pas : consultez le journal. Une erreur de configuration indique généralement un Access Token ou un Entity ID incorrect pour le mode actuel. Un message concernant les données de facturation signifie que HyperPay n'a pas accepté certaines données du client. Vérifiez que les Payment Brands sélectionnées sont activées pour votre Entity ID.
Le client voit The payment session was not found. Please confirm the order again.: le lien vers la page de paiement n'est plus valide pour cette commande. Le client confirme à nouveau la commande à la caisse.
Order is in the on hold status : lisez les notes de l'onglet de la commande (voir Statuts de commande), vérifiez le paiement dans le tableau de bord HyperPay, puis préparez la commande ou remboursez le paiement.
La capture échoue : lisez le code de résultat et la description dans l'onglet et dans les notes. La capture est envoyée dans le mode de la pré-autorisation ; les identifiants de ce mode doivent donc être renseignés, sans quoi l'onglet indique que l'Access Token / l'Entity ID de ce mode sont vides.
Désinstallation
Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox HyperPay Payment 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 reprennent leurs valeurs par défaut lors d'une réinstallation. Sous OpenCart 4, ses événements et son action de démarrage, qui laissent passer le webhook et le retour du client en mode maintenance, sont aussi supprimés. Si Delete Data on Uninstall est activé, les autres réglages (titre, description, mode test, identifiants, clés de webhook, type de transaction, marques, journalisation) et les fichiers journaux sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les tentatives de paiement HyperPay sont toujours conservées, de sorte que les webhooks tardifs et les captures des commandes existantes continuent de fonctionner après une réinstallation. Les commandes existantes conservent leurs notes de paiement.
Pour supprimer aussi les fichiers de l'extension sous OpenCart 4, allez dans Extensions > Installer après la désinstallation et cliquez sur Uninstall (le bouton orange −) à côté de VibeFox HyperPay 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é.
HyperPay est une marque de son titulaire respectif. Cette extension n'est pas affiliée à HyperPay et n'est pas approuvée par HyperPay.
