feat(plan): tenant self-service billing wired to the (mock) provider #5

Open
jules wants to merge 1 commits from feat/plan-self-service-billing into main
Owner

Wires arcadia-admin /plan (was a placeholder) to /api/v1/billing/*, making the mock provider usable through the product end-to-end: current plan + status + renewal, plan picker (checkout redirect), manage-billing/cancel, invoices, AUD/GST formatting. Provider-agnostic (mock today, real PSP later). Requires arcadia-core PR #18 (GET /billing/plans).

Wires arcadia-admin /plan (was a placeholder) to /api/v1/billing/*, making the mock provider usable through the product end-to-end: current plan + status + renewal, plan picker (checkout redirect), manage-billing/cancel, invoices, AUD/GST formatting. Provider-agnostic (mock today, real PSP later). Requires arcadia-core PR #18 (GET /billing/plans).
jules added 1 commit 2026-06-21 03:27:06 +00:00
Replaces the /plan placeholder with a full self-service surface bound to
/api/v1/billing/* on arcadia-core:
- current plan + status + renewal date + manage-billing/cancel actions
- plan picker -> POST /billing/checkout -> redirect to the hosted (mock)
  checkout URL -> return reflects the new plan
- invoices table; AUD/GST-aware price formatting

New app/lib/arcadia/billing.ts domain module (mirrors api-keys.ts). The payment
provider is resolved server-side, so this works with the mock today and a real
PSP later with no UI change. Pairs with arcadia-core GET /billing/plans (PR #18).
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/plan-self-service-billing:feat/plan-self-service-billing
git checkout feat/plan-self-service-billing
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: CremaUIStudio/arcadia-admin#5
No description provided.