我有一个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 API的V1已贬值。我们最初的想法之一是PayPal可以关闭API的V1。但这最终不是事实。
我假设以上端点是此问题其余部分的V1折旧端点。因为它在URL中包含“ v1”。
为了安全起见,我们认为最好升级以使用V2 API。但是使用PayPal的文档证明,这比预期的要难。要使用webhook,我印象中您需要验证签名。我们正在使用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贬值了,我是否仍应在PayPal中使用webhooks?是替代/更好的解决方案?
通用的PayPal-PHP-SDK已弃用。如果您需要SDK进行付款,请使用Checkout-PHP-SDK(适用于v2 / checkout / orders API)
没有支持Webhooks的SDK,可以直接集成。Webhooks使用v1 URL,没有v2 webhooks。
通常不建议使用v1端点,除非存在较新的版本
尤其不建议使用v1 /付款,因为存在v2 /付款和转移到v2 /结帐/订单的功能
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句