Authorize.netの支払い方法が使用されている場合、チェックアウトが行き詰まる

ここでは、Authorize.netを使用している場合に、ブラウザーコンソールログに「'Cannot read property 'length' of null' というエラーメッセージが表示され、チェックアウトが行き詰まるAdobe Commerce 2.3.X の問題について説明します。

影響を受ける製品とバージョン

  • Adobe Commerce 2.3.X
NOTE
コアとなるAdobe Commerce Authorize.Net 支払い統合は 2.3.4 以降で非推奨となり、2.4.0 で完全に削除されました。代わりに、Adobe Commerce Marketplace のニーズに合った拡張機能を使用します。

問題

再現手順

  1. Commerce Admin でAuthorize.net支払い方法を設定します。
  2. ストアフロントに移動します。
  3. 商品を買い物かごに追加し、チェックアウトに進みます。
  4. 支払い方法としてAuthorize.netを選択します。
  5. Place Order をクリックします。

期待される結果

Authorize.net iframe が読み込まれます。

実際の結果

Ajax スピナーが表示され、ページは読み込まれません。 次の JS エラーがブラウザーコンソールログに表示されます。「Uncaught TypeError: Cannot read property 'length' of null at b (jstest.authorize.net/v1/AcceptCore.js:1)'

原因:

この問題が発生する最も一般的な理由の 1 つは、Commerce管理の Authorize.Net 設定で公開クライアントキーが指定されていないことです。

解決策

Stores/Settings/Configuration/Sales/Payment Methods の下の「Authorize.net」セクションで、「Public Client Key」フィールドに値が指定されているかどうかを確認します。 空の場合は、Authorize.Net マーチャントアカウントのキー値を入力します。

変更を適用するには、次のコマンドを実行してキャッシュをクリーンアップします。

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