Retour

VibeFox Authorize.Net for WooCommerce — Aide

Prérequis

WordPress: 5.8 ou ultérieur.

WooCommerce: 7.0 ou ultérieur, installé et activé. Sans WooCommerce, l'extension affiche un avertissement dans l'administration et le moyen de paiement n'est pas chargé.

PHP: 8.0 ou ultérieur.

HTTPS: votre page de paiement doit utiliser HTTPS. Accept.js refuse de fonctionner en HTTP simple.

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 ouverts aux marchands des États-Unis, du Canada, du Royaume-Uni, d'Europe, d'Australie et de Nouvelle-Zélande.

Devise : la devise de la boutique 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 moyen de paiement est masqué au paiement.

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

Installation

1. Dans WordPress, allez dans Plugins > Add New > Upload Plugin, choisissez le fichier ZIP de l'extension et cliquez sur Install Now. Vous pouvez aussi téléverser le dossier wcp_authorizenet_gateway dans /wp-content/plugins/ par FTP.

2. Cliquez sur Activate.

3. Ouvrez les réglages : WooCommerce > Settings > Payments > Authorize.Net > Manage, ou cliquez sur Settings sous le nom de l'extension sur la page Extensions.

4. Saisissez votre clé de licence VibeFox dans le bloc de licence en haut de la page et cliquez sur Activate.

5. Saisissez les identifiants des comptes sandbox et de production (voir Configuration). Configurez éventuellement le webhook.

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

Configuration

Tous les réglages se trouvent sur une seule page : WooCommerce > Settings > Payments > Authorize.Net. Au-dessus des champs, la page vous avertit lorsque le site n'utilise pas HTTPS (Accept.js ne fonctionne que sur des pages HTTPS) et lorsque la devise de la boutique n'est pas prise en charge (le moyen de paiement est alors masqué au paiement). La page n'affiche que les champs d'identifiants du mode sélectionné.

Général

Enable/Disable: Enable Authorize.Net 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 paiement. Par défaut : Credit Card.

Description: le texte affiché au-dessus du formulaire de carte au paiement. Par défaut : Pay securely with your credit card via Authorize.Net.

Identifiants API

Dans le Merchant Interface d'Authorize.Net, ouvrez Account > Settings > Security Settings. Sous API Credentials & Keys, copiez l'API Login ID, puis créez une Transaction Key et une Signature Key. Sous Manage Public Client Key, copiez la Public Client Key. Les environnements sandbox et de production utilisent des identifiants différents.

Sandbox mode: Use the Authorize.Net sandbox (test transactions, no real charges). Bascule l'adresse de l'API, Accept.js et le jeu d'identifiants ci-dessous. Par défaut : activé. Décochez-le pour recevoir de vrais paiements.

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

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

Live Public Client Key et Sandbox Public Client Key: la clé publique utilisée par Accept.js dans le navigateur.

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

Paiement

Transaction type: la façon 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 passe à « En cours » (par défaut).
Authorize only: réserve les fonds ; la commande passe à « En attente ». Capturez-les plus tard avec l'action de commande Capture payment (Authorize.Net) ou dans l'interface Authorize.Net.

Webhooks (recommandés)

Sans webhooks, les commandes mises en attente par Fraud Detection Suite, ou capturées ou annulées dans l'interface Authorize.Net, doivent être mises à jour à la main. Dans le Merchant Interface, allez dans Account > Settings > Business Settings > Webhooks et cliquez sur Add Endpoint. Utilisez l'URL affichée dans cette section des réglages. Elle ressemble à https://your-site/wc-api/wc_authorizenet/. Sélectionnez ces événements :

net.authorize.payment.fraud.approved: une transaction mise en attente pour examen a été approuvée.
net.authorize.payment.fraud.declined: une transaction mise en attente pour examen a été refusée.
net.authorize.payment.priorAuthCapture.created: une autorisation a été capturée, par exemple dans l'interface Authorize.Net.
net.authorize.payment.void.created: une transaction a été annulée.

Saisissez la Signature Key du compte dans Live Signature Key ou Sandbox Signature Key. Les webhooks sans signature valide sont rejetés. Pour chaque notification, l'extension demande aussi à Authorize.Net le statut et le montant actuels de la transaction avant de modifier la commande ; les notifications répétées ne changent donc rien.

