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

Should I be using webhooks with PayPal's V2 API?

我有一个 Laravel 网站,它使用 PayPal 的 webhooks 在收到付款时收到通知。一切正常,直到我们从以下 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/ then scroll this page to 'Webhooks' it takes you to a V1 API page, https://developer.paypal.com/docs/api/webhooks/v1/

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

相关:

通用 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 的功能存在