在 paypal IPN 监听器中使用 HTTPS

Posted

技术标签:

【中文标题】在 paypal IPN 监听器中使用 HTTPS【英文标题】:Using HTTPS in the paypal IPN listener 【发布时间】:2013-09-29 22:46:02 【问题描述】:

我们正在将我们的在线支付系统与 paypal IPN 交易通知后端集成,但在使用沙盒测试时遇到了一个问题:

将侦听器脚本 URL 与 HTTP 一起使用时,它可以正常工作,但在指定安全 URL 时,它会停止工作。在 IPN 历史页面 (https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history) 上,使用安全侦听器进行的所有调用均未显示来自我们服务器的 HTTP 响应(!)。 可以从浏览器直接访问这两个 URL。

我们的猜测是,IPN 调用对安全侦听器不起作用(我们在文档中找不到关于此的字眼)或贝宝沙盒 IPN 服务器不喜欢我们的 IPN 侦听器证书(这是免费的 startssl但有效的证书)。

有没有人发现类似的东西或者可以提供一些建议?

【问题讨论】:

【参考方案1】:

我已经使用 HTTPS 完成了它,所以它确实有效。当然,您必须在 PayPal 注册的 IPN URL 中输入“https”。检查您的 SSL 证书是否由公认的 CA 签署。

【讨论】:

感谢您的回答。现在剩下的问题是执行这些 IPN 调用的 Paypal 沙盒服务器和生产服务器是否识别相同的 CA 集,或者它们是否具有更新的生产 CA...(startSSL 是一个有效的 CA,但确实只有最近的主要浏览器默认情况下已停止抱怨 startSSL 证书)

以上是关于在 paypal IPN 监听器中使用 HTTPS的主要内容,如果未能解决你的问题,请参考以下文章

PayPal IPN 侦听器响应

如何在spring控制器中配置paypal ipn监听器响应

在 PayPal Sandbox 中没有收到对侦听器的 IPN 响应

Paypal:IPN 侦听器未收到 IPN 消息

PayPal IPN 模拟器:IPN 未发送,握手未验证。请查看您的信息

IPN 验证返回 INVALID,因为 PayPal 在 POST 中向 IPN 侦听器发送了不正确的字符集