Stripe Like Provider
Stripe-like provider example
This example shows a fictional payment provider that signs requests with an HMAC signature.
Provider
class StripeLikeProvider extends Provider
{
public function eventName(IncomingWebhook $webhook): string
{
return $webhook->payload('type');
}
public function signatureHeader(): string
{
return 'X-Stripe-Like-Signature';
}
}
Handler
class InvoicePaidHandler implements WebhookHandler
{
public function handle(WebhookEvent $event): void
{
$invoiceId = $event->data('invoice.id');
Invoice::whereProviderId($invoiceId)->markAsPaid();
}
}
Event mapping
'events' => [
'payments.invoice.paid' => App\Webhooks\Handlers\InvoicePaidHandler::class,
],