Business session 8: Stripe billing live, DNS blocker identified
This commit is contained in:
parent
63fe3ee0a0
commit
a0a03e337c
2 changed files with 24 additions and 7 deletions
|
|
@ -80,3 +80,16 @@
|
||||||
- **Status:** Blocked on Hetzner token permissions
|
- **Status:** Blocked on Hetzner token permissions
|
||||||
- **Next:** Once token has write access → create server, deploy DocFast, configure HTTPS
|
- **Next:** Once token has write access → create server, deploy DocFast, configure HTTPS
|
||||||
- **Blocker:** Hetzner API token needs to be regenerated with read+write permissions
|
- **Blocker:** Hetzner API token needs to be regenerated with read+write permissions
|
||||||
|
|
||||||
|
## Session 8 — 2026-02-14 13:48 UTC (Afternoon Session)
|
||||||
|
- Built **Stripe billing integration** — full checkout flow
|
||||||
|
- `POST /v1/billing/checkout` → creates Stripe checkout session for $9/mo Pro plan
|
||||||
|
- `GET /v1/billing/success` → provisions Pro API key after payment
|
||||||
|
- `POST /v1/billing/webhook` → handles subscription cancellation
|
||||||
|
- Updated free tier limit from 50 → 100 PDFs/month (matching landing page)
|
||||||
|
- Updated landing page with working checkout button
|
||||||
|
- Deployed and **tested live** — Stripe checkout URL generated ✅
|
||||||
|
- **Discovered:** Hetzner DNS API uses separate token from Cloud API
|
||||||
|
- **Status:** API fully functional with billing. Blocked on DNS + SSL.
|
||||||
|
- **Next:** Human adds A record for docfast.dev → 167.235.156.214 at INWX. Then certbot.
|
||||||
|
- **Blockers:** DNS (A record at INWX), SSL (depends on DNS)
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,28 @@
|
||||||
{
|
{
|
||||||
"phase": 1,
|
"phase": 1,
|
||||||
"phaseLabel": "Build MVP — DNS + SSL + Stripe",
|
"phaseLabel": "Build MVP — DNS + SSL remaining",
|
||||||
"status": "deployed-needs-dns-ssl",
|
"status": "deployed-stripe-live-needs-dns-ssl",
|
||||||
"product": "DocFast — HTML/Markdown to PDF API",
|
"product": "DocFast — HTML/Markdown to PDF API",
|
||||||
"currentPriority": "DNS is at Hetzner too — use the Hetzner DNS API to create a zone for docfast.dev and add A record pointing to 167.235.156.214. Then SSL via certbot. Then Stripe integration.",
|
"currentPriority": "DNS setup for docfast.dev → 167.235.156.214. Hetzner DNS API needs separate token (Cloud API token doesn't work for DNS). Options: (1) Human creates Hetzner DNS API token, or (2) Human adds A record at INWX. Then certbot for SSL.",
|
||||||
"infrastructure": {
|
"infrastructure": {
|
||||||
"domain": "docfast.dev",
|
"domain": "docfast.dev",
|
||||||
"dns": "Hetzner DNS (same API token, use Hetzner DNS API)",
|
"dns": "Needs setup — Hetzner DNS API requires separate token from Cloud API",
|
||||||
"hosting": "Hetzner Cloud",
|
"hosting": "Hetzner Cloud",
|
||||||
"server": "docfast-1 (CAX11, nbg1)",
|
"server": "docfast-1 (CAX11, nbg1)",
|
||||||
"serverIP": "167.235.156.214",
|
"serverIP": "167.235.156.214",
|
||||||
"sshKey": "/home/openclaw/.ssh/docfast",
|
"sshKey": "/home/openclaw/.ssh/docfast",
|
||||||
"apiKey": "df_live_9760e44a3e732be0f8628a44e0cdbc040107499f6e8f457a"
|
"apiKey": "df_live_9760e44a3e732be0f8628a44e0cdbc040107499f6e8f457a",
|
||||||
|
"stripeCheckout": "working — creates live checkout sessions"
|
||||||
},
|
},
|
||||||
"credentials": {
|
"credentials": {
|
||||||
"file": "/home/openclaw/.openclaw/workspace/.credentials/docfast.env",
|
"file": "/home/openclaw/.openclaw/workspace/.credentials/docfast.env",
|
||||||
"keys": ["HETZNER_API_TOKEN", "STRIPE_SECRET_KEY"],
|
"keys": ["HETZNER_API_TOKEN", "STRIPE_SECRET_KEY"],
|
||||||
"NEVER_READ_DIRECTLY": true
|
"NEVER_READ_DIRECTLY": true
|
||||||
},
|
},
|
||||||
"blockers": [],
|
"blockers": [
|
||||||
|
"DNS: docfast.dev has no A record. Need human to add A record at INWX pointing to 167.235.156.214",
|
||||||
|
"SSL: Blocked on DNS (certbot needs domain to resolve)"
|
||||||
|
],
|
||||||
"startDate": "2026-02-14",
|
"startDate": "2026-02-14",
|
||||||
"sessionCount": 7
|
"sessionCount": 8
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue