bencoderus/laravel-webhook

该软件包允许客户端/企业向其用户发送webhook。

1.1 2021-03-24 13:45 UTC

This package is auto-updated.

Last update: 2024-09-27 20:40:54 UTC


README

Laravel webhook preview

Laravel Webhook

Latest Stable Version License Scrutinizer Code Quality Build Status

Laravel webhook使企业能够轻松地向其商家/客户发送webhook。此软件包还引入了一个新的Artisan命令来生成webhook类。

需求

  • Composer v1.0/2.0
  • PHP (7.3及以上)
  • Laravel (6及以上).

安装

您可以通过composer安装此软件包

composer require bencoderus/laravel-webhook

设置

发布基本组件。(迁移和配置文件)

php artisan webhook:install

运行迁移

php artisan migrate

基本用法

创建一个新的webhook类

php artisan make:webhook PaymentWebhook

在App\Http\Webhooks中创建一个新的webhook类

您可以将webhook负载格式化为一个资源。

public function data(): array
    {
        return [
            'status' => $this->status,
            'amount' => $this->amount,
            'currency' => 'USD',
        ];
    }

发送webhook。
$transaction = Transaction::first();

$webhook = new PaymentWebhook($transaction);
$webhook->url('https://httpbin.com')->send();

使用加密签名发送

$transaction = Transaction::first();

$webhook = new PaymentWebhook($transaction);
$webhook->url('https://httpbin.com')
        ->withSignature('x-key', 'value_to_hash')
        ->send();

默认的哈希算法是sha512,您可以通过将不同的哈希算法作为withSignature方法的第三个参数传递来更改它。PHP目前支持超过50种哈希算法。

不使用队列发送webhook。
默认情况下,所有webhook都使用队列分发以方便在失败后重试webhook。您也可以通过将false传递给send方法来不使用队列发送webhook。

$transaction = Transaction::first();

$webhook = new PaymentWebhook($transaction);
$webhook->url('https://httpbin.com')->send(false);

测试

composer test

配置

  • 您可以通过config/webhook.php启用或禁用通过webhook发送。
  • 您还可以通过config/webhook.php和更多设置启用或禁用webhook的日志记录。

更新日志

有关最近更改的更多信息,请参阅更新日志

贡献

有关详细信息,请参阅贡献指南

安全性

如果您发现任何与安全相关的问题,请通过电子邮件me@biduwe.com联系,而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件