Le passage en caisse est bloqué lorsque le mode de paiement Authorize.net est utilisé

Cet article fournit une explication et une solution au problème d’Adobe Commerce 2.3.X où le passage en caisse est bloqué si Authorize.net est utilisé, avec la variable "Impossible de lire la propriété ’length’ de null" message d’erreur dans le journal de la console du navigateur.

Produits et versions concernés

  • Adobe Commerce 2.3.X
NOTE
L’intégration de paiement principale d’Adobe Commerce Authorize.Net est obsolète depuis la version 2.3.4 et a été complètement supprimée de la version 2.4.0. Utilisez une extension qui répond à vos besoins depuis la Adobe Commerce Marketplace au lieu de .

Problème

Étapes à reproduire

  1. Configurez le Authorize.net mode de paiement dans l’administrateur Commerce.
  2. Allez à la vitrine.
  3. Ajoutez un produit au panier et passez à la caisse.
  4. Choisissez Authorize.net comme mode de paiement.
  5. Cliquez sur Passer commande.

Résultat attendu

L’iframe Authorize.net est chargé.

Résultat réel

Le compteur Ajax s’affiche et la page ne se charge jamais. L’erreur JS suivante s’affiche dans le journal de la console du navigateur : 'Uncaught TypeError : impossible de lire la propriété ’length’ de null à l’adresse b (jstest.authorize.net/v1/AcceptCore.js:1)')

Cause

L’une des raisons les plus courantes de ce problème est que la clé du client public n’est pas spécifiée dans la configuration Authorize.Net de l’administrateur Commerce.

Solution

Sous Magasins > Paramètres > Configuration > Ventes > Méthodes de paiement, dans la variable Authorize.net , vérifiez si la valeur est spécifiée dans la variable Clé client publique champ . S’il est vide, saisissez la valeur de clé de votre compte marchand Authorize.Net.

Pour que les modifications soient appliquées, videz le cache en exécutant

bin/magento cache:clean
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a