使用Authorize.net付款方式時,結帳卡住
本文針對Adobe Commerce 2.3.X問題提供說明及修正,如果使用Authorize.net,且瀏覽器主控台記錄中出現 「無法讀取null的屬性'length' 錯誤訊息,簽出會卡住。
受影響的產品和版本
- 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 (jstest.authorize.net/v1/AcceptCore.js:1)')的null屬性'length'
原因
此問題最常見的原因之一,是在Commerce管理員的Authorize.Net設定中未指定公用使用者端金鑰。
解決方案
在 商店 > 設定 > 組態 > 銷售 > 付款方法 下,在 Authorize.net 區段中,檢查是否在 公開使用者端金鑰 欄位中指定了值。 如果空白,請輸入您Authorize.Net商家帳戶的金鑰值。
若要套用變更,請執行以清除快取
bin/magento cache:clean
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a