无法连接到主机输入服务器 Uri = https://pilot-payflowpro.paypal.com:443

Failed to connect to host Input Server Uri = https://pilot-payflowpro.paypal.com:443

我花了最后一天半的时间研究这个问题无果。我发现了许多类似的问题,但 none 完全解决了我的问题。我正在尝试将 Payflow Pro 与透明重定向集成,但无法成功完成交易。我正在使用带有测试 Payflow Gateway 帐户的测试环境。

我可以通过 post 将以下内容从我的测试服务器发送到 https://pilot-payflowpro.paypal.com 来成功检索安全令牌:

PARTNER=[hidden]&VENDOR=[hidden]&USER=[hidden]&PWD=[hidden]&TRXTYPE=S&TENDER=C&CREATESECURETOKEN=Y&SECURETOKENID=20180916085333999&URLMETHOD=POST&SILENTTRAN=TRUE&AMT=2&BILLTOFIRSTNAME=John&BILLTOLASTNAME=Doe&BILLTOADDRESS=123TestDr.&BILLTOCITY=Testcity&BILLTOSTATE=TN&BILLTOZIP=55511&BILLTOEMAIL=johndoe@test.com&USER1=3&USER2=&USER3=0&USER4=2

我收到以下回复:

RESULT=0&SECURETOKEN=[hidden]&SECURETOKENID=20180916085333999&RESPMSG=Approved

注意:我使用 PayPal Manager 配置了 Return URL,这就是安全令牌请求中不包含 RETURNURL 的原因。但是,我也尝试过指定 RETURNURL ,并且得到了相同的最终结果。

我使用安全令牌请求的结果来创建抄送收集表单。我使用 acct# 5105105105105100 输入测试信用卡详细信息,然后 post 从浏览器直接将以下内容输入 https://pilot-payflowlink.paypal.com:

fund_id=3&ACCT=5105105105105100&CVV2=555&EXPMONTH=01&EXPYEAR=20&EXPDATE=0120&SECURETOKENID=20180916085333581&SECURETOKEN=[hidden]&feeTokenID=20180916085333999&feeToken=[hidden]

响应已正确重定向到托管页面错误 URL 我已在我的 Payflow Manager 服务设置中指定。我的问题是我不明白为什么它使用以下消息重定向到错误 url:

RESPMSG=Failed to connect to host Input Server Uri = https://pilot-payflowpro.paypal.com:443

注意:上面的值只是发送到错误页面的响应的一部分。 return 值的其余部分包括来自我的原始安全令牌请求的信息,我认为只有在与错误消息中的 link 建立成功连接的情况下才能 returned ??

把问题说清楚:

  1. 当我第一次获得安全令牌时,我已经成功地从我的测试服务器连接到错误消息中指定的 link。
  2. 导致错误消息的 post 从浏览器(在本例中,在与我的测试服务器相同的物理盒子上)发送到 https://pilot-payflowlink.paypal.com,这不是 URL在错误信息中指定。
  3. 最后,错误似乎发生在 Payflow 过程中 - 据我了解,在此过程中,此时我的服务器或浏览器不应该调用错误消息中的 link。我特别提到这一点是为了解决我发现的许多搜索结果,这些结果将此特定错误消息与 PayPal 对 TLS1.2 的要求相关联,该要求已在我的服务器上正确配置(为了完整起见,我应该提到,我仍然有 TLS1.0在我的测试服务器上启用,但由于不相关的原因无法禁用它。尽管如此,我还是能够成功连接以获得安全令牌,并且我的服务器通过了 PayPal 自己的 TLS 测试 https://tlstest.paypal.com/)。

我应该提一下,我也曾尝试在我们的生产服务器上完成同样的交易,仍然使用 PayPal 的测试凭据和测试端点,结果完全相同。测试服务器也设置了TLS1.2,启用了TLS1.0,也通过了PayPal的测试。

这个问题可能是让我精神错乱的问题,所以任何帮助都将不胜感激!!

禁用 TLS1.0 已帮助其他人解决此问题。如果您仍然遇到问题,请联系 PayPal 的支持人员

对于可能发现此问题并同样感到沮丧的任何人,我想分享一下我能够通过创建新的 Payflow Gateway 测试帐户来解决问题。

我花了很多时间尝试错误解决方案,但没有成功,PayPal 商家技术服务能够重现该问题,但也无法找到解决方案。最后,在尽可能简化我的测试应用程序(手动填写和提交两个基本 HTML 表单)之后,我得出的结论是我的测试帐户可能有问题。使用新凭据创建新帐户,然后将它们重新插入到我的原始代码中后,一切正常。

截至今天上午,PayPal MTS 正在继续研究该问题,因为其他人也报告了类似的问题。

对于其他有类似问题的人,值得注意的是,我现在能够在 TLS 1.0 保持启用的情况下完成交易。