feat(billing): Stripe subscriptions, job credits and Connect payouts
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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).
- Ngôn ngữ chính
- Python
- Star
- 2
- Fork
- 4
- Merge trung bình
- 5 giờ 19 phút
- Pull request đã merge (30 ngày)
- 11
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
QMeshPy/distributed-quantum#53 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chain-integration enhancement payments research-spike tier-2
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
QMeshPy/distributed-quantum#78 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chain-integration enhancement payments research-spike tier-2
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
QMeshPy/distributed-quantum#77 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chain-integration enhancement payments tier-2
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
QMeshPy/distributed-quantum#76 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue kubo storage tier-1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
QMeshPy/distributed-quantum#75 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của QMeshPy/distributed-quantum
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
khuisman/mcp-gee-sweet#1166 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
lugassawan/swe-workbench#823 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
gramaziokohler/compas_timber#870 ·
-
security-scan-failure
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
semantica-agi/semantica#2089 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
autowarefoundation/autoware_carla_scenario#500 ·
Maintainer thường phản hồi trong vòng 1 ngày