gpt4 book ai didi

php - 在 Laravel 中实现 Gocardless webhook

转载 作者:行者123 更新时间:2023-12-02 03:43:24 25 4
gpt4 key购买 nike

我试图在 laravel 中实现一个 webhook。

我已经创建了访问 token 并创建了 webhook 端点。

我的 webhook 端点就像 https://www.example.com/gocardless.php

我的路线是这样的,

Route::get('/gocardless.php', 
'\App\Http\Controllers\gocardlessController@remote')->name('remote');

Controller 代码如下,

class gocardlessController extends Controller
{


public function remote(Request $request)
{

$token ="token";

$raw_payload = file_get_contents('php://input');

$headers = getallheaders();


$provided_signature = $headers["Webhook-Signature"];
$calculated_signature = hash_hmac("sha256",$raw_payload,$token);
if ($provided_signature == $calculated_signature) {

$payload = json_decode($raw_payload, true);
}
}
}

但是当我在 gocardless 帐户中单击发送测试 webhook 时,他们会得到“405 未找到方法”作为响应。

我该如何解决这个问题?

最佳答案

HTTP 405 error您看到的表明您的 Laravel 应用程序不知道如何处理 method传入的请求。

GoCardless webhooks use the POST method向您发送带有 JSON 正文的请求,但您编写的路由用于处理 GET 请求 (Route::get)。要解决此问题,您应该 define a route用于向将接收 Webhook 的端点发出 POST 请求。

关于php - 在 Laravel 中实现 Gocardless webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47713243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com