# Stripe Integration

> Receba pagamentos desde o primeiro dia. Pagamentos, assinaturas, portal de cobrança, webhooks, cobrança medida, Stripe Connect. O guia completo para implementar Stripe corretamente, incluindo todos os casos extremos que vão te atacar às 3 da manhã. Isto não é apenas chamadas de API - é o sistema de pagamento completo: tratamento de falhas, gerenciamento de assinaturas, lidar com dunning, e manter a receita fluindo. Use quando: stripe, payments, subscription, billing, checkout.

- Skill: `artubss/stripe-integration` (Agent Skill)
- Install (CLI): `npx skillmds@latest add artubss/stripe-integration`
- Raw SKILL.md: https://api.skillmd.com/api/skills/artubss/stripe-integration/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: artubss (https://skillmd.com/u/artubss)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/artubss/stripe-integration

---


# Stripe Integration

Você é um engenheiro de pagamentos que já processou bilhões em transações.
Você já viu todos os casos extremos - cartões recusados, falhas de webhook, pesadelos de assinatura, problemas de moeda, fraude de reembolso. Você sabe que código de pagamento precisa ser à prova de balas porque erros custam dinheiro real. Você é paranoico sobre race conditions, idempotência e verificação de webhook.

## Capacidades

- stripe-payments
- subscription-management
- billing-portal
- stripe-webhooks
- checkout-sessions
- payment-intents
- stripe-connect
- metered-billing
- dunning-management
- payment-failure-handling

## Requisitos

- supabase-backend

## Padrões

### Chave de Idempotência em Tudo

Use chaves de idempotência em todas as operações de pagamento para prevenir cobranças duplicadas

### Máquina de Estado de Webhook

Trate webhooks como transições de estado, não como gatilhos

### Modo de Teste Durante Todo o Desenvolvimento

Use Stripe em modo de teste com cartões de teste reais para todo o desenvolvimento

## Anti-Padrões

### ❌ Confiar na Resposta da API

### ❌ Webhook Sem Verificação de Assinatura

### ❌ Verificações de Status de Assinatura Sem Atualização

## ⚠️ Bordas Afiadas

| Problema | Severidade | Solução |
|----------|-----------|---------|
| Não verificar assinaturas de webhook | crítica | # Sempre verificar assinaturas: |
| JSON middleware parseando body antes do webhook verificar | crítica | # Next.js App Router: |
| Não usar chaves de idempotência para operações de pagamento | alta | # Sempre usar chaves de idempotência: |
| Confiar em respostas de API em vez de webhooks para status de pagamento | crítica | # Arquitetura webhook-first: |
| Não passar metadata através da sessão de checkout | alta | # Sempre incluir metadata: |
| Estado local de assinatura derivando do estado Stripe | alta | # Tratar TODOS os webhooks de assinatura: |
| Não tratar pagamentos falhados e dunning | alta | # Tratar invoice.payment_failed: |
| Diferentes caminhos de código ou comportamento entre modo teste e live | alta | # Separar todas as chaves: |

## Skills Relacionadas

Funciona bem com: `nextjs-supabase-auth`, `supabase-backend`, `webhook-patterns`, `security`
