Stripe signal to runtime state
Runtime state in Licenzy is a propagation model, not a direct mirror of Stripe objects:
- Stripe emits a billing event.
- Licenzy processes it into entitlement state.
- Your backend reads that state through runtime access and entitlement endpoints.
- Licenzy can emit outbound events to propagate the resulting state elsewhere.
Event lifecycle matrix
Use this matrix as the operational map from trigger to runtime consequence. Outbound events listed here describe the typical runtime-facing event family. They are not a claim of global ordering or exactly-once delivery.
What can transition runtime state
- Checkout finalization and expiration.
- Subscription creation, renewal, failure, update, and deletion.
- Refund and dispute lifecycle changes.
- Manual portal grant, revoke, and usage adjustment.
- Runtime usage consumption for active usage-pack entitlements.
These inputs do not all originate from the same place, but they converge on the same runtime entitlement layer.
How consumers read and propagate state
POST /v1/access/checkgives your backend the smallest runtime decision.GET /v1/customer/access/:subject_refgives a richer runtime customer view.GET /v1/entitlements/:subject_refexposes the direct entitlement rows.- Outbound Licenzy webhooks propagate resulting runtime changes to your own systems.
If you are implementing the receiver side of that propagation, continue with outbound webhook delivery contract for retries, duplicate handling, and acknowledgement patterns. If you are debugging why state changed, compare this matrix with refund and dispute lifecycle and manual portal operations.