>
Pagamentos & Checkout Claude 3.5 Sonnet

Stripe Connect para Marketplace: Onboarding e Taxas da Plataforma

Backend completo de marketplace com Stripe Connect: onboarding do vendedor, checkout que retém a taxa da plataforma e repasse automático.

EPEquipe Prompt Salvo ·Criado em 24 de set. de 2026 ·Atualizado em 24 de set. de 2026
0cópias
0joinhas
0favoritos

O prompt

Escreva o backend em Node.js/TypeScript para um marketplace {{nome_marketplace}} usando Stripe Connect (conta Standard).

Parâmetros:
- Nome do Marketplace: {{nome_marketplace}}
- Taxa da Plataforma: {{taxa_plataforma}}% sobre cada venda
- Moeda: {{moeda}} (BRL ou USD)

Requisitos Críticos:
1. Rota POST /api/sellers/onboard que cria o account no Stripe Connect (type 'standard', capabilities card_payments + transfers), guarda o account_id no banco vinculado ao usuário e retorna a URL de onboarding para redirecionar o vendedor.
2. Webhook /api/webhooks/connect processando account.updated: quando o status da conta vira 'verified', libera o vendedor para anunciar (flag can_sell no banco); se 'rejected', desativa com motivo legível.
3. Checkout: POST /api/checkout/session criando a sessão de pagamento em nome do marketplace, com transfer_data.destination = account_id do vendedor e application_fee_amount calculado como {{taxa_plataforma}}% — o repasse é automático no pagamento aprovado.
4. Webhook charge.succeeded registrando a venda (tabela Sale { sellerId, buyerId, gross, fee, net, stripeChargeId }) com idempotência por charge.id; endpoint GET /api/sellers/me/sales listando vendas líquidas do vendedor autenticado.
5. Tratamento de estorno: refund.created recalcula a venda (fee proporcional) e notifica o vendedor via e-mail (Resend, se configurado).
6. Segurança: validação rigorosa da assinatura stripe-signature em todos os webhooks; nunca confiar em dados do front para calcular fee/transfer.

Como usar

  1. Substitua {{nome_marketplace}}, {{taxa_plataforma}} (ex.: 10) e {{moeda}}.
  2. Cole no Claude/Cursor; antes de rodar, ative Stripe Connect na sua conta (Dashboard → Developers → Connect) e use a chave de teste.
  3. Defina STRIPE_SECRET_KEY + STRIPE_WEBHOOK_SECRET; localmente: stripe listen --forward-to localhost:3000/api/webhooks/connect.
  4. Fluxo de teste completo: crie vendedor → finalize onboarding na URL retornada (conta Standard de teste) → compre um item dele → confira a Sale com gross/fee/net corretos e o repasse no dashboard.

Exemplo de saída

Backend (~260 linhas): POST /sellers/onboard criando conta Standard + URL de onboarding, webhook account.updated liberando can_sell só quando 'verified', checkout session com transfer_data.destination e application_fee_amount = 10%, Sale idempotente por charge.id com gross/fee/net, refund recalculando fee proporcional + e-mail ao vendedor e validação de stripe-signature em tudo.

Guias relacionados

Prompts para programação e revisão de códigoBoilerplate, refatoração e code review com auditoria de segurança: como pedir código que compila de primeira.Prompt chains: encadear prompts para tarefas complexasQuando um prompt não basta: decomponha o trabalho em etapas com saída de uma alimentando a entrada da outra.Segurança e privacidade ao usar IAs com dados pessoaisO que nunca colar em um chat de IA, como anonimizar dados sensíveis e o que a LGPD exige do seu fluxo.
Usar na extensão