faaren-tech / webhook-receiver
构建以接收webhooks。
1.0.0-rc.3
2022-02-01 08:37 UTC
Requires
- phpunit/phpunit: ^9.5
Requires (Dev)
- orchestra/testbench: ^6.24
This package is auto-updated.
Last update: 2024-09-06 18:42:30 UTC
README
开放任务
- 添加授权逻辑(例如,用于Stripe)
- 自定义表名
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的前缀。
创建新的端点
向应用程序添加新端点非常简单。
- 在
app/Http/WebhookEndpoints
中创建一个新的webhook处理器,例如MyExampleWebhookHandler
- 实现
FaarenTech\WebhookReceiver\Interfaces\WebhookEndpointHandlerInterface
- 将端点添加到您的
config/webhook_receiver
配置文件中(见下文) - 在您的webhook发送者(例如MailJet、Stripe等)中设置您的新的端点,端点为
webhook/endpoints/my-example-endpoint
return [ // other configuration options 'endpoints' => [ 'my-example-endpoint' => MyExampleWebhookHandler::class ] ];
示例文件
如果您想,您可以查看以下文件
- ExampleRequests:一些简单的示例。可以直接从您喜欢的IDE(PhpStorm)中执行
- ExampleHandler:一个示例实现
测试
将相关测试套件添加到您的main phpunit.xml中
<testsuites> ... <testsuite name="FaarenTechWebhookReceiver"> <directory suffix="Test.php">./vendor/faaren-tech/webhook-receiver</directory> </testsuite> </testsuites>