Avancé

Debug log: Log API requests and responses écrit dans WooCommerce > Status > Logs, source wcp_authorizenet_gateway. Les clés, jetons de carte et données personnelles sont masqués. Par défaut : désactivé.

Delete data on uninstall: Remove the settings and the Authorize.Net order meta when the plugin is deleted. Par défaut : désactivé.

Fonctionnement au paiement

Le client choisit le moyen de paiement (par défaut Credit Card) et saisit le numéro de carte, la date d'expiration (MM/AA) et le code de sécurité (CVV) sur la page de paiement. En mode sandbox, le formulaire affiche un rappel avec la carte de test 4111 1111 1111 1111. Lorsque la commande est passée, Accept.js échange les données de carte contre un jeton à usage unique, dans le navigateur. Les champs de carte ne portent aucun nom de champ 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'e-mail et l'adresse IP sont envoyés avec la transaction pour la vérification d'adresse et les filtres antifraude. Si le paiement est approuvé, le client arrive sur la page de confirmation de commande et le panier est vidé.

Si la carte est refusée, le client reste sur la page de paiement et voit Payment failed: suivi de la raison, par exemple carte refusée, mauvais code de sécurité ou carte expirée. Les erreurs de configuration et d'API ne sont pas montrées aux clients : ils voient un message général, et les détails sont enregistrés dans la note de commande et 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.

Les envois répétés et les paiements répétés d'une même commande ne la débitent jamais une seconde fois. Le moyen de paiement fonctionne avec le paiement classique, avec le bloc Paiement et avec la page Pay for order. Il est compatible avec WooCommerce High-Performance Order Storage (HPOS).

L'extension ne gère ni cartes enregistrées ni profils clients, ni WooCommerce Subscriptions ou Pre-Orders, ni eCheck/ACH, Apple Pay, Google Pay, PayPal ou 3-D Secure, ni capture partielle d'une autorisation, ni conversion automatique de devise.

Commandes et remboursements

Statuts de commande

Processing or Completed: la carte a été débitée (Authorize and capture), ou une autorisation a été capturée. WooCommerce passe la commande à « En cours », ou à « Terminée » pour les commandes ne contenant que des produits virtuels téléchargeables. La note de commande indique le montant, l'identifiant de transaction, le code d'autorisation, le type de carte et les quatre derniers chiffres. L'identifiant de transaction est le Trans ID d'Authorize.Net.

On hold: les fonds sont seulement autorisés (Authorize only), ou Fraud Detection Suite a mis la transaction en attente d'examen. Approuvez ou refusez une transaction en attente dans l'interface Authorize.Net ; avec les webhooks, la commande est mise à jour automatiquement. Une commande est aussi mise en attente lorsqu'une capture signalée par webhook ne correspond pas au montant de la commande.

Cancelled: un webhook a signalé que la transaction a été refusée, annulée ou a expiré avant que la commande soit payée. Si cela arrive à une commande payée, son statut n'est pas modifié et une note d'avertissement est ajoutée.

Capture

Pour une commande avec une autorisation, ouvrez la commande, choisissez Capture payment (Authorize.Net) dans les actions de commande et cliquez sur le bouton de mise à jour. Le montant total de la commande, déduction faite des remboursements, est capturé et la commande est marquée payée. Si la capture échoue, l'erreur est affichée et ajoutée aux notes de commande. Vous pouvez aussi capturer dans l'interface Authorize.Net ; avec les webhooks, la commande est mise à jour automatiquement.

Remboursements

Ouvrez la commande, cliquez sur Refund, saisissez le montant et cliquez sur Refund via Credit Card (le bouton reprend le titre de votre moyen de paiement). Un remboursement du montant total de la commande annule d'abord la transaction si elle n'est pas encore réglée, ou une autorisation non 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 est impossible : remboursez le montant total pour annuler la transaction, ou réessayez après le règlement. Si Authorize.Net n'accepte pas le remboursement, WooCommerce affiche l'erreur et aucun remboursement n'est enregistré. Un remboursement ou une annulation réussi est ajouté aux notes de commande.

Les remboursements, captures et vérifications par webhook d'une commande utilisent les identifiants du mode dans lequel la commande a été payée. Vous pouvez donc continuer à capturer et rembourser les commandes de l'autre mode après avoir changé Sandbox mode. Conservez les identifiants de ce mode dans leurs champs tant que ces commandes ne sont pas traitées.

