feat(billing): Stripe subscriptions, job credits and Connect payouts
Mantenedores costumam responder em até 1 dia
Um pull request relacionado já foi integrado.
- #84 de @harshaldulera — integrado
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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).
- Linguagem predominante
- Python
- Estrelas
- 2
- Forks
- 4
- Merge médio
- 8h 3min
- PRs com merge (30d)
- 28
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
QMeshPy/distributed-quantum#53 ·
Mantenedores costumam responder em até 1 dia
-
Integrate persistent collaborative EtherCalc workbooks with experiment results and IPFS versionsTalvez já em andamento @Winter-Soren assumiu hoje. Aberta
QMeshPy/distributed-quantum#103 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
chain-integration enhancement payments research-spike tier-2
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
QMeshPy/distributed-quantum#78 ·
Mantenedores costumam responder em até 1 dia
-
chain-integration enhancement payments research-spike tier-2
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 66/100
QMeshPy/distributed-quantum#77 ·
Mantenedores costumam responder em até 1 dia
-
documentation good first issue kubo storage tier-1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 42/100
QMeshPy/distributed-quantum#75 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de QMeshPy/distributed-quantum
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
microsoft/agent-lightning#661 ·
Mantenedores costumam responder em até 2 dias
-
area/profiles comp/cli P3 type/feature
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
NousResearch/hermes-agent#146372 ·
Mantenedores costumam responder em até 1 dia
-
[BUG] OpenAI-compatible embedding model alias breaks embedder constructionTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
[oblt-aw][autodoc] Document obs-aw-automerge contract and fix automerge doc inconsistenciesTalvez já em andamento @github-actions assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
GeoSeries scale and skew tests fail with pytest 9.2.0Talvez já em andamento @jiayuasu assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia