Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

feat(billing): Stripe subscriptions, job credits and Connect payouts

Fechada
#10 0 comentários 0 reações 0 responsáveis Ver no GitHub

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
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
backend, payments

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

chain-integration enhancement payments tier-2

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 fields trialEndsAt and hasSubscription; trial UI exists under features/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 hasSubscription and 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.ts but protected by signature verification.

Dependencies

  • #3

Testing plan

  • Webhook replay tests; Stripe CLI-driven manual test script.

References


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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de QMeshPy/distributed-quantum

Todas as issues de QMeshPy/distributed-quantum

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.