Retour

VibeFox Authorize.Net for OpenCart — Aide

Prérequis

OpenCart : 3.0.x (testé sur 3.0.5.0) ou 4.0.2 et ultérieur (testé sur 4.1.0.3).

PHP : 8.0 ou ultérieur.

HTTPS : votre page de paiement doit utiliser HTTPS. Accept.js refuse de s'exécuter sur les pages HTTP non sécurisées.

Compte Authorize.Net : vous avez besoin de l'API Login ID, de la Transaction Key et de la Public Client Key de votre compte Authorize.Net, ainsi que d'une Signature Key si vous utilisez les webhooks. Les comptes de production (account.authorize.net) et de sandbox (sandbox.authorize.net) ont des identifiants différents. Les comptes Authorize.Net sont disponibles pour les marchands des États-Unis, du Canada, du Royaume-Uni, d'Europe, d'Australie et de Nouvelle-Zélande.

Devise : la devise de la commande doit être USD, CAD, CHF, DKK, EUR, GBP, NOK, PLN, SEK, AUD ou NZD, et votre compte Authorize.Net doit régler dans cette devise. Pour les autres devises, le mode de paiement est masqué lors du paiement.

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_authorizenet_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_authorizenet_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_authorizenet_gateway-oc3-(version).ocmod.zip. L'extension ne contient aucune modification OCMOD, il n'est donc pas nécessaire de rafraîchir Extensions > Modifications. Au lieu de l'installateur, vous pouvez aussi copier le contenu du dossier upload de l'archive dans le dossier racine de votre boutique.

2. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox Authorize.Net 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 les identifiants des comptes sandbox et de production (voir Configuration). Vous pouvez également configurer le webhook.

5. Activez Enable/Disable, choisissez le Transaction type et cliquez sur Save. Testez un paiement en mode sandbox avec la carte 4111 1111 1111 1111, une date d'expiration future quelconque et un CVV quelconque, puis désactivez Sandbox mode.

OpenCart 4

1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_authorizenet_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 Authorize.Net Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton crayon).

4. Saisissez la clé de licence et les réglages comme aux étapes 3 à 5 pour OpenCart 3. La page de 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 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 Authorize.Net 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 la boutique n'utilise pas HTTPS (Accept.js ne fonctionne que sur les pages HTTPS), lorsque la devise par défaut de la boutique n'est pas prise en charge par Authorize.Net, lorsque le mode actuel n'a pas d'API Login ID, de Transaction Key ou de Public Client Key (le mode de paiement est alors masqué lors du paiement) et lorsque le mode actuel n'a pas de Signature Key (les webhooks sont alors désactivés). Tant que le mode sandbox est activé, elle affiche Sandbox mode is on: test transactions, no real charges. Sans le droit de modifier l'extension, la page affiche les réglages mais ne peut pas les enregistrer.

Lors de l'enregistrement, Title doit comporter de 1 à 128 caractères, Transaction type doit être l'une des deux options, 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. Si un champ est incorrect, rien n'est enregistré et la page indique le champ concerné.

Authorize.Net

Enable/Disable : Enable Authorize.Net active ou désactive le mode de paiement. Par défaut : désactivé.

Title : le nom du mode de paiement que voient les clients lors du paiement. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : Credit Card. Obligatoire, jusqu'à 128 caractères.

Description : le texte affiché au client à l'étape Confirm Order, au-dessus du formulaire de carte. Par défaut : Pay securely with your credit card via Authorize.Net.

Sort Order : la position du paiement par carte parmi les modes de paiement proposés lors du paiement. Laissez le champ vide ou saisissez un nombre entier.

Geo Zone : proposez le formulaire de carte uniquement pour les adresses de facturation 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 montant total du paiement, dans la devise par défaut de la boutique, que la commande doit atteindre pour que le mode de paiement soit proposé. Laissez le champ vide pour le proposer quel que soit le montant.

API credentials

Dans la Merchant Interface d'Authorize.Net, ouvrez Account > Settings > Security Settings. Sous API Credentials & Keys, copiez l'API Login ID et créez une Transaction Key et une Signature Key. Sous Manage Public Client Key, copiez la Public Client Key. Le sandbox et la production utilisent des identifiants différents. La section affiche les champs des deux modes, vous pouvez donc conserver les deux jeux d'identifiants.

