我使用 spatie/laravel-stripe-webhook 来处理从 stripe 发送的 webhook。我使用 stripe CLI 通过以下命令进行测试:
stripe listen --events checkout.session.completed --forward-to localhost:8000/api/webhook/checkout
一切顺利,我的控制台中有这样的回应:
> Ready! Your webhook signing secret is whsec_mSz72pLPb4B******rfvvYajj641iqZ7 (^C to quit)
2020-06-10 14:12:07 --> \checkout.session.completed\ [\evt_1GsSmjLG****Fak7OpFNC8c2\]
2020-06-10 14:12:07 <-- [200] POST http://localhost:8000/api/webhook/checkout [\evt_1GsSmj*****OFak7OpFNC8c2\]
但是...什么也没发生...我的 laravel.log 中没有任何错误...
我关注了 github Spatie 中的所有自述文件,然后我这样做了:
路线/api.php :
Route::stripeWebhooks('webhook/checkout');
应用程序/提供商/EventServiceProvider.php :
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
'stripe-webhooks::checkout.session.completed' => [
App\Listeners\HandleSubscriptions::class
]
];
我必须禁用:
Parent::boot();
因为如果启用这个,我会抛出异常:
[object] (ReflectionException(code: -1): Class App\\Providers\\App\\Listeners\\HandleSubscriptions does not exist at /var/www/private/bnb-v2/bnb-back/vendor/laravel/framework/src/Illuminate/Container/Container.php:803)
而且我无法处理 stripeWebhook。
饮歌长啸
烙印99