[grade=B] Make website billing production-ready

This commit is contained in:
Krystie committed 2026-08-22 18:16:12 -07:00
1 parent 06d8062a5a
commit 2bfb8ea2b5
16 files changed
+1778 -313

No files matched your search

+6 -5
View File
@@ -34,9 +34,9 @@ Paid subscriptions unlock:
- `swarm`
### Stripe plans
- 1 month — $25
- 1 month — $20
- 3 months — $50
- 6 months — $65
- 6 months — $70
- 12 months — $99
### Subscription policy
@@ -78,7 +78,8 @@ Source of truth for:
## Proposed API surface
### Public endpoints for website
- `POST /api/checkout/session`
- `POST /api/checkout/one-time`
- `POST /api/checkout/subscription`
- `GET /api/public/plans`
### DashCaddy app endpoints
@@ -200,7 +201,7 @@ On cancellation:
The `dashcaddy.net` marketing site should be updated to:
- add Premium pricing section buttons
- each button POSTs to `/api/checkout/session` with a plan code
- each button POSTs to `/api/checkout/{one-time,subscription}` with a plan code
- redirect to returned Stripe Checkout URL
- success page explains license delivery/activation flow
- cancellation page returns user to pricing
@@ -223,7 +224,7 @@ Initial env expected:
1. Scaffold Node service for `dashcaddy-license-server`
2. Add Stripe SDK, Express, and SQLite/Postgres adapter layer
3. Build `/api/public/plans`
4. Build `/api/checkout/session`
4. Build `/api/checkout/one-time` and `/api/checkout/subscription`
5. Build `/api/stripe/webhook`
6. Port/reuse DashCaddy-compatible license generation/validation helpers
7. Build `/api/license/validate`