public function handleWebhook(Request $request) {
\Stripe\Stripe::setApiKey(env("STRIPE_SK"));
$payload = $request->json;
$sigHeader = $request->header("HTTP_STRIPE_SIGNATURE");
$endpointSecret = env("STRIPE_ENDPOINT_SECRET");
try {
$event = \Stripe\Webhook::constructEvent(
$payload,
$sigHeader,
$endpointSecret
);
} catch (\UnexpectedValueException $e) {
// invalid payload
http_response_code(400);
die;
} catch (\Stripe\Exception\SignatureVerificationException $e) {
// invalid signature
http_response_code(400);
die;
}
我正在使用 Stripe CLI 轉發到我的本地服務器并觸發一個事件。但是,我在上面回傳的代碼中得到了第二個 http_response_code。什么可能導致無效簽名?
uj5u.com熱心網友回復:
你確定有效載荷應該是$request->json?您可能需要$request->getContent()。這是我過去使用的代碼,它對我有用。
try {
$signature = $request->header('Stripe-Signature');
$secret = config('services.stripe.webhook_secret');
Webhook::constructEvent($request->getContent(), $signature, $secret);
} catch (Exception $e) {
//
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/434995.html
上一篇:從資料庫中獲取資料,其中登錄的用戶ID存在于將ID存盤為陣列Laravel8的列中
下一篇:在資料庫中存盤函式
