Skip to content

Consuming Webhooks

Once Transyt receives and verifies a webhook from a provider, it delivers the event to your application. This section covers everything you need to integrate with Transyt on the consumer side.

Transyt POSTs events directly to your configured delivery_url. This is the simplest approach — your app just needs an HTTP endpoint.

For more control, you can poll the integration_events table directly and claim events for processing. This approach is useful when you need custom retry logic or batch processing.

Complete examples for popular frameworks:

  • Rails — Full integration with ActiveJob
  • Laravel — Full integration with queued jobs
  • Always verify signatures — Use the X-Gateway-Signature header to ensure requests come from Transyt
  • Return 2xx quickly — Process webhooks asynchronously to avoid delivery timeouts (30 seconds)
  • Implement idempotency — Use the event_id to prevent processing the same event twice
  • Handle retries gracefully — Your endpoint may receive the same event multiple times if earlier attempts timed out