Il pagamento è bloccato quando si utilizza il metodo di pagamento Authorize.net

Questo articolo fornisce una spiegazione e una correzione per il problema di Adobe Commerce 2.3.X in cui l'estrazione si blocca se si utilizza Authorize.net, con il messaggio di errore 'Impossibile leggere la proprietà 'length' di null' nel registro della console del browser.

Prodotti e versioni interessati

  • Adobe Commerce 2.3.X
NOTE
L’integrazione del pagamento Adobe Commerce Authorize.Net di base è diventata obsoleta a partire dalla versione 2.3.4 ed è stata completamente rimossa nella versione 2.4.0. Utilizza invece un'estensione adatta alle tue esigenze da Adobe Commerce Marketplace.

Problema

Passaggi da riprodurre

  1. Configura il metodo di pagamento Authorize.net in Commerce Admin.
  2. Vai alla vetrina.
  3. Aggiungi un prodotto al carrello e procedi al pagamento.
  4. Scegli Authorize.net come metodo di pagamento.
  5. Fai clic su Inserisci ordine.

Risultato previsto

L’iframe Authorize.net è caricato.

Risultato effettivo

Viene visualizzato Ajax spinner e la pagina non si carica mai. Nel registro della console del browser viene visualizzato il seguente errore JS: 'TypeError non rilevato: impossibile leggere la proprietà 'length' di null in b (jstest.authorize.net/v1/AcceptCore.js:1)'

Causa

Uno dei motivi più comuni di questo problema è che la chiave del client pubblico non è specificata nella configurazione Authorize.Net in Commerce Admin.

Soluzione

In Archivi > Impostazioni > Configurazione > Vendite > Metodi di pagamento, nella sezione Autorizza.net, verifica se il valore è specificato nel campo Chiave client pubblica. Se è vuoto, immetti il valore chiave dall'account esercente Authorize.Net.

Per applicare le modifiche, pulire la cache eseguendo

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