feat(billing): accept USDC stablecoin payments for credit packs via Stripe
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
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/billing/server/webhook.ts and the linked credit-pack work in #3 and #10; credit packs and the ledger are not implemented yet. Then verify Stripe’s current stablecoin availability, supported networks, and fees for the account and region. Done means a test-mode USDC credit pack is gated by an off-by-default flag and credits the ledger exactly once on webhook replay, with the unsupported cases documented.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
Add Stripe's stablecoin payment method to Checkout for one-off credit packs, next to the card flow already merged for subscriptions.
Estimated size: M
Motivation
Crypto-native users can pay without a card, and Stripe settles to our balance in USD, so no wallet custody or on-chain code is needed on our side.
Current state in this repo
- Stripe subscriptions are merged (#42, part of #10): Better Auth Stripe plugin, signature-verified idempotent webhook in
frontend/src/features/billing/server/webhook.ts. - No stablecoin or crypto payment code exists. Credit packs and the credit ledger (#3) are not implemented yet.
Proposal
- Enable the crypto/stablecoin payment method in the Stripe account (Stripe documents this as public preview; confirm availability for our account and region first).
- Checkout session for one-off credit packs with the stablecoin payment method; reuse the existing webhook claim/release idempotency and write a confirmed event to the ledger exactly once.
- Gated by an env flag and off by default; test mode only.
- Per Stripe's docs, disputes and manual capture are not supported and refunds are; design the credit flow around that (no authorize-then-capture reservations). Verify the supported networks and fees on the current docs page before building.
Acceptance criteria
- A test-mode stablecoin purchase credits the ledger exactly once, even if the webhook is delivered twice.
- The option is hidden when the flag is off.
- We hold no wallet keys and store no payment details.
- Unsupported cases (disputes, manual capture) are documented in the PR.
Out of scope
- Stablecoin subscriptions (confirm support separately).
- Tempo and the Machine Payments Protocol (#11).
- Live-mode keys.
Technical notes and risks
Dependencies
- #3
- #10 (credit-pack phase)
Testing plan
- Webhook replay test; Stripe CLI manual script.
Part of #1 (see also #10). 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
- 6h 54min
- PRs com merge (30d)
- 7
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
-
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
-
enhancement kubo storage tier-2
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 56/100
QMeshPy/distributed-quantum#74 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de QMeshPy/distributed-quantum
Issues semelhantes
-
[Bug]: Revit selector reads process ids 2000-2099 as years (flaky AgentClientTests.AYearOrAProcessIdSelectsTheHost)Talvez já em andamento @Wurschdhaud assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
pyrevitlabs/pyRevit#3817 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
521xueweihan/HelloGitHub#4074 ·
-
follow-up
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
Helm chart: allow setting ingressClassName on the IngressTalvez já em andamento @commarla assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
pgadmin-org/pgadmin4#10658 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100