Authorize.Net 接受托管表单经常无法正确显示
Authorize.Net Accept Hosted Form constantly failing to display correctly
背景:
我目前正在开发 .NET MVC 应用程序并尝试将 Authorize.Net 支付网关与其集成。我已经通过 Nuget 下载了 Authorize.net SDK,以便在我的应用程序中使用。
主要订单信息在我的应用程序中收集,然后用户被重定向到 Authorize.Net 接受托管表单。 (我的客户不想要 任何 信用卡条目 on/from 他们的网站,以便从 AuthNet 中消除 Iframe/.js 解决方案)
问题:
我已经解决了 AuthNet 集成的所有初始问题,现在我正在处理绝对令人沮丧的事情,因为我不得不弄清楚为什么托管表单有时会正确显示(非常罕见),只显示一个"Order Summary" header 在其他情况下显示 "Missing or invalid token" 在其他情况下,大多数情况下根本不会出现。
我可以 post 密码,但这不是密码。我正在使用相同的记录进行测试——以确保我这边的一致性——它们都曾在某一时刻成功发送到 AuthNet 表单并得到正确处理……但这在这一点。
我正在使用 Authorize.Net 提供的 SDK,我已经弄清楚了它的特性,这就是有时会出现该表单的原因。它不可能是我发送的,否则它不会一直有效,而不仅仅是某些时候......
我尝试解决问题的方法
- 将 Authorize.Net 帐户设置为 "Live" 模式
- 降级到 SDK 版本 1.9.6 而不是 2.0.1,因为显然旧版本比新版本更好。
- 确保正确设置了我所有的 HostedPayment* 选项并且值的格式正确。
- 查看了 Authorize.Net 开发者论坛
- 在 Whosebug 上查看
- 在网上搜索
- 把头发都拔了
问题:
有没有其他人运行遇到让接受托管表单持续显示的问题?如果是这样,那么您是如何解决问题以使表单在一致的基础上正确呈现的?我的意思是真正始终如一,不是每 30-40 次尝试一次。
说真的!令人难以置信的沮丧!
好的 - 我查看了我的代码,意识到这不是我的代码,而是我传递给 AuthNet 表单的 refId。 Authnet 允许您将 refId 作为 20 个字符的字符串传递。我的应用为此使用了 GUID,但 GUID 太长无法适应 AuthNet 的限制 space,因此我使用 Ascii85 对其进行了压缩。 "compression" 将字母数字值更改为字母、数字和特殊字符的组合。
我觉得可能是这种情况,但有时即使提交的 refId 包含特殊字符,表单也能正确显示。我决定转向不同的跟踪策略,现在表格一直在出现。毕竟是 refId。
背景:
我目前正在开发 .NET MVC 应用程序并尝试将 Authorize.Net 支付网关与其集成。我已经通过 Nuget 下载了 Authorize.net SDK,以便在我的应用程序中使用。
主要订单信息在我的应用程序中收集,然后用户被重定向到 Authorize.Net 接受托管表单。 (我的客户不想要 任何 信用卡条目 on/from 他们的网站,以便从 AuthNet 中消除 Iframe/.js 解决方案)
问题:
我已经解决了 AuthNet 集成的所有初始问题,现在我正在处理绝对令人沮丧的事情,因为我不得不弄清楚为什么托管表单有时会正确显示(非常罕见),只显示一个"Order Summary" header 在其他情况下显示 "Missing or invalid token" 在其他情况下,大多数情况下根本不会出现。
我可以 post 密码,但这不是密码。我正在使用相同的记录进行测试——以确保我这边的一致性——它们都曾在某一时刻成功发送到 AuthNet 表单并得到正确处理……但这在这一点。
我正在使用 Authorize.Net 提供的 SDK,我已经弄清楚了它的特性,这就是有时会出现该表单的原因。它不可能是我发送的,否则它不会一直有效,而不仅仅是某些时候......
我尝试解决问题的方法
- 将 Authorize.Net 帐户设置为 "Live" 模式
- 降级到 SDK 版本 1.9.6 而不是 2.0.1,因为显然旧版本比新版本更好。
- 确保正确设置了我所有的 HostedPayment* 选项并且值的格式正确。
- 查看了 Authorize.Net 开发者论坛
- 在 Whosebug 上查看
- 在网上搜索
- 把头发都拔了
问题:
有没有其他人运行遇到让接受托管表单持续显示的问题?如果是这样,那么您是如何解决问题以使表单在一致的基础上正确呈现的?我的意思是真正始终如一,不是每 30-40 次尝试一次。
说真的!令人难以置信的沮丧!
好的 - 我查看了我的代码,意识到这不是我的代码,而是我传递给 AuthNet 表单的 refId。 Authnet 允许您将 refId 作为 20 个字符的字符串传递。我的应用为此使用了 GUID,但 GUID 太长无法适应 AuthNet 的限制 space,因此我使用 Ascii85 对其进行了压缩。 "compression" 将字母数字值更改为字母、数字和特殊字符的组合。
我觉得可能是这种情况,但有时即使提交的 refId 包含特殊字符,表单也能正确显示。我决定转向不同的跟踪策略,现在表格一直在出现。毕竟是 refId。