Sandbox mode : utilise le sandbox d'Authorize.Net (transactions de test, aucun débit réel). Il change le point de terminaison de l'API, Accept.js et le jeu d'identifiants utilisé pour les nouveaux paiements. Par défaut : activé. Désactivez-le pour encaisser de vrais paiements. Tant qu'il est activé, les clients voient Sandbox mode: avec la carte de test 4111 1111 1111 1111 au-dessus du formulaire de carte.

Sandbox API Login ID et Live API Login ID : l'API Login ID du compte sandbox ou de production.

Sandbox Transaction Key et Live Transaction Key : la Transaction Key de ce compte.

Sandbox Public Client Key et Live Public Client Key : la clé publique qu'utilise Accept.js dans le navigateur.

Sandbox Signature Key et Live Signature Key : nécessaires uniquement pour les webhooks. Elle vérifie l'en-tête X-ANET-Signature de chaque notification.

Les Transaction Keys et Signature Keys 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 pour la modifier. Pour supprimer une clé enregistrée, cochez Clear the saved value on save sous le champ et cliquez sur Save.

Payment

Transaction type : la manière dont la carte est débitée. Une autorisation expire au bout de 30 jours.

Authorize and capture : débite la carte immédiatement ; la commande reçoit le Order Status After Payment (par défaut).
Authorize only : réserve les fonds ; la commande reçoit le Authorized Status. Capturez-les plus tard avec Capture payment dans l'onglet de la commande ou dans le panneau Authorize.Net.

Webhooks (recommended)

Sans webhooks, les commandes retenues par le Fraud Detection Suite, ou capturées ou annulées dans le panneau Authorize.Net, doivent être mises à jour manuellement. Dans la Merchant Interface, allez dans Account > Settings > Business Settings > Webhooks et cliquez sur Add Endpoint, dans le compte sandbox comme dans le compte de production. Utilisez l'URL affichée dans Endpoint URL dans cette section. Sur OpenCart 3, elle ressemble à https://your-store/index.php?route=extension/payment/wcp_authorizenet_gateway/webhook, sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_authorizenet_gateway/payment/wcp_authorizenet_gateway.webhook. Elle est construite à partir de l'adresse de la boutique de votre installation OpenCart. Copiez l'URL exactement telle que les réglages l'affichent. Sélectionnez ces événements (ils figurent également dans cette section) :

net.authorize.payment.fraud.approved : une transaction retenue pour examen a été approuvée.
net.authorize.payment.fraud.declined : une transaction retenue pour examen a été refusée.
net.authorize.payment.priorAuthCapture.created : une autorisation a été capturée, par exemple dans le panneau Authorize.Net.
net.authorize.payment.void.created : une transaction a été annulée.

Saisissez la Signature Key de chaque compte dans Sandbox Signature Key ou Live Signature Key. Les webhooks sans signature valide sont rejetés. Une notification doit être signée avec la clé du mode dans lequel le paiement a été effectué ; une notification de l'autre mode ne modifie rien. Pour chaque notification, l'extension demande également à Authorize.Net le statut et le montant actuels de la transaction avant de modifier la commande, de sorte que les notifications répétées ne changent rien. Le webhook fonctionne aussi lorsque la boutique est en mode maintenance, car OpenCart laisse passer les requêtes des extensions de paiement.

Orders

OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante). Elle ne reçoit un statut qu'après qu'Authorize.Net a répondu pour la carte. Chaque champ ci-dessous indique vos statuts de commande OpenCart.

Order Status After Payment : la carte a été débitée (Authorize and capture, ou une capture ultérieure). Par défaut : Processing.

Authorized Status : Authorize only : les fonds sont réservés, pas encore capturés. Capture payment dans l'onglet de la commande n'est proposé que dans ce statut. Par défaut : Pending.

On Hold (Review) Status : retenue pour examen par le Fraud Detection Suite, ou le montant débité ou capturé diffère de la commande. Une note explique la raison. 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.

Canceled Status : refusée, annulée ou expirée dans Authorize.Net sans paiement (webhook), ou l'autorisation a été annulée depuis l'onglet de la commande. Par défaut : Canceled.

Refunded Status : défini une fois le paiement intégralement remboursé (ou une transaction payée annulée) depuis l'onglet de la commande. Par défaut : Refunded.

Advanced

Debug log : enregistre les requêtes et réponses de l'API dans wc_ang_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs). Le fichier ne peut pas être ouvert depuis le web ; à 5 Mo, il est déplacé vers wc_ang_debug.old.log.php. Les clés, les jetons de carte et les données personnelles sont masqués. Par défaut : désactivé. Les erreurs, comme les paiements refusés ou échoués, les erreurs d'API et les remboursements échoués, sont toujours journalisées, même lorsque cette option est désactivée.

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 le journal. Les transactions et remboursements Authorize.Net sont toujours conservés, de sorte que les commandes payées auparavant peuvent encore être capturées et 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 Transaction Keys et les Signature Keys ne sont pas exportées.

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

Paiement

À l'étape Payment Method, le client choisit le mode de paiement (par défaut Credit Card). À l'étape Confirm Order, le client voit votre description et saisit le numéro de carte, la date d'expiration (MM/YY) et le code de sécurité (CVV) dans le formulaire situé au-dessus du bouton de confirmation. OpenCart crée la commande à cette étape, toujours sans statut. Accept.js n'est chargé depuis Authorize.Net qu'avec ce formulaire. Lorsque le client clique sur Confirm Order, Accept.js échange les données de la carte contre un jeton à usage unique, dans le navigateur. Les champs de la carte n'ont pas de noms de formulaire : le numéro de carte et le CVV ne sont donc jamais envoyés à votre serveur.

L'extension débite le jeton via l'API Authorize.Net pour le total de la commande, dans la devise de la commande. L'adresse de facturation, l'adresse e-mail et l'adresse IP sont transmises avec la transaction pour la vérification de l'adresse et les filtres antifraude, et le numéro de commande est envoyé comme numéro de facture. La commande n'est marquée payée qu'après la confirmation d'Authorize.Net : si la transaction est approuvée, la commande reçoit son statut de la manière standard d'OpenCart, avec les e-mails habituels de commande et la mise à jour du stock ; le panier est vidé et le client voit la page de confirmation de commande d'OpenCart avec Your card payment has been received. Avec Authorize only, la page affiche Your card payment has been authorized. The amount will be charged when your order is processed. Si le Fraud Detection Suite retient la transaction, elle affiche Your payment is being reviewed. We will update your order as soon as the review is complete.

Si la carte est refusée, le client reste à l'étape Confirm Order et voit Payment failed: suivi de la raison sous le formulaire, par exemple une carte refusée, un code de sécurité erroné ou une carte expirée. La commande reste sans statut, le panier est conservé et le client peut saisir une autre carte. Les erreurs de configuration et d'API ne sont pas affichées aux clients : ils voient un message général, et les détails sont enregistrés dans le journal. Si la boutique ne peut pas joindre Authorize.Net, le client voit Payment error: unable to connect to the payment gateway. Please try again. Si les champs de la carte sont vides, le formulaire demande Please enter the card number, expiry date and card code.

Un double clic, un second onglet ou une soumission répétée ne débitent jamais une commande deux fois. OpenCart 3 crée une nouvelle commande à chaque affichage de l'étape Confirm Order, si bien qu'un même panier peut avoir plusieurs commandes (sur OpenCart 4, une commande antérieure ou un second onglet du navigateur peuvent encore détenir le même panier) : dès que l'une d'elles est payée, une autre commande du même panier n'est pas débitée. Le client voit This cart has already been paid with order #…. Please check your order history — do not pay again. Une seconde tentative pendant que la première est encore en cours affiche Your payment is already being processed. Please wait a moment and check your order history before trying again. Si un paiement a été approuvé mais que le statut de la commande n'a pas pu être défini, le client voit Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. La commande reçoit alors son statut à partir du paiement approuvé lors de la prochaine tentative ou par le webhook, sans nouveau débit de la carte.

Sur 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. Le formulaire de carte apparaît alors dans le bloc de confirmation de la commande, en bas de la page de paiement, au-dessus de Confirm Order. L'adresse de facturation est facultative sur OpenCart 4 : sans elle, l'adresse de livraison est envoyée à Authorize.Net comme adresse de facturation. OpenCart 4 garde une seule commande pour le paiement et la met à jour, si bien qu'après une carte refusée, le client paie la même commande. Si cette commande a été fermée entre-temps (par exemple parce que vous l'avez annulée), ou si elle est déjà payée et que le panier contient désormais un nouvel achat, Confirm Order renvoie le client à la page de paiement, et le Confirm Order suivant paie une nouvelle commande. Au-dessus de la page de paiement, le client voit Your previous order is closed (cancelled or refunded by the store). Please confirm the order again: the cart will be paid with a new order. lorsque la commande a été fermée, ou Your previous order is already paid. Please confirm the order again: the cart will be paid with a new order. lorsqu'elle a été payée pour un panier précédent. Une modification du panier, y compris une nouvelle quantité, compte comme un nouveau panier qui nécessite son propre paiement.

