Der Checkout ist blockiert, wenn die Zahlungsmethode Authorize.net verwendet wird
Dieser Artikel enthält eine Erklärung und Fehlerbehebung für das Adobe Commerce 2.3.x-Problem, bei dem der Checkout hängen bleibt, wenn Authorize.net verwendet wird, mit der Fehlermeldung Cannot read property 'length' of null im Protokoll der Browser-Konsole.
Betroffene Produkte und Versionen
- Adobe Commerce 2.3.x
Problem
Schritte zur Reproduktion
- Konfigurieren Sie die Zahlungsmethode Authorize.net in der Commerce Admin Console.
- Geh zum Laden.
- Fügen Sie ein Produkt zum Warenkorb hinzu und fahren Sie mit der Kasse fort.
- Wählen Sie Authorize.net als Zahlungsmethode.
- Klicken Sie Bestellung aufgeben.
Erwartetes Ergebnis
Der iframe Authorize.net wird geladen.
Tatsächliches Ergebnis
Ajax-Spinner wird angezeigt, und die Seite wird nie geladen. Der folgende JS-Fehler wird im Protokoll der Browser-Konsole angezeigt: 'Uncatch TypeError: Die Eigenschaft 'length' von null kann bei b nicht gelesen werden (jstest.authorize.net/v1/AcceptCore.js:1)'
Ursache
Einer der häufigsten Gründe für dieses Problem ist, dass der öffentliche Clientschlüssel in der Authorize.Net-Konfiguration in Commerce Admin nicht angegeben ist.
Lösung
Überprüfen Sie unter Stores > Settings > Configuration > Sales > Payment Methods im Abschnitt authorize.net, ob der Wert im Public Client Key-Feld angegeben ist. Wenn es leer ist, geben Sie den Schlüsselwert aus Ihrem Authorize.Net-Händlerkonto ein.
Damit die Änderungen angewendet werden können, bereinigen Sie den Cache, indem Sie Folgendes ausführen
bin/magento cache:clean