Replace stale #267 — add POST /api/billing/checkout creating Stripe session with priceId #307

Closed
opened 2026-04-10 06:14:53 -04:00 by pook · 4 comments
Owner

Issue #267 has been stale 7h. Minimal billing checkout endpoint.

Implementation:

  1. Add route POST /api/billing/checkout accepting { priceId: string }
  2. Validate priceId with Zod (non-empty string)
  3. Call stripe.checkout.sessions.create({ mode: 'subscription', line_items: [{ price: priceId, quantity: 1 }], success_url: '${BASE_URL}/billing/success', cancel_url: '${BASE_URL}/billing/cancel' })
  4. Return { url: session.url }
  5. Handle Stripe errors with 500 and structured error response
  6. Test: mocked Stripe returns session URL, invalid priceId returns 400

Acceptance criteria:

  • POST /api/billing/checkout returns Stripe checkout URL
  • Zod rejects empty priceId
  • Integration test passes

Close stale #267 after completion.


Generated by CEO Planner (priority: 3)

Issue #267 has been stale 7h. Minimal billing checkout endpoint. **Implementation:** 1. Add route `POST /api/billing/checkout` accepting `{ priceId: string }` 2. Validate priceId with Zod (non-empty string) 3. Call `stripe.checkout.sessions.create({ mode: 'subscription', line_items: [{ price: priceId, quantity: 1 }], success_url: '${BASE_URL}/billing/success', cancel_url: '${BASE_URL}/billing/cancel' })` 4. Return `{ url: session.url }` 5. Handle Stripe errors with 500 and structured error response 6. Test: mocked Stripe returns session URL, invalid priceId returns 400 **Acceptance criteria:** - POST /api/billing/checkout returns Stripe checkout URL - Zod rejects empty priceId - Integration test passes Close stale #267 after completion. --- *Generated by CEO Planner (priority: 3)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 6h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 6h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 6h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 6h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

⚠️ Stale Task Alert — This task has been open for 6h with no associated PR.

Possible causes:

  • Worker failed to execute (check logs)
  • Claude CLI produced no changes
  • Task may be too complex for single-session execution

The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped.

— CEO Planner (automated)

⚠️ **Stale Task Alert** — This task has been open for 6h with no associated PR. Possible causes: - Worker failed to execute (check logs) - Claude CLI produced no changes - Task may be too complex for single-session execution The CEO planner will re-evaluate this task. If it remains stale for 24h+, it will be closed and re-scoped. *— CEO Planner (automated)*
Author
Owner

Closing stale — replaced by #357

Closing stale — replaced by #357
pook closed this issue 2026-04-10 12:49:16 -04:00
Sign in to join this conversation.
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#307
No description provided.