Coinbase Commerce PHP WebHook:无法建立与远程服务器的连接

Coinbase Commerce PHP WebHook: Failed to establish a connection to the remote server

我正在尝试检查我的 webhook 是否有效,并将实施它。这样我就可以在确认收费时收到通知 (charge:confirmed)

所以我创建了 php 代码来检查我的 webhook,

 public function payment() {
        try {
        $user_agent = $_SERVER['HTTP_USER_AGENT'];
        $signature = hash_hmac('sha256',  $user_agent, '<SharedScreenKeyWebhook>');

        $headerName = 'x-cc-webhook-signature';

        $is_valid = hash_equals($signature, $headerName);
        

        if($is_valid) {
            return $is_valid;
        } else {
            return http_response_code(400);
        }
    } catch (\Exception $exception) {
        http_response_code(400);
        echo 'Error occured. ' . $exception->getMessage();
    }
 }

如果我尝试访问该页面,它会return我这样

状态码:200表示有效

这是我的 webhook 共享密钥的来源

然而,当我使用发送测试在我的终端 coinbase commerce 上测试它时

我收到一个错误。

请注意我的共享密钥已经与我的 coinbase 商业帐户匹配。此外,我决定不对 laravel 框架使用 Coinbase Commerce 包装器。我只想使用典型的 php 代码来实现它

请帮帮我,我能够在我的项目中集成 coinbase commerce,但是,我很难从 coinbase 获得回调来监控支付状态和更新我的数据库。

我能够解决这个问题,

以防万一你在这里。请使用 POST

在您的项目上创建一个 API 端点

方法

X-Cc-Webhook-Signature 相当于你的 Shared API Secret Key

User-Agent 目前我正在使用 weipay-webhooks(根据文档)

并提交您的 json 数据以进行结帐

在我这边,我使用 postman 来测试我的 api 终点。

您的 PHP 代码必须接受 X-Cc-Webhook-Signature,当有人购买时,coinbase commerce 将自动使用您的 webhook link。