Clé de licence

L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence se trouve en haut de WooCommerce > Settings > Payments > Authorize.Net. Collez la clé dans License key et cliquez sur Activate. Le bloc affiche le statut, par exemple la date jusqu'à laquelle la licence est active et votre domaine. Utilisez Check now pour vérifier à nouveau le statut, Change key pour saisir une autre clé et Remove key pour la retirer de ce site. Le lien Manage licenses and domains in your account ouvre votre compte vibefox.net.

Une clé fonctionne sur un seul domaine. Retirer la clé d'un site ne libère pas son emplacement de domaine. Libérez-le dans votre compte vibefox.net.

Sans clé active, Authorize.Net n'est pas affiché aux clients au paiement. Si un paiement est tout de même lancé, le client voit This payment method is not available. Please choose another one. Les gestionnaires connectés de la boutique voient toujours le moyen de paiement, marqué (unlicensed — visible to admins only), afin que vous puissiez configurer et tester l'extension avant d'acheter une clé. Un rappel apparaît sur la page Extensions et sur les pages WooCommerce. Les commandes existantes ne sont pas affectées : les webhooks sont toujours traités, et les captures et remboursements fonctionnent.

Lorsqu'une licence expire, l'extension continue de fonctionner, mais les mises à jour et l'assistance nécessitent un renouvellement. Le statut est vérifié à nouveau automatiquement en arrière-plan.

Dépannage

Authorize.Net n'apparaît pas au paiement : vérifiez que la licence est active, que Enable/Disable est activé et que le mode en cours dispose d'un API Login ID, d'une Transaction Key et d'une Public Client Key. Vérifiez que la devise de la boutique est prise en charge ; la page des réglages affiche un avertissement lorsqu'elle ne l'est pas.

Le paiement a été effectué, mais la commande reste « En attente » : le type de transaction est Authorize only (capturez-la avec l'action de commande), ou Authorize.Net a mis la transaction en attente d'examen. Approuvez ou refusez-la dans l'interface Authorize.Net. Pour que ces commandes soient mises à jour automatiquement, configurez le webhook : vérifiez que l'URL du point de terminaison est exactement celle affichée dans les réglages, que les quatre événements sont sélectionnés et que la Signature Key du mode en cours est saisie.

Le webhook répond « webhooks are not configured » : aucune Signature Key n'est saisie pour aucun des deux modes.

Le webhook répond « invalid signature » : la Signature Key appartient à un autre compte ou à un autre mode. Recréez ou recopiez la Signature Key et collez-la dans le champ de son mode.

Le webhook répond « verification failed, retry later » : la boutique n'a pas pu relire la transaction depuis l'API Authorize.Net. Authorize.Net renvoie la notification.

Le formulaire de carte ne se charge pas ou affiche « The secure card form (Accept.js) could not be loaded » : la page de paiement doit utiliser HTTPS, et la Public Client Key et l'API Login ID du mode en cours doivent être exactes.

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

Le client voit un message d'erreur général : ouvrez les notes de commande ou activez Debug log et consultez WooCommerce > Status > Logs, source wcp_authorizenet_gateway. Une devise que le compte ne prend pas en charge est refusée par Authorize.Net.

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

Le bloc de licence affiche une erreur : suivez le message affiché dans le bloc. Par exemple, si la clé est déjà utilisée sur un autre domaine, libérez un emplacement dans votre compte vibefox.net et cliquez sur Check now. Si l'adresse du site a changé, cliquez sur Check now pour activer la clé pour le nouveau domaine. Si le serveur de licences est injoignable, l'extension continue de fonctionner avec le dernier statut connu.

Désinstallation

La désactivation de l'extension conserve toutes les données. Pour la supprimer, désactivez-la puis supprimez-la sur la page Plugins. La clé de licence et le statut de licence de cette extension sont toujours supprimés. Les réglages de la passerelle, les données Authorize.Net enregistrées sur les commandes et les journaux ne sont supprimés que si Delete data on uninstall était activé. Sinon, ils sont conservés pour une future réinstallation. Les commandes existantes conservent leurs notes de paiement et leurs identifiants de transaction.

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