Gocardless реализация Webhook в Laravel

Я тестирую с помощью Webhooks впервые. Я хочу настроить Webhook (используя GoCardless.com).

Я создал токен доступа и конечные точки Webhook в своей учетной записи песочницы.
url-http://test.com/remote_gocardless

Мой маршрут

   Route::post('/remote_gocardless','remotegocardlessController@remote')->name('remote');

Контроллер есть,

namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;

class remotegocardlessController extends Controller
{public function remote()
{

$token ="tunnelnew";

$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);foreach ($payload["events"] as $event) {switch ($event["resource_type"]) {
case "mandates":
process_mandate_events($event);
break;
case "payments":
process_payment_events($event);
break;

case "subscriptions":

process_subscription_events($event);
break;

}
}header("HTTP/1.1 200 OK");
} else {
header("HTTP/1.1 498 Invalid Token");
}}}

ответ в песочнице похож,
500 — внутренняя ошибка сервера.

Есть ли какой-либо другой код, который я должен добавить для реализации webhook в laravel?
Можем ли мы дать URL как http вместо https?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]