faaren-tech/webhook-receiver

构建以接收webhooks。

1.0.0-rc.3 2022-02-01 08:37 UTC

This package is auto-updated.

Last update: 2024-09-06 18:42:30 UTC


README

开放任务

  1. 添加授权逻辑(例如,用于Stripe)
  2. 自定义表名

Webhook Receiver

此包将被所有接收webhooks的FAAREN服务使用。它提供了一个处理传入webhooks的基本结构。使用此包,您可以简单地定义新的webhooks端点。这些webhooks将被存储在数据库中。通过简单的HandlerInterface,您可以定义每个端点的自定义处理器。
此包还提供基本的CRUD功能,通过Webhook模型与存储的webhooks进行交互。

安装

调用以下命令

composer require faaren-tech/webhook-receiver

此包仅在Laravel 8.x上进行了测试。

配置

通过(从显示的列表中选择WebhookReceiverServiceProvider)发布相关配置文件

php artisan vendor:publish 
  • 您可以单独为webhook端点和crud-routes自定义中间件。
  • 您可以自定义webhook端点和crud-routes的前缀。

创建新的端点

向应用程序添加新端点非常简单。

  1. app/Http/WebhookEndpoints中创建一个新的webhook处理器,例如MyExampleWebhookHandler
  2. 实现FaarenTech\WebhookReceiver\Interfaces\WebhookEndpointHandlerInterface
  3. 将端点添加到您的config/webhook_receiver配置文件中(见下文)
  4. 在您的webhook发送者(例如MailJet、Stripe等)中设置您的新的端点,端点为webhook/endpoints/my-example-endpoint
return [
    // other configuration options
    'endpoints' => [
        'my-example-endpoint' => MyExampleWebhookHandler::class
    ]
];

示例文件

如果您想,您可以查看以下文件

测试

将相关测试套件添加到您的main phpunit.xml中

<testsuites>
    ...
    <testsuite name="FaarenTechWebhookReceiver">
        <directory suffix="Test.php">./vendor/faaren-tech/webhook-receiver</directory>
    </testsuite>
</testsuites>