使用Authorize.net沙箱帳戶下訂單時發生錯誤(伺服器上發生錯誤)

本文修正使用Authorize.Net直接發佈下訂單時,伺服器 ​發生錯誤」錯誤訊息。

WARNING
淘汰通知
由於付款服務指示PSD2和許多API的持續演化,Authorize.Net有過時和未來不再符合安全性的風險。 因此,現已棄用,我們建議您在Adobe Commerce設定中將其停用,並轉換為對應的Commerce Marketplace擴充功能
此整合已從Adobe Commerce 2.4.0版本中移除,並且已從目前的2.3版本棄用。
如需從已棄用的付款整合進行安全轉換的詳細資訊,請參閱我們的DevBlog

問題

使用Authorize.Net Direct Post沙箱帳戶下訂單會導致錯誤訊息:

​>>
「伺服器發生錯誤。 請嘗試重新下單」

原因1:已啟用測試模式

似乎不清楚,但即使使用沙箱帳戶進行測試,Authorize.net的​ 測試模式 ​設定也必須設為​

解決方案1:停用測試模式

  1. 移至​ 商店 > 組態 > 銷售 > 付款方式 > 其他付款方式 > Authorize.net直接發佈
  2. 將​ 測試模式 ​設為[否] (取消勾選[2}使用系統值​ ],然後在功能表中選取[否])。
  3. 按一下​ 儲存設定

authorize-net_test-mode_setting.png

原因2:不正確的URL

Authorize.net設定可能包含關鍵Authorize.Net資源的不正確URL位址。

解決方案2:提供正確的URL

  • 閘道URL: https://test.authorize.net/gateway/transact.dll
  • 交易詳細資料URL: https://apitest.authorize.net/xml/v1/request.api
  • API參考: https://developer.authorize.net/api/reference/

如果沒有任何幫助:取得偵錯資訊

如果使用Authorize.net下訂單失敗,且出現非資訊性​ 「發生錯誤」 ​錯誤,請檢查Adobe Commerce debug.log

Transact.dll

如果debug.log是空的,請檢查網頁瀏覽器主控台中的​ transact.dll ​回應:

  1. 開啟主控台。
  2. 下訂單前,請移至​ 網路 ​標籤,並選取​ 保留記錄檔 web-console_network_preserve-log.png
  3. 依​ transact.dll ​篩選回應,以檢視可能有錯誤的回應訊息。 transact-dll_web-console_response.png
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a