Authdog

Billing

Last updated Aug 13, 2026
View as Markdown

Billing is where you define the plans your application sells: "Manage plans, features, and subscriptions." It is not your Authdog invoice — that is set per organization. This module lets Authdog issue tokens that carry a user's entitlements, so your app can gate features without maintaining its own subscription store.

Billing plans

Prerequisite: connect Stripe

The page states the dependency up front: plans are billed through the Stripe connection configured under Authentication → Add-ons → Stripe. Connect Stripe there first — see Authentication > Add-ons.

That single connection does three things: it charges the subscriptions defined here, it syncs seat counts for per-seat billing, and it lets Authdog stamp entitlements into access tokens.

Plans

?tab=plans — the plan catalog. Click "New plan" to create one. Empty environments read "No plans yet. Create one to start billing."

A plan carries:

  • A name and identifier your app can reference
  • Its Stripe price mapping
  • The features (entitlements) it grants

Features are the part your application code cares about. Once a user is subscribed, their entitlements are available from the session, so a feature check is a local read rather than a round trip to Stripe.

Checkout

Authdog ships embedded Stripe Elements checkout components in the React elements package, plus REST endpoints on the identity service, so the subscribe flow can live inside your own UI. See Billing for the client-side integration.

Scope

Plans are defined per environment, so a dev environment can carry test-mode prices while prod carries live ones — the same separation Stripe itself uses for test and live keys.

Subscriptions in the current version are user-level: a subscription belongs to an individual user rather than to an organization.

Read To learn how to
Authentication Connect Stripe under Add-ons
Organizations Where your own Authdog subscription tier lives
Users See which users hold a subscription
Billing Build the checkout and entitlement checks in your app
JWT claims Read entitlements from the access token

Learn more