PHP 中的 PayPal WebHook 验证

问题描述 投票:0回答:2

在这里引用答案:PHP verify Paypal webhook signature

这仍然是今天(22 年 1 月)的有效解决方案吗?好奇为什么它在 github.com/paypal/PayPal-PHP-SDK 上说这个包已被弃用? (并存档)?

paypal paypal-webhooks
2个回答
0
投票

该 SDK 已弃用且不再维护。没有对它的支持。

有两种受支持的方法来验证 webhook,要么将其发回 API 端点,要么自己验证加密消息签名。

这两个文档都不是特定于 PHP 的,但具有适应您自己的任何语言实现的必要信息。


0
投票

这就是我如何使用 PHP 验证从 PayPal 到我的 webhook 的调用:

$success = (
    openssl_verify(
        data: implode(separator: '|', array: [
            $httpPayPalTransmissionId,
            $httpPayPalTransmissionTime,
            $webhookID,
            crc32(string: $rawRequestBody),
        ]),
        signature: base64_decode(string: $httpPayPalTransmissionSignature),
        public_key: openssl_pkey_get_public(public_key: file_get_contents(filename: $httpPayPalCertUrl)),
        algorithm: 'sha256WithRSAEncryption'
    ) === 1
);
© www.soinside.com 2019 - 2024. All rights reserved.