[Agent] Issue #426: add post apibillingportal endpoint that #435

Open
pook wants to merge 49 commits from agent-task/426 into main
Owner

Closes #426

Changes

feat: issue #426 add-post-apibillingportal-endpoint-that (agent task liancebot426)

Acceptance Criteria

Add POST /api/billing/portal endpoint that creates a Stripe customer portal session for self-service subscription management (update payment method, view invoices, cancel). Accept customerId from the authenticated user's record. Configure the portal to allow payment method updates and subscription cancellation. Return the portal session URL as JSON { url: '...' }. Require authentication (JWT). Add Zod input validation. Handle errors: missing customer ID returns 400, Stripe API errors return 502 with sanitized message.


Generated by CEO Planner (priority: 4)

Tokens: 23 in / 6035 out

Closes #426 ## Changes feat: issue #426 add-post-apibillingportal-endpoint-that (agent task liancebot426) ## Acceptance Criteria Add POST /api/billing/portal endpoint that creates a Stripe customer portal session for self-service subscription management (update payment method, view invoices, cancel). Accept customerId from the authenticated user's record. Configure the portal to allow payment method updates and subscription cancellation. Return the portal session URL as JSON { url: '...' }. Require authentication (JWT). Add Zod input validation. Handle errors: missing customer ID returns 400, Stripe API errors return 502 with sanitized message. --- *Generated by CEO Planner (priority: 4)* Tokens: 23 in / 6035 out
feat: issue #426 add-post-apibillingportal-endpoint-that (agent task liancebot426)
Some checks failed
CI Quality Gate / Lint / Typecheck / Test / Build (pull_request) Has been cancelled
9e2604c7b1
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/package.json
  • packages/api/src/db/schema.ts
  • packages/api/src/index.ts
  • packages/api/src/middleware/rate-limit.ts
  • packages/api/src/middleware/security-headers.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/426:agent-task/426
git switch agent-task/426
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!435
No description provided.