PayPal + RESTful API + WebHooks + 自签名证书

Posted

技术标签:

【中文标题】PayPal + RESTful API + WebHooks + 自签名证书【英文标题】:PayPal + RESTful API + WebHooks + Self Signed Certificates 【发布时间】:2014-12-25 21:45:17 【问题描述】:

我一直在使用 PayPal 的 REST API,我能够毫无问题地处理销售、退款等。但我遇到了 webhook 的问题。

我在沙盒中配置了一个 webhook,它从不将信息发布到 webhook URL(甚至不尝试根据访问日志)。

由于 wbehooks 需要 https,我想知道将自签名证书与 webhook 一起使用是否存在问题?这是我唯一能想到的防止 PayPal 访问 URL 的方法,除非 PayPal 的沙箱出现故障(我知道,这永远不会发生)。我可以让 IPN 与自签名一起使用,但 iirc SSL 不是 IPN 的要求。

请帮忙...

~Wranorn

【问题讨论】:

【参考方案1】:

嘿,我是 PayPal 的 Avi。自签名证书不应该适用于 webhook,如果你想测试不同的端点,你可以使用 ngrok 之类的东西在本地测试它。否则,了解从 PayPal 收到的付款执行调用的调试 ID 将很有用。目前,Sandbox 上的 webhook 存在一些现有的服务问题,这些问题可能会导致此问题,并且正在积极解决这些问题。

【讨论】:

不幸的是,这是我的问题的一部分。我的服务器上或沙盒中都没有调试信息来准确排除问题可能是什么。就调试而言,我是否只是在 PayPal 方面遗漏了一些东西? 您想收到来自developer.paypal.com/docs/integration/direct/… 的哪些特定事件的通知?例如如果您正在尝试获取 PAYMENT.AUTHORIZATION.CREATED 的通知,则调试它的方法是提供在执行execute on the approved PayPal payment 后在响应标头中发回的 PayPal-Debug-Id。目前,Webhook 支持仅适用于 PayPal 付款。 PayPal 付款意味着使用最终用户的重定向 URL,以便他们登录到 paypal 系统(我假设)。在这种情况下,我将不得不依赖 IPN。谢谢!只需要知道该往哪个方向走。 ngrok 是我发现使用 localhost 测试 webhook 的唯一方法。

以上是关于PayPal + RESTful API + WebHooks + 自签名证书的主要内容,如果未能解决你的问题,请参考以下文章

RESTful Paypal API WebHooks Simulator 不适用于 Laravel

Paypal RESTful API - 买家没有足够资金时的响应验证

用于 PayPal RESTful API 的 PHP SDK 上线错误

Paypal restful apis canada,无法在 developer.paypal.com 上创建应用

带有 eCheck 的 PHP RestFul API

Spring Boot中使用Swagger2构建强大的RESTful API文档