使用Authorize.net付款方式时结账卡住
本文针对Adobe Commerce 2.3.X问题提供了说明和修复,如果使用Authorize.net,则签出卡住,并在浏览器控制台日志中显示 “无法读取null的属性‘长度’ 错误消息。
受影响的产品和版本
- Adobe Commerce 2.3.X
NOTE
核心Adobe Commerce Authorize.Net支付集成自2.3.4之后已被弃用,在2.4.0中已完全删除。请改用Adobe Commerce Marketplace中适合您需求的扩展。
问题
重现步骤
- 在Commerce管理员中配置Authorize.net支付方式。
- 去店面。
- 将产品添加到购物车并继续结帐。
- 选择Authorize.net作为付款方式。
- 单击 下单。
预期的结果
Authorize.net iframe已加载。
实际结果
此时将显示Ajax旋转图标,并且页面从不加载。 浏览器控制台日志中显示以下JS错误: 'Uncaught TypeError:无法读取b处为null的属性'length' (jstest.authorize.net/v1/AcceptCore.js:1)')
原因
此问题最常见的原因之一是,在Commerce管理员的Authorize.Net配置中未指定公共客户端密钥。
解决方案
在 存储 > 设置 > 配置 > 销售 > 付款方法 下,在 Authorize.net 部分中,检查是否在 公共客户端密钥 字段中指定了值。 如果为空,请输入您的Authorize.Net商家帐户中的键值。
对于要应用的更改,请通过运行
bin/magento cache:clean
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a