使用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

問題

要再現的步驟

  1. 在Commerce管理員中設定Authorize.net付款方法。
  2. 前往店面。
  3. 將產品新增到購物車並繼續結帳。
  4. 選擇Authorize.net作為付款方式。
  5. 按一下​ 下訂單

預期結果

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