【问题标题】:IPN was not sent, and the handshake was not verified. Please review your information.IPN 未发送,握手未验证。请查看您的信息。
【发布时间】:2015-12-11 17:57:14
【问题描述】:

我正在使用 Paypal 上的 Expresscheckout,用于单次用户付款集成。 工作流程第一次创建令牌和用户重定向到贝宝页面并成功到我的返回 url 页面。 1.设置ExpressCheckout 2.DoExpressCheckoutPayment

我的问题: 1.现在我需要为这个支付系统设置ipn。 2.我的通知网址在模拟器上不起作用。它给出了错误(IPN未发送,握手未验证。请查看您的信息。) https://developer.paypal.com/developer/ipnSimulator/

我需要一些帮助,因为这不是在我这边设置的。 请帮我解决这个问题。

提前谢谢你。

【问题讨论】:

  • 按照testing PayPal IPN这里的步骤,你应该能够找到你的问题。
  • 99% 确定模拟器对我来说只是坏了。继续使用沙盒环境进行测试,一切正常。
  • @kevinWheeler 你是什么意思?您能否详细说明您是如何测试“使用沙盒环境”的?编辑:我想我明白了……这是 www.sandbox.paypal.com 下的全新测试系统
  • 我今天遇到了同样的错误。大多数情况下 ipn-listner 脚本出错了。因此,我检查了错误日志并修复了脚本中的错误,IPN 刺激器上的错误消失了。

标签: paypal paypal-ipn express-checkout


【解决方案1】:

当您的服务器/密钥库配置不符合升级后的 PayPal SSL 加密算法时,最有可能发生握手错误。

IPN 模拟器将连接到 PayPal 沙盒环境,该环境已使用 Versign G5 根证书/SHA-2 加密算法进行了升级(顺便说一句,这是一个行业标准,应该在 2016 年无处不在)。 一旦您的 IPN 主机未能满足合规性要求,SSL 连接将因握手问题而出错。

只需通过针对 PayPal 沙箱端点运行连接脚本来检查您的服务器,如下所示:

openssl s_client -connect api-3t.sandbox.paypal.com:443 -showcerts -CApath /etc/ssl/certs/ 

如果您没有收到Verify return code: 0 (ok),您可能必须按照 PayPal 在此处发布的一般说明检查 cert/SHA-2 兼容性:

2015-2016 SSL Certificate Change Microsite

【讨论】:

  • 我遇到了同样的错误,我正在使用 SH2 加密算法。使用您的 openssl 命令进行测试时,我还得到了 Verify return cod: 0 (ok) 以及许多其他内容。有什么问题?
  • 要查看的两个部分:1-您的脚本是否曾经捕获过 IPN 消息?检查可能会阻止 PayPal 向您的服务器发帖的 Web 服务器访问日志和路由/防火墙设置 / 2-您的脚本在将参数回发到 PayPal 时获得验证响应?将返回 VerifiedInvalid。为了回答您的最后一个问题,POST-Back 是验证(并且仅用于验证)消息的安全方式,或者您可以通过设置自己的身份验证规则来跳过它,例如检查它是否来自 PayPal IP 地址。
  • 在我的例子中,我在我的 url 末尾添加了一个变量,就像 ?tid=701 从 URL 末尾删除后,握手完成并且 ipn 再次开始工作。
  • 我也有同样的问题,但我不知道你们在说什么哈哈@pp_pduan
  • 死链接。 ?如果答案中包含更多信息会很好。
【解决方案2】:

我遇到了同样的问题。测试 IPN 消息的一种解决方法是在您的 Sandbox 业务帐户上实际设置 IPN 通知 URL 并从那里进行测试。

  • 使用您的沙盒业务帐户 (sb-xyz@business.example.com) 登录 https://sandbox.paypal.com
  • 导航到您的帐户设置页面
  • 网站付款
  • 更新即时付款通知
  • 在此处设置您的通知 URL。

确保您的 IPN 侦听器不在防火墙后面,并且可以从外部直接访问。

【讨论】:

    【解决方案3】:

    贝宝的回应:

    “感谢您联系 PayPal 商家技术服务,对于延迟回复您的电子邮件,我深表歉意。

    我们知道我们的 IPN 模拟器存在这个问题,我们的开发团队正在努力解决这个问题。在此问题得到解决之前,我建议您通过在 Sandbox 中付款来运行您的 IPN 测试,因为我们会在每次付款时发送 IPN 请求。

    如果您在付款测试中遇到类似问题,请告诉我们,我们可以查看。

    对于给您带来的不便,我深表歉意。”

    【讨论】:

    • 我的问题是这个错误看起来是真实的,因为脚本也不起作用,但可以在访问日志中看到连接。您正在谈论的这个 IPN 模拟器错误正在淹没搜索结果并使我无法找到修复程序。所有测试、命令行、远程测试站点等都可以正常返回并且正确的 TLS 版本等,因为他们应该这样做,因为该服务器当前托管了 2 个可以正常使用 PayPal 的站点。
    猜你喜欢
    • 2016-09-27
    • 2016-01-27
    • 2017-01-04
    • 2018-05-12
    • 2016-02-11
    • 2017-01-10
    • 2016-03-05
    • 2016-05-27
    • 2017-02-17
    相关资源
    最近更新 更多