axel/subscription-webhooks

处理Appstore和Android订阅webhooks/通知

v0.1.2-alpha 2024-02-22 12:43 UTC

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)。请参阅许可证文件以获取更多信息。