[Agent] Issue #634: businesses need to manage their own subs #636

Open
pook wants to merge 61 commits from agent-task/634 into main
Owner

Closes #634

Changes

feat: issue #634 businesses-need-to-manage-their-own-subs (agent task liancebot634)

Acceptance Criteria

Businesses need to manage their own subscriptions. Add a POST /api/billing/portal endpoint that creates a Stripe Customer Portal session.

Implementation:

  1. Add route POST /api/billing/portal (requires authMiddleware)
  2. Look up user's stripe_customer_id from database
  3. Call stripe.billingPortal.sessions.create({ customer, return_url })
  4. Return { url: session.url } to frontend
  5. Add integration test with mocked Stripe

Acceptance: Authenticated users get a portal URL, unauthenticated get 401. Test passes. This unblocks self-service billing.


Generated by CEO Planner (priority: 3)

Tokens: 22 in / 8011 out

Closes #634 ## Changes feat: issue #634 businesses-need-to-manage-their-own-subs (agent task liancebot634) ## Acceptance Criteria Businesses need to manage their own subscriptions. Add a POST /api/billing/portal endpoint that creates a Stripe Customer Portal session. Implementation: 1. Add route POST /api/billing/portal (requires authMiddleware) 2. Look up user's stripe_customer_id from database 3. Call stripe.billingPortal.sessions.create({ customer, return_url }) 4. Return { url: session.url } to frontend 5. Add integration test with mocked Stripe Acceptance: Authenticated users get a portal URL, unauthenticated get 401. Test passes. This unblocks self-service billing. --- *Generated by CEO Planner (priority: 3)* Tokens: 22 in / 8011 out
feat: issue #634 businesses-need-to-manage-their-own-subs (agent task liancebot634)
Some checks failed
CI Quality Gate / Lint / Typecheck / Test / Build (pull_request) Has been cancelled
f7c8e8b35c
Some checks failed
CI Quality Gate / Lint / Typecheck / Test / Build (pull_request) Has been cancelled
This pull request has changes conflicting with the target branch.
  • .forgejo/workflows/ci.yml
  • bun.lock
  • package.json
  • packages/api/src/db/schema.ts
  • packages/api/src/index.ts
  • packages/api/src/middleware/csrf.ts
  • packages/api/src/middleware/rate-limit.ts
  • packages/api/src/middleware/security-headers.ts
  • packages/api/src/routes/admin.ts
  • packages/api/src/routes/billing.ts
  • packages/api/src/routes/generate-tos.ts
  • packages/api/src/routes/generate.ts
  • packages/api/src/routes/health.ts
  • packages/api/src/routes/questionnaire.ts
  • packages/api/src/services/document-generator.ts
  • packages/api/src/services/llm.ts
  • packages/api/src/templates/index.ts
  • packages/api/tsconfig.json
  • packages/shared/src/types.ts
  • packages/web/src/app/questionnaire/page.tsx
  • packages/web/src/components/documents/DocumentList.tsx
  • packages/web/src/components/questionnaire/ReviewStep.tsx
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin agent-task/634:agent-task/634
git switch agent-task/634
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pook/compliancebot!636
No description provided.