Setup

Tenant webhook setup

Configure Stripe -> Licenzy inbound delivery by registering Licenzy's tenant webhook destination in Stripe and storing the Stripe inbound webhook signing secret in Licenzy.

Start free in test mode. Go live when you're ready.

Overview
Setup

Follow the sections in order or jump directly to the runtime step you need.

Category: Setup3 sections

Tenant webhook setup is part of setup

Stripe inbound delivery is not an app integration endpoint. It is part of the platform setup that allows Licenzy to turn Stripe billing events into entitlement state.

  • Register Licenzy as the Stripe destination in the Stripe Dashboard for each mode you operate.
  • /v1/webhooks/stripe/tenant is the tenant endpoint Stripe calls.
  • Store the Stripe inbound webhook signing secret in the Licenzy portal after you create the destination in Stripe.
  • Keep webhook mode aligned with the same Stripe credentials, products, and API keys used elsewhere in setup.
  • Your application should not proxy or replay inbound Stripe webhook events.

Required tenant Stripe events

Register the Stripe inbound webhook in the Stripe Dashboard and subscribe it to the full event set Licenzy uses to finalize purchases and update runtime state:

  • checkout.session.completed
  • checkout.session.expired
  • customer.subscription.created
  • customer.subscription.updated
  • customer.subscription.deleted
  • invoice.payment_succeeded
  • invoice.payment_failed
  • charge.refunded
  • charge.dispute.created
  • charge.dispute.closed
  • refund.created
  • refund.updated

Where this fits in the larger architecture

Stripe Dashboard setup tells Stripe where to send the Stripe inbound webhook. The runtime and event architecture docs explain what Licenzy does with those signals after they arrive.