The simplest way to start sending webhooks in PHP.

0.0.2 2023-03-19 19:33 UTC

This package is auto-updated.

Last update: 2024-05-28 21:03:20 UTC


Latest Version Software License Run Tests PHP Version Total Downloads

The simplest way to start sending webhooks in PHP.


You can install this library using composer:

composer require juststeveking/webhooks

The next step is to install a OSR compliant package to do the request itself, you will need:

  • PSR 7 Request Library
  • PSR17 Request and Stream Factories
  • PSR18 Http Client

This package will auto-discover these packages you have installed for you, so you not need to wire anything up.


This package is super simple to get started with, all you need to do is build one class and you can start sending webhooks.

use JustSteveKing\Webhooks\Webhook;

class YourWebhook extends Webhook
    public function headers(): array
        $signature = hash_hmac(
            algo: 'sha256',
            data: \Safe\json_encode(
                value: $this->buildPayload(),
                flags: JSON_THROW_ON_ERROR,
            key: 'Your signing key goes here',

        return [
            'Content-Type' => 'application/json',
            'Signature' => $signature,

    public function buildPayload(): array
        return [
            'foo' => 'bar',

    public function url(): string
        return 'Your URL goes here.';

    public function method(): Method
        return Method::POST;

    public function plugins(): array
        return [];

The HTTP Client used for sending your HTTP requests supports plugins, you can see how these work here.


There is a composer script available to run the tests:

composer test

However, if you are unable to run this please use the following command:



If you discover any security related issues, please email juststevemcd@gmail.com instead of using the issue tracker.