微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我应该将 webhooks 与 PayPal 的 V2 API 一起使用吗?

如何解决我应该将 webhooks 与 PayPal 的 V2 API 一起使用吗?

我有一个 Laravel 网站,它使用 PayPal 的网络钩子在收到付款时收到通知。这一切正常,直到我们从以下 API 端点返回 404 错误

PayPal\Exception\PayPalConnectionException
Got Http response code 404 when accessing https://api.paypal.com/v1/notifications/verify-webhook-signature.

经过一些调查,这个问题自行解决,我认为 PayPal 有问题。在回顾该事件时,它在 PayPal 的网站和存储库上突出显示,PayPal API 的 V1 已贬值。我们最初的想法之一是 PayPal 可以关闭 API 的 V1。但最终情况并非如此。

对于此问题的其余部分,我假设上述端点是 V1 折旧端点。因为它在 URL 中包含“v1”。

为了安全起见,我们认为最好升级以使用 V2 API。但是对于 PayPal 的文档,事实证明这比预期的要困难。要使用 webhooks,我的印象是您需要验证签名。我们使用 https://github.com/paypal/PayPal-PHP-SDK 中的 VerifyWebhookSignature 执行此操作。这也是一个折旧的存储库。

此处的粗略示例(折旧),https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/notifications/ValidateWebhookEvent.php

因此,如果您转到 PayPal 开发人员 API 主页,https://developer.paypal.com/docs/api/overview/ 然后将此页面滚动到“Webhooks”,它会将您带到 V1 API 页面 https://developer.paypal.com/docs/api/webhooks/v1/

所以我的问题是,如果 V1 API 已贬值,我是否仍应将 webhooks 与 PayPal 一起使用?他们的替代/更好的解决方案是什么?

相关:PHP verify Paypal webhook signature

解决方法

通用 PayPal-PHP-SDK 已弃用。如果您需要用于支付的 SDK,请使用 Checkout-PHP-SDK(用于 v2/checkout/orders API)

Webhooks 没有支持的 SDK,直接集成。 Webhooks 使用 v1 URL,没有 v2 webhooks。


通常不会弃用 v1 端点,除非存在更新的版本

特别是 v1/payments 已弃用,因为 v2/payments 和移至 v2/checkout/orders 的功能存在

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。