puz/laravel-mailgun-webhooks

在Laravel应用程序中处理Mailgun钩子

dev-master 2019-10-24 18:16 UTC

This package is auto-updated.

Last update: 2024-09-25 06:07:07 UTC


README

spatie/laravel-stripe-webhooks的克隆版spatie/laravel-stripe-webhooks

Latest Version on Packagist Total Downloads

使用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)。有关更多信息,请参阅许可证文件