Prerequisites
Start here before wiring your first request.
- A Stripe account with at least one product price.
- A backend that can keep Licenzy API keys private.
- A stable customer or workspace ID.
- A webhook endpoint that can verify Stripe signatures.
Start in test mode, create a product, open Stripe checkout, and verify access from your backend. Licenzy handles the runtime billing flow on top of Stripe, so you do not have to rebuild subscriptions, credits, and access logic yourself.
Start free in test mode. Go live only when you're ready for real payments.
For setup details, see Stripe setup and checkout session. If you are comparing rollout timing, the pricing page explains when to move from test mode to production.
const response = await fetch("https://api.licenzy.app/v1/access/check", {
method: "POST",
headers: {
Authorization: "Bearer lz_test_***",
"Content-Type": "application/json",
},
body: JSON.stringify({
subject_ref: "user_123",
}),
});
const result = await response.json();
// { subject_ref: "user_123", allowed: true }The full loop should stay visible to the team. This is the shortest version that still explains how the system behaves in production.
Save test Stripe credentials and webhook secret in the portal.
Create Licenzy products that point at Stripe price IDs.
Create the session with `POST /v1/checkout/session` and redirect to `checkout_url`.
Stripe calls Licenzy directly and entitlements are updated there.
Call `POST /v1/access/check` and optionally `POST /v1/usage/consume`.
Start here before wiring your first request.
Prove the test-mode loop end to end before thinking about live mode.
Quickstart is the shortest path to a working first flow. The full docs cover Stripe setup, product mapping, checkout context, webhooks and usage metering.