Authorize.Net接受托管表单始终无法正确显示

时间:2019-10-16 01:23:31

标签: authorize.net

背景

我目前正在开发.NET MVC应用程序,并尝试将Authorize.Net付款网关与其集成在一起。我已经通过Nuget下载了Authorize.net SDK,可以在我的应用中使用。

我的应用程序中收集了主要订单信息,然后将用户重定向到Authorize.Net Accept Hosted表单。 (我的客户不希望在他们的网站上输入任何信用卡,这样就可以从AuthNet中删除Iframe / .js解决方案)

问题:

我已经解决了AuthNet集成的所有初始问题,现在我正面临着绝对的挫败感,即必须弄清楚为什么托管表单有时会正确显示(非常稀有),只显示“订单”在其他情况下的“摘要”标头会在其他情况下显示“缺少令牌或无效令牌”,并且在大多数情况下根本不会显示纯文本。

我可以发布代码,但不是代码。我正在使用相同的记录进行测试-以确保最终结果的一致性-并且它们已经全部或全部成功地发送到AuthNet表单并进行了正确的处理...但是,两者之间相距甚远这一点。

我正在使用Authorize.Net提供的SDK,并且我已经弄清了它的特质,这就是为什么有时出现该表单的原因。不能是我要发送的内容,否则它不会一直有效,而不仅仅是某些时间。.

我为解决问题而尝试过的事情

  1. 将Authorize.Net帐户设置为“实时”模式
  2. 降级为SDK版本1.9.6而不是2.0.1,因为显然旧版本比新版本要好。
  3. 确保正确设置了我的所有HostedPayment *选项并正确设置了值的格式。
  4. 检查了Authorize.Net开发人员论坛
  5. 在StackOverflow上进行了检查
  6. 在网上搜索
  7. 拔掉我所有的头发

问题:

是否有其他人遇到问题,无法使“接受托管表单”始终显示?如果是这样,那么您如何解决该问题以使表单在一致的基础上正确呈现?我的意思是非常一致,不是每30-40次尝试一次。

Missing or invalid token

Accept Hosted Form at it's finest!

严重!真令人沮丧!

1 个答案:

答案 0 :(得分:0)

好-我走了我的代码,意识到那不是我的代码,但这是我传递给AuthNet表单的refId。 Authnet允许您将refId传递为20个字符串。我的应用程序为此使用GUID,但是GUID太长而无法容纳AuthNet的有限空间,因此我使用Ascii85对其进行了压缩。这种“压缩”将字母数字值更改为字母,数字和特殊字符的组合。

我感觉可能是这样,但是有时即使提交的refId有特殊字符,表格也正确显示。我决定改用其他跟踪策略,该表格现在不断出现。毕竟是refId。