subscription.canceled
A subscription ended after a cancel. Access stops now; a cancel scheduled for the period end fires when the period ends.
X-Zaher-Signature*stringv1=<hex> — HMAC-SHA256 of {timestamp}.{raw body} with your endpoint's signing secret. During a secret rotation, two comma-separated values are sent.
X-Zaher-Timestamp*stringUnix seconds when the request was signed. Reject requests older than 5 minutes.
X-Zaher-Event-Id*stringSame as the body id. Use it to deduplicate retries.
X-Zaher-Event-Type*stringSame as the body type.
application/json- body
id*stringEvent id. The same on every retry — use it to deduplicate.
type*"subscription.canceled"Event type
"subscription.canceled"api_version*stringPayload version pinned on the endpoint
created_at*stringWhen the event happened
store_id*stringThe store the event belongs to
test*booleanTrue for events sent with "Send test event"
data*Acknowledge with any 2xx status within 10 seconds. Anything else is retried.
Example Requests
/subscription.canceledrefund.succeeded Webhook
A refund went through, full or partial. `data.order` is the order after it; `order.refunded` also fires when nothing is left to refund.
subscription.created Webhook
A membership subscription started: its first payment went through or its free trial began. An abandoned checkout sends nothing.