Skip to content

Billing UI: Stripe integration + plan caps in Settings → Usage #131

@jiashuoz

Description

@jiashuoz

Background

The redesigned Settings → Usage shows raw counters (inbound·30d, outbound·30d, pending·30d, success rate) without any plan context — no caps, no $$ figure, no upgrade CTA. The Stripe integration exists on the backend (internal/billing) but is not surfaced in the new dashboard.

Scope

  • Surface the user's current plan, period, and remaining quota in Settings → Usage.
  • Add an Upgrade / Manage plan CTA that links to the Stripe customer portal.
  • Render quota bars (used / cap) alongside the raw counters.
  • Webhook events (invoice.paid, customer.subscription.updated) reflect in the UI without a page reload.
  • Free tier vs. paid tier degradation: clear messaging when caps are hit.

Effort

L (UI is straightforward, but the contract with internal/billing needs careful design — particularly around mid-period plan changes and prorations).

Recommendation

Add when go-to-market is ready. Until then, no UI work needed — the raw counters do degrade gracefully.

Source

BACKEND_TODO.md #10 (deferred bucket).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions