puz / laravel-mailgun-webhooks
在Laravel应用程序中处理Mailgun钩子
Requires
- php: ^7.2
- illuminate/support: ^6.0
- spatie/laravel-webhook-client: ^2.2
Requires (Dev)
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2024-09-25 06:07:07 UTC
README
spatie/laravel-stripe-webhooks的克隆版spatie/laravel-stripe-webhooks
使用webhook通知您的应用程序事件。此包可以帮助您处理这些webhook。默认情况下,它将验证所有传入请求的Mailgun签名。所有有效调用都将记录到数据库中。您可以轻松定义当特定事件触达您的应用时应分发的作业或事件。
此包不会处理webhook请求验证后应执行的操作以及调用了正确的作业或事件。您仍然需要自己编写任何工作代码。
安装
您可以通过composer安装此包
composer require puz/laravel-mailgun-webhooks
服务提供程序将自动注册自己。
您必须使用以下命令发布配置文件
php artisan vendor:publish --provider="Puz\MailgunWebhooks\MailgunWebhooksServiceProvider" --tag="config"
在配置文件的webhook_secret键中,您应该添加一个有效的webhook密钥。您可以在Mailgun仪表板上的API安全设置中找到使用的密钥。
接下来,您必须使用以下命令发布迁移
php artisan vendor:publish --provider="Spatie\WebhookClient\WebhookClientServiceProvider" --tag="migrations"
迁移发布后,您可以通过运行迁移来创建webhook_calls表
php artisan migrate
最后,注意路由:在您的Mailgun账户的每个域上,您必须将回调URL作为webhook添加到您想监听的所有事件。在您的应用的路由文件中,您必须将此路由传递给Route::mailgunWebhooks
Route::mailgunWebhooks('webhook-route-configured-in-mailgun');
幕后,这将注册一个由此包提供的控制器的POST路由。因为Mailgun没有获取csrf-token的方法,所以您必须将此路由添加到VerifyCsrfToken中间件的except数组中
protected $except = [ 'webhook-route-configured-in-mailgun', ];
用法
此包是spatie/laravel-stripe-webhooks的完整副本spatie/laravel-stripe-webhooks,您可以在那里了解更多关于它的工作原理。那里有一些很好的代码片段,展示了如何使用它
测试
composer test
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。