E-sign usage metering + consumer self-serve checkout

FeatureBillingService
Shipped
June 10, 2026 at 4:24 AM UTC
Author
Kamo
Commit
bc82e78

#4 metering: - EsignMeterSubmissionService (@Scheduled daily): aggregates API-origin EsignUsageRecords per org+period; first 40/period included, the rest submitted as Stripe MeterEvents. Idempotent via reportedToStripe + the usage-record UID as the MeterEvent identifier (Stripe-side dedupe). Resolves the meter event name from the addon's actual Stripe price **************** so it matches whatever meter the price is bound to (fixes the naming mismatch). #5 consumer checkout: - ConsumerCheckoutService: Stripe Checkout Session (mode=subscription) against the product root's plan price (+ metered overage line for Business); records the AccountSubscription (source PAID) + SubscriptionMember + AccountLicense on completion and invalidates entitlements. - ConsumerSessionResolver: authenticates the buyer by their own *** cookie via Redis (never a client-set org header). - ConsumerCheckoutController POST **************** - StripeWebhookService now handles checkout.session.completed. Additive/inert until a consumer subscribes; the live charge needs a real card.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing