Skip to main content
DocumentationWebhooks overview
Webhooks

Webhooks overview

Send important Aly events to your systems the moment orders, checkouts, products, or memberships change.

Event push from Aly to your HTTPS endpoint — HMAC signing, retries, audit log, replay.

Webhooks push events from Aly to your HTTPS endpoint as they happen — orders created, fulfilled, refunded; checkout sessions completed; subscriptions started or cancelled. Each delivery is signed and logged; failures retry with exponential backoff.

At a glance

TransportHTTPS POST, JSON body.
SigningHMAC-SHA256 with your endpoint secret, in X-Aly-Signature.
RetriesExponential backoff over ~72 hours on any non-2xx.
OrderingBest-effort, not guaranteed. Dedupe and reconcile on receive.
Register viaDashboard, REST /merchant/webhooks, MCP webhooks.endpoints.create, or CLI.

Anatomy of a delivery

http
POST /aly/webhooks HTTP/1.1Host: my-app.exampleContent-Type: application/jsonX-Aly-Delivery-Id: del_3f...X-Aly-Event-Id: evt_8a1...X-Aly-Event-Type: order.fulfilledX-Aly-Timestamp: 1748112900X-Aly-Signature: t=1748112900,v1=4f3c... {  "id": "evt_8a1...e7c",  "type": "order.fulfilled",  "created_at": "2026-05-19T08:35:14.000Z",  "site_slug": "acme",  "data": { ... }}

What you implement

  1. Verify X-Aly-Signature with the endpoint secret. See HMAC signature verification.
  2. Acknowledge with a 2xx within 5 seconds. Slow handlers are retried.
  3. Dedupe on event.id — replays and retries reuse the same id.
  4. Process. Failures should return non-2xx so Aly retries.
Acknowledge fast, process slow
Spend your 5 seconds verifying + enqueueing, not processing. Drop the event onto a queue or background job and return 200 immediately. Long-running work blocks Aly's retry loop and burns timeouts.

Next steps

Updated

Was this page helpful?