Fase 4 — Billing & Admin Panel
Fase 4 — Billing & Admin Panel ✅ Backend ( backend/ ) New files: backend/src/lib/midtrans.ts — Midtrans Snap API helper ( createSnapToken , verifyMidtransSignature ) backend/src/routes/billing.ts — tenant billing routes: GET /billing/subscriptions — per-outlet subscription status GET /billing/invoices — invoice history POST /billing/invoices/:id/snap — creates Midtrans Snap token, records pending payment row POST /billing/midtrans/notify — webhook: verifies signature, marks invoice paid, extends subscription period backend/src/routes/admin.ts — saas_owner -only routes: GET /admin/dashboard — MRR, active/trialing/past_due counts, unpaid invoices GET /admin/tenants — paginated tenant list with subscription summary GET /admin/tenants/:id — tenant detail with outlets, subscriptions, invoices POST /admin/tenants/:id/extend — manual 1-month extension (marks any pending invoice paid) POST /admin/invoices/g...