Laravel Cascycle webhook不工作

mgdq6dx1  于 2023-10-22  发布在  其他
关注(0)|答案(2)|浏览(99)

我已经按照Laravel文档添加了Stripe webhook,并在我的Stripe webhook设置中创建了一个端点,但我仍然收到Stripe的电子邮件,说他们不能向webhook提供数据。
下面是我为webhook添加到项目中的代码。
无中间件路由:

Route::post(
    'stripe/webhook',
    '\Laravel\Cashier\Http\Controllers\WebhookController@handleWebhook'
);

在verifyCsfToken.php中:

protected $except = [
    'stripe/*',
];

是我遗漏了什么,还是这是一个常见的问题?

ffdz8vbo

ffdz8vbo1#

官方文件说:
Cascycle会自动处理失败的订阅取消,但如果您想要处理其他Stripe webhook事件,只需扩展Webhook控制器即可。你的方法名应该符合Cascraft的预期约定,具体来说,方法应该以handle和你希望处理的Stripe webhook的“camel case”名称为前缀。例如,如果你想处理invoice.payment_successed webhook,你应该在控制器中添加一个payment_succeeded方法。
我相信你正在尝试处理自定义webhook,这就是它不工作的原因。

jdgnovmf

jdgnovmf2#

除了@Artyom Sokolov的回答,我想说,有两个事件:WebhookReceived和WebhookHandled。
WebhookReceived将立即被触发,而WebhookHandled将在使用您创建的方法处理时被触发(检查Artyom的答案)
您的侦听器可以侦听WebhookReceived事件,但有时可能需要侦听器在收银员完成工作时开始工作。
另外,请检查webhook.events数组的URL/cashier.php文件

相关问题