O check-out fica paralisado quando o método de pagamento Authorize.net é usado
Este artigo fornece uma explicação e uma correção para o problema do Adobe Commerce 2.3.X em que o check-out fica interrompido se Authorize.net for usado, com a mensagem de erro 'Não é possível ler a propriedade 'length' de null' no log de console do navegador.
Produtos e versões afetados
- Adobe Commerce 2.3.X
Problema
Etapas a serem reproduzidas
- Configure o método de pagamento Authorize.net no Commerce Admin.
- Vá para a loja.
- Adicione um produto ao carrinho e prossiga para a finalização da compra.
- Escolha Authorize.net como um método de pagamento.
- Clique em Fazer pedido.
Resultado esperado
O iframe Authorize.net é carregado.
Resultado real
O ponteiro do Ajax é exibido e a página nunca é carregada. O seguinte erro JS é exibido no log do console do navegador: 'TypeError Não Capturado: Não é possível ler a propriedade 'length' de nulo em b (jstest.authorize.net/v1/AcceptCore.js:1)'
Causa
Um dos motivos mais comuns para esse problema é a chave pública do cliente não ser especificada na configuração Authorize.Net no Commerce Admin.
Solução
Em Lojas > Configurações > Configuração > Vendas > Métodos de Pagamento, na seção Authorize.net, verifique se o valor está especificado no campo Chave Pública do Cliente. Se estiver vazio, insira o valor da chave da sua conta de comerciante Authorize.Net.
Para que as alterações sejam aplicadas, limpe o cache executando
bin/magento cache:clean