Le passage en caisse est bloqué lorsque le mode de paiement Authorize.net est utilisé
Cet article fournit une explication et un correctif pour le problème d’Adobe Commerce 2.3.X où le passage en caisse est bloqué si Authorize.net est utilisé, avec le message d’erreur 'Cannot read property 'length' of null' dans le journal de la console du navigateur.
Produits et versions concernés
- Adobe Commerce 2.3.X
Problème
Étapes à reproduire
- Configurez le Authorize.net mode de paiement dans l’administrateur Commerce.
- Allez à la vitrine.
- Ajoutez un produit au panier et passez à la caisse.
- Choisissez Authorize.net comme mode de paiement.
- 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: Cannot read property ’length’ of null at 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 section Authorize.net, vérifiez si la valeur est spécifiée dans le champ Clé client publique. 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