使用Authorize.net Sandbox帐户下订单时出错(服务器上出现错误)

本文修复了使用Authorize.Net直邮下订单时出现的“服务器”错误信息。

WARNING
弃用通知
由于支付服务指令PSD2和许多API的不断演变,Authorize.Net有过时和将来不再符合安全性的风险。 因此,现已弃用,我们建议您在Adobe Commerce配置中禁用它,并过渡到相应的Commerce Marketplace扩展
此集成已从Adobe Commerce 2.4.0版本中删除,已在2.3的当前版本中弃用。
有关从已弃用的付款集成进行安全过渡的详细信息,请参阅我们的DevBlog

问题

使用Authorize.Net Direct Post沙盒帐户下订单会导致出现错误消息:

​>>
“服务器上发生错误。 请尝试重新下单”

原因1:已启用测试模式

似乎不明显,但即使使用Sandbox帐户进行测试,Authorize.net的​ 测试模式 ​设置也必须设置为​ No

解决方案1:禁用测试模式

  1. 前往​ 商店 > 配置 > 销售 > 付款方式 > 其他付款方式 > Authorize.net直邮
  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为空,请检查Web浏览器控制台中的​ 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