PHP SDK
philiprehberger/php-webhook-relay-client
Generated client + hand-written signature verifier. View source on GitHub.
Install
shell
composer require philiprehberger/php-webhook-relay-clientSend an event
php
use PhilipRehberger\WebhookRelayClient\WebhookRelayClient;
$relay = new WebhookRelayClient(getenv('WEBHOOK_RELAY_KEY'));
$event = $relay->ingest(
type: 'order.created',
payload: ['order_id' => 42],
idempotencyKey: 'order-42-created',
);
print $event['id'].PHP_EOL;Verify on the receiver
php
use PhilipRehberger\WebhookRelayClient\Signer;
$body = file_get_contents('php://input'); // raw bytes — DO NOT json_decode + re-encode
$header = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';
if (! Signer::verify(getenv('WEBHOOK_SECRET'), $body, $header)) {
http_response_code(400);
exit('Bad signature');
}