Two things live here: your platform subscription (what your portal pays FuzeFront) and reseller billing via Stripe Connect (how you charge your own customers). This surface never touches Stripe secrets — it reads status and hands off to Stripe-hosted onboarding. No vendor secret is ever rendered.
Charge your own customers and get paid out
The plans you sell to your customers
| Plan | Price | Status | Actions |
|---|---|---|---|
| Starter | $29.00 / mo | Live | |
| Team | $99.00 / mo | Live |
What this portal pays the platform
Contract. Your platform subscription binds to the real
@fuzefront/billing-client: GET /api/v1/billing/plans,
GET /api/v1/billing/subscriptions/{id} (BillingSubscription.status),
manage via POST /api/v1/billing/portal. Connect + price book are anticipated
(FF-EPIC-15-S2/S3): onboarding status from connected_accounts
(charges_enabled, payouts_enabled, onboarding_status) —
"Onboarded" requires both flags true; the price book is tenant_plans
(stripe_product_id, stripe_price_id, amount,
currency). Creating a price is fail-closed on charges_enabled=false
(states frame, k). Flag: fuzefront.billing.reseller-connect (default OFF).