axel / subscription-webhooks
处理Appstore和Android订阅webhooks/通知
v0.1.2-alpha
2024-02-22 12:43 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- bensampo/laravel-enum: *
- illuminate/support: ^5.5|^6.0|^7.0|^8.0|^10.0
This package is auto-updated.
Last update: 2024-09-22 14:35:22 UTC
README
安装
您可以通过composer安装此包
composer require axel/subscription-webhooks
服务提供者将自动注册。使用以下命令发布配置和迁移文件:
php artisan vendor:publish
这是将要发布的配置。
return [ 'jobs' => [ 'apple'=>[ // 'initial_buy' => \App\Jobs\AppstoreNotifications\HandleInitialBuy::class, ], 'android'=>[ // 'initial_buy' => \App\Jobs\AppstoreNotifications\HandleInitialBuy::class, ] ], ];
您应该运行迁移命令以创建订阅通知表
php artisan migrate
此包注册了Appstore和Android通知的POST路由到该包的WebhooksController
用法
当订阅之一发生变化时,Apple会将POST请求发送到配置的端点。
如果为正确的通知类型配置了正确的作业,此包将发送200响应,否则它将发送500响应回Apple。Apple将重试几次。传入的有效负载存储在apple_notifications表中。
通过作业处理传入的通知
您应该从BaseJob扩展AnyJobFile
<?php namespace App\Jobs\AppstoreNotifications; use Axel\SubscriptionWebhooks\Jobs\BaseJob; class AnyJobFile extends BaseJob { public function handle() { // Do something that matches your business logic with $this->payload } }
安全
如果您发现任何安全相关的问题,请发送电子邮件至satybaldiev@gmail.com
鸣谢
非常感谢App Vise laravel-appstore-notifications,它为本包提供了巨大的灵感和起点。甚至README文件都是从他们那里复制的
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。