Si le montant débité ne correspond pas au total de la commande, la commande passe au statut On Hold (Review) Status avec une note, et le paiement est enregistré pour le montant réellement débité.

L'extension ne prend pas en charge les cartes enregistrées ni les profils clients, les abonnements ou paiements récurrents, l'eCheck/ACH, Apple Pay, Google Pay, PayPal ou 3-D Secure, la capture partielle d'une autorisation ni la conversion automatique de devise.

Commandes et remboursements

Order statuses

No status (missing order) : la carte a été refusée ou le paiement a échoué. 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) : la carte a été débitée (Authorize and capture) ou une autorisation a été capturée. Une note affiche le montant, le Trans ID, le code d'autorisation, le type de carte et les quatre derniers chiffres.

Authorized Status (default Pending) : les fonds sont seulement autorisés (Authorize only). Capturez-les avant l'expédition.

On Hold (Review) Status (default Pending) : le Fraud Detection Suite a retenu la transaction pour examen, le montant débité ne correspond pas au total de la commande, ou une capture signalée par webhook ne correspond pas au montant de la commande. La note l'explique. Approuvez ou refusez une transaction retenue dans le panneau Authorize.Net ; avec les webhooks, la commande est mise à jour automatiquement.

Canceled Status (default Canceled) : un webhook a signalé que la transaction a été refusée, annulée ou expirée avant le paiement de la commande, ou vous avez annulé une autorisation non capturée. Si la transaction d'une commande payée est annulée dans le panneau Authorize.Net, le statut de la commande ne change pas et une note d'avertissement est ajoutée.

Refunded Status (default Refunded) : le paiement a été intégralement remboursé ou annulé via l'extension.

Sur OpenCart 4, une commande non payée du paiement peut recevoir le statut Voided, que OpenCart 4 définit lorsque le client revient à l'étape Confirm Order. L'extension traite une telle commande comme une commande sans statut : un paiement ou un webhook ultérieur définit toujours son statut.

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

VibeFox Authorize.Net Gateway tab

Dans Sales > Orders, ouvrez une commande payée avec Authorize.Net. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox Authorize.Net Gateway affiche le Trans ID avec une étiquette Sandbox pour les paiements sandbox, le Transaction type, le Status de la transaction, la Card et le code d'autorisation, les montants Charged / order / refunded, le bouton de capture, le formulaire de remboursement, l'historique des remboursements et les Authorize.Net notes de la commande. L'onglet est affiché aux utilisateurs ayant accès à l'extension. La capture et les remboursements nécessitent le droit de modifier l'extension (défini dans System > Users > User Groups).

Capture

Pour une commande en Authorized Status, cliquez sur Capture payment dans l'onglet et confirmez Capture the authorized amount through Authorize.Net? Le montant autorisé est capturé et la commande reçoit le Order Status After Payment. Si la capture échoue, l'erreur est affichée et ajoutée aux notes. Vous pouvez aussi capturer dans le panneau Authorize.Net ; avec les webhooks, la commande est mise à jour automatiquement.

Refunds

Dans l'onglet, saisissez le Amount (le montant non encore remboursé est pré-rempli), éventuellement un Reason (optional), cliquez sur Refund via Authorize.Net et confirmez Refund this amount through Authorize.Net? This cannot be undone. Un remboursement du montant total annule d'abord la transaction si elle n'est pas encore réglée, ou une autorisation qui n'a pas été capturée. Les transactions réglées, généralement après 24 heures, peuvent être remboursées en totalité ou en partie. Avant le règlement, un remboursement partiel n'est pas possible : remboursez le montant total pour annuler la transaction, ou réessayez après le règlement. Les remboursements sont effectués dans le montant et la devise débités par Authorize.Net ; après un écart de montant, vous pouvez donc rembourser jusqu'au montant réellement payé par le client, et non au total de la commande. Si Authorize.Net n'accepte pas le remboursement, l'onglet affiche l'erreur et aucun remboursement n'est enregistré. Un remboursement ou une annulation réussis sont ajoutés à l'historique des remboursements et aux notes. Un remboursement total place la commande en Refunded Status (Canceled Status lorsque seule une autorisation a été annulée) sans en informer le client et sans remettre les produits en stock, comme un changement de statut manuel. Un remboursement partiel ne change pas le statut. Tant qu'une transaction est retenue pour examen, aucun remboursement n'est proposé.

Les captures, les remboursements et les vérifications de webhook d'une commande utilisent les identifiants du mode dans lequel la commande a été payée. Ainsi, les commandes de l'autre mode peuvent encore être capturées et remboursées après que vous avez modifié Sandbox mode. Conservez les identifiants de ce mode dans leurs champs jusqu'à ce que ces commandes soient traitées.

Les retours de produits dans Sales > Returns ne renvoient pas d'argent via Authorize.Net. Les remboursements effectués dans le panneau Authorize.Net ne sont pas signalés à la boutique : 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 Authorize.Net Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox Authorize.Net 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-authorizenet 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-le dans votre compte vibefox.net.

Sans clé active, le paiement par carte Authorize.Net n'est pas affiché aux clients lors 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 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, si bien que sans clé active le mode de paiement est masqué pour tout le monde. Une fois la page Edit ouverte 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 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

Le paiement par carte n'apparaît pas lors du paiement : vérifiez que la licence est active, que Enable/Disable est activé et que le mode actuel dispose d'une API Login ID, d'une Transaction Key et d'une Public Client Key. La page des réglages affiche un avertissement si l'une d'elles manque. Vérifiez que la devise du client est prise en charge, que l'adresse de facturation 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 au statut autorisé ou en examen : le type de transaction est Authorize only (capturez-la dans l'onglet de la commande), ou Authorize.Net a retenu la transaction pour examen. Approuvez-la ou refusez-la dans le panneau Authorize.Net. Pour que ces commandes soient mises à jour automatiquement, configurez le webhook : vérifiez que le point de terminaison existe dans le compte du mode utilisé, que son URL est exactement celle affichée dans Endpoint URL, que les quatre événements sont sélectionnés et que la Signature Key de ce compte est saisie.

Réponse du webhook : webhooks are not configured : aucune Signature Key n'est saisie pour aucun des deux modes.

Réponse du webhook : invalid signature : la Signature Key appartient à un autre compte, ou une clé a été modifiée dans Authorize.Net. Recréez ou copiez à nouveau la Signature Key, puis collez-la dans le champ de son mode.

Réponse du webhook : mode mismatch : la notification a été signée avec la clé d'un mode, mais le paiement a été effectué dans l'autre mode. Vérifiez que les Signature Keys sandbox et live ne sont pas inversées.

Réponse du webhook : verification failed, retry later : la boutique n'a pas pu lire la transaction depuis l'API Authorize.Net, ou les identifiants du mode du paiement sont absents. Authorize.Net renouvelle l'envoi.

Réponse du webhook : busy, retry later : la commande était en cours de mise à jour par une autre requête au même moment, ou le traitement a échoué. Consultez le champ Log pour 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 d'Authorize.Net.

Le formulaire de carte affiche The secure card form (Accept.js) could not be loaded : la page de paiement doit utiliser HTTPS, et la Public Client Key ainsi que l'API Login ID du mode actuel doivent être corrects.

Payment error: the card could not be tokenized : Accept.js n'a pas renvoyé de jeton. Le client doit ressaisir les données de la carte et réessayer.

Le client voit This payment method is not available : la session de paiement ne correspond plus à la commande, le mode de paiement a été désactivé entre-temps, les identifiants sont manquants ou le total de la commande est nul. Avec Please reload the checkout page, le client recharge la page de paiement.

Le client voit une erreur générale : consultez le champ Log sur la page de l'extension ; les erreurs y sont toujours enregistrées. Une devise non prise en charge par le compte est refusée par Authorize.Net.

Un remboursement partiel échoue parce que la transaction n'est pas encore réglée : remboursez le montant total pour annuler la transaction, ou réessayez après le règlement, généralement dans les 24 heures.

Un remboursement ou une capture échoue avec un message concernant le mode : le paiement a été effectué en mode sandbox ou live, et l'API Login ID et la Transaction Key de ce mode ne sont pas renseignées. Saisissez-les et réessayez.

Désinstallation

Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox Authorize.Net 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. L'événement OpenCart de l'extension est également supprimé (sur OpenCart 4, ses événements, y compris celui qui affiche le message au-dessus de la page de paiement, et son action de démarrage, qui laisse passer le webhook en mode maintenance). Si Delete data on uninstall est activé, les autres réglages (titre, description, mode sandbox, identifiants, type de transaction, journalisation) et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les transactions et remboursements Authorize.Net sont toujours conservés, de sorte que les commandes payées auparavant peuvent encore être capturées et 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 Authorize.Net 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é.

Authorize.Net est une marque déposée de son propriétaire respectif. Cette extension n'est ni affiliée à Authorize.Net ni approuvée par Authorize.Net.