feat(billing): Stripe subscriptions, job credits and Connect payouts
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Start by reading frontend/src/features/auth/server/auth.ts and frontend/src/proxy.ts, then review dependency issue #3 for the credit ledger. The proposal calls for subscription Checkout, signed and idempotent webhooks, a customer portal, credit purchases, and optional Connect payouts. Done means the listed acceptance criteria pass, with webhook replay tests and a Stripe CLI manual test.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Add web2 payment support with Stripe: subscriptions that unlock accounts, card-purchased job credits, and optional bank payouts to workers.
Motivation
Not every user holds stablecoins. Cards give a normal on-ramp, and the auth layer already carries trial and subscription state that nothing sets yet.
Current state in this repo
frontend/src/features/auth/server/auth.ts(Better Auth) defines user fieldstrialEndsAtandhasSubscription; trial UI exists underfeatures/auth.- No billing code exists.
Proposal
- Stripe Billing: Checkout session for a subscription; a signed webhook handler that sets
hasSubscription; a customer-portal link. - Credits: Checkout for one-off credit packs that write confirmed events to the credit ledger (#3); jobs spend credits.
- Connect (optional second phase): onboard workers and pay out earnings to bank accounts.
- Use test mode keys only; all configuration via env.
Acceptance criteria
- Webhooks verify Stripe signatures and are idempotent on event id.
- Subscription state changes update
hasSubscriptionand the trial banner behaviour. - A credit purchase appears in the ledger exactly once, even if the webhook is delivered twice.
- No card data touches our servers or logs.
Out of scope
- Tax, invoicing and refunds policy (document as follow-ups).
- Live-mode keys.
Technical notes and risks
- Webhook endpoints must be public in
frontend/src/proxy.tsbut protected by signature verification.
Dependencies
- #3
Testing plan
- Webhook replay tests; Stripe CLI-driven manual test script.
References
- Stripe Billing, Checkout and Connect docs: https://docs.stripe.com
Part of ##1. Ground rules for all issues in this roadmap are listed there (testnet-first, no secrets in the repo, chain logic behind the registry, tests and docs with every PR).
- Vorherrschende Sprache
- Python
- Sterne
- 2
- Forks
- 4
- Ø Merge
- 5 Std. 19 Min.
- Gemergte PRs (30 T.)
- 11
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
QMeshPy/distributed-quantum#53 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments research-spike tier-2
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
QMeshPy/distributed-quantum#78 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments research-spike tier-2
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 66/100
QMeshPy/distributed-quantum#77 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments tier-2
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
QMeshPy/distributed-quantum#76 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue kubo storage tier-1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 42/100
QMeshPy/distributed-quantum#75 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in QMeshPy/distributed-quantum
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
gramaziokohler/compas_timber#870 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
autowarefoundation/autoware_carla_scenario#500 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue priority: low size: XS testing
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 86/100
cubrid-lab/cubrid-mcp-server#385 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue priority: low size: S testing
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
cubrid-lab/cubrid-cookbook-python#447 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100