๐ Customer Dashboard (demo)
๐งช This demo has no real auth wired in โ clicking below will correctly show "not authenticated" (see the comment in
app/api/billing-portal/route.ts). That's the intended fail-closed behavior, not a bug. Wire in your own session lookup to make it work end-to-end.Your Subscription
In a real app, this section shows the current plan, status, and renewal date โ read live from Stripe via getSubscriptionStatus() in lib/vibe-billing.ts. No local database required.
Opens Stripe's own hosted Billing Portal โ change plan, update card, view invoices, and cancel are all handled by Stripe, not custom-built here.