Billing & Subscriptions

experimental

Recurring plans and subscription state on top of Stripe: a complete status state machine, idempotent webhook application, plan changes, metered usage, and dunning hooks.

Billing & Subscriptions is source-visible, contract-first code — your agent reads the whole interface before it composes, never a black box.

Every hook has typed I/O and required tests, and the composition is pinned in microservices.lock.json — what you inspect here is exactly what pnpm microservices check verifies and deploys.

Typed hooks

Extension points with typed input/output and required tests — customize behavior without forking the module.

  • beforeSubscriptionChange
  • onSubscriptionActivated
  • onSubscriptionPastDue

Events emitted

A stable, documented event surface other modules can subscribe to.

  • subscription.started
  • subscription.activated
  • subscription.past_due
  • subscription.canceled
  • subscription.plan_changed

Permissions

Scoped capabilities the module declares; the gateway enforces them at the boundary.

  • billing.read
  • billing.write
  • billing.admin

Experimental listing. Generated from the canonical module manifest via `registry build`.