Webhook events
This page is the catalogue of webhook events Storlaunch's outbox emits to your registered webhook endpoints. One page per event type, each documenting the trigger, the payload, handler examples, and the common pitfalls.
For the wire format (envelope, signature verification, retry policy, ordering guarantees), see Webhooks. For programmatic endpoint management, see Webhook endpoints.
Catalogue
Catalogue (Storlaunch-emitted)
These fire from Storlaunch's outbox at the moment of the related state change.
| Event type | What it means |
|---|---|
storlaunch.product.created.v1 |
A product was created. |
storlaunch.product.updated.v1 |
A product was updated. |
storlaunch.product.archived.v1 |
A product was archived (soft-deleted). |
storlaunch.variant.created.v1 |
A variant was added to a product. |
storlaunch.variant.updated.v1 |
A variant was updated. |
storlaunch.variant.archived.v1 |
A variant was archived. |
product.purchased |
A buyer completed a purchase and a delivery was created. |
checkout.completed |
A checkout session transitioned to completed. |
Subscription lifecycle
These fire from the subscription billing engine.
| Event type | What it means |
|---|---|
subscription.created |
A new subscription was created. |
subscription.canceled |
A subscription was cancelled (immediate or end-of-period). |
subscription.renewed |
A renewal charge succeeded. |
subscription.payment_succeeded |
Any successful charge against the subscription. |
subscription.payment_failed |
A charge attempt failed. |
subscription.past_due |
A subscription moved to past_due. |
Not emitted today
Several events are referenced in resource pages and Plugipay's broader catalogue but Storlaunch's outbox does not currently fire them. Each is flagged on its parent resource page with a callout-warn. Subscribe defensively if you'd like consistent handling when they ship:
inventory.low_stock— planned to fire when a variant drops belowlowStockThreshold.manual_order.placed/manual_order.payment_confirmed/manual_order.shipped— planned push events for manual orders.subscription.trial_will_end— emitted by Plugipay when the module is on; not mirrored in legacy mode.customer.created/customer.updated/customer.deleted— emitted in Plugipay mode; not in legacy mode.plan.created/plan.updated/plan.archived— not re-fired by Storlaunch even in Plugipay mode.invoice.created/invoice.finalized/invoice.paid/invoice.payment_failed/invoice.void— emitted by Plugipay's outbox when the module is on; not mirrored by Storlaunch.payout.initiated/payout.paid/payout.failed— emitted by Plugipay when the module is on.webhook_endpoint.disabled— the cross-endpoint notification when auto-disable fires.refund.created/refund.succeeded/refund.failed— emitted by Plugipay when the module is on.
If your integration depends on any of these, contact support@storlaunch.forjio.com and we'll bump them up the queue.
Envelope (refresher)
Every event POSTed to your endpoint looks like this:
{
"id": "evt_01HX...",
"type": "checkout.completed",
"createdAt": "2026-05-13T10:42:00Z",
"accountId": "acc_01HX...",
"data": { /* event-type-specific payload */ }
}
Headers:
Content-Type: application/jsonX-Storlaunch-Signature: t=<unix>,v1=<hmac>X-Storlaunch-Event-Id: evt_01HX...(handy for dedup)X-Storlaunch-Delivery-Id: del_01HX...(per-attempt; differs across retries of the same event)
See Webhooks for verification and retry detail.
Next
- Webhooks — the wire reference.
- Webhook endpoints — manage destinations.
checkout.completed— usually the first event you wire.