E00114 在 Authorize.net 中使用接受 JS 创建带有支付随机数的订阅时无效的 OTS 令牌 [英] E00114 Invalid OTS Token while creating subscription with payment nonce using accept JS in Authorize.net

查看:23
本文介绍了E00114 在 Authorize.net 中使用接受 JS 创建带有支付随机数的订阅时无效的 OTS 令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用accept js 和authorize.net 的C# SDK 构建一个应用程序.在这里,我使用接受 js 令牌通过 authorize.net 进行信用卡付款,并能够成功创建交易和客户资料.但是当我尝试使用客户资料 ID 和付款资料 ID 创建订阅时,我收到了E00040 Record Not Found"错误响应.

I am building an application using accept js and C# SDK of authorize.net. here, i am using accept js token to make a credit card payment over authorize.net and able to create transaction and customer profile successfully. but when i tried to create a subscription with customer profile id and payment profile id, i got "E00040 Record Not Found" error response.

我还尝试在创建交易后使用另一个令牌创建订阅,但收到E00114 Invalid OTS Token"错误响应.

I also tried to create subscription with another token after creating transaction but getting "E00114 Invalid OTS Token" error response.

什么会导致 authorize.net 返回这些错误?

What would cause authorize.net to return an these errors?

期待您的快速回复.

推荐答案

我今天遇到了这个问题,虽然我在后端做 PHP 而不是 C#.我打电话给他们的技术支持,这是我的发现:

I was having this problem today, although I was doing PHP on the backend instead of C#. I called into their tech support and here's what I found:

  • 不幸的是,与他们的沙箱相比,他们的生产端点实际上在服务器资源上非常过载,至少截至 2018 年 8 月是这样.这可能导致这种误导性的Invalid OTS Token 错误,这也可能有几个其他原因.该技术人员向我解释说,如果您在付款表单上有一个生成令牌的提交按钮,然后立即提交交易,那么您应该添加某种睡眠调用(在 PHP 上,即 sleep(5);,例如).我们尝试让它在 4 秒内工作,最少,但只是间歇性的.他告诉我,如果在 4 或 5 秒的睡眠呼叫后失败,请在再等 2 秒后再次尝试该呼叫,然后再放弃并建议客户致电您的呼叫中心或使用其他支持渠道.
  • 在沙箱中,他们不会关心您是否在交易中未使用 cert.pem 文件.在生产中不是这样——你需要确保你已经加载了它.如果您搜索官方 Authorize.Net 文件,则可以从 Github 获取该文件.
  • Their production endpoints are actually pretty overloaded on server resources compared to their sandbox unfortunately, at least as of Aug, 2018. This can lead to this misleading Invalid OTS Token error, which can also have several other causes. The tech explained to me that if you have a submit button on the payment form that generates the token and then immediately submits the transaction, that you should add some kind of sleep call (on PHP, that's sleep(5);, for instance). We tried and got it to work on 4 seconds, minimum, but only intermittently. He told me if it fails after a 4 or 5 second sleep call, to reattempt that call one more time after waiting another 2 seconds, before you give up and recommend the customer call your call center or use your other support channels.
  • In the sandbox, they won't care if you're not using the cert.pem file in your transactions. Not so in production -- you need to ensure you've got that loaded. You can get that file off of Github if you search on the official Authorize.Net files.

这篇关于E00114 在 Authorize.net 中使用接受 JS 创建带有支付随机数的订阅时无效的 OTS 令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