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 のニーズに合った拡張機能を使用します。
問題
再現手順
- Commerce Admin でAuthorize.net支払い方法を設定します。
- ストアフロントに移動します。
- 商品を買い物かごに追加し、チェックアウトに進みます。
- 支払い方法としてAuthorize.netを選択します。
- 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