GitHub Repository
Boilerplate completo FastAPI + Dodo Payments
Visão Geral
O boilerplate FastAPI fornece um ponto de partida pronto para produção para integrar Dodo Payments com seu backend Python. Este template inclui gerenciamento de sessão de checkout, verificação de webhook, integração de portal do cliente e padrões de API assíncronos para ajudá-lo a começar a aceitar pagamentos rapidamente.Este boilerplate utiliza FastAPI com padrões async/await, Pydantic para validação e o SDK Python
dodopayments para integração perfeita com a API.Recursos
- Configuração Rápida - Comece em menos de 5 minutos
- Suporte Assíncrono - Construído com os padrões nativos async/await do FastAPI
- Sessões de Checkout - Fluxo de checkout pré-configurado usando o SDK Python
- Gerenciamento de Webhook - Endpoint de webhook seguro com verificação de assinatura
- Portal do Cliente - Criação fácil de sessão do portal do cliente
- Segurança de Tipo - Validação completa do Pydantic e dicas de tipo
- Configuração de Ambiente - Configuração de variáveis de ambiente pronta para uso
Pré-requisitos
Antes de começar, certifique-se de que você tem:- Python 3.9+ (recomendado: Python 3.11+)
- pip ou uv para gerenciamento de pacotes
- Conta Dodo Payments (para acessar as chaves da API e Webhook no painel)
Início Rápido
Create Virtual Environment
Configure um ambiente Python isolado:Ou usando uv para gerenciamento de dependências mais rápido:
Get API Credentials
Cadastre-se em Dodo Payments e obtenha suas credenciais no painel:
- Chave da API: Painel → Desenvolvedor → Chaves da API
- Chave do Webhook: Painel → Desenvolvedor → Webhooks
Configure Environment Variables
Crie um arquivo Atualize os valores com suas credenciais do Dodo Payments:
.env no diretório raiz:.env
Run the Development Server
Você deve ver a interface Swagger UI do FastAPI com todos os endpoints disponíveis prontos para testar.
Estrutura do Projeto
Endpoints da API
O boilerplate inclui os seguintes endpoints pré-configurados:| Endpoint | Método | Descrição |
|---|---|---|
/checkout | POST | Criar uma nova sessão de checkout |
/webhook | POST | Lidar com webhooks do Dodo Payments |
/customer-portal | POST | Gerar URL do portal do cliente |
Exemplos de Código
Criando uma Sessão de Checkout
Manipulando Webhooks
Integração do Portal do Cliente
Eventos de Webhook
O boilerplate demonstra o manuseio de eventos comuns de webhook:| Evento | Descrição |
|---|---|
payment.succeeded | Pagamento concluído com sucesso |
payment.failed | Tentativa de pagamento falhou |
subscription.active | Assinatura agora está ativa |
subscription.cancelled | Assinatura foi cancelada |
refund.succeeded | Reembolso processado com sucesso |
- Atualizar permissões de usuário em seu banco de dados
- Enviar e-mails de confirmação
- Prover acesso a produtos digitais
- Rastrear análises e métricas
Testando Webhooks Localmente
Para desenvolvimento local, use ferramentas como ngrok para expor seu servidor local:Implantação
Docker
Considerações de Produção
Solução de Problemas
Import errors or missing modules
Import errors or missing modules
Certifique-se de que seu ambiente virtual esteja ativado e as dependências instaladas:
Checkout session creation fails
Checkout session creation fails
Causas comuns:
- ID do produto inválido – verifique se existe no seu painel da Dodo
- Chave de API ou configuração de ambiente incorreta em
.env - Verifique os logs do FastAPI para mensagens de erro detalhadas
Webhooks not receiving events
Webhooks not receiving events
Para testes locais, use ngrok para expor seu servidor:Atualize a URL do webhook no seu painel da Dodo para a URL do ngrok. Certifique-se de atualizar seu arquivo
.env com a chave de verificação correta do webhook.Webhook signature verification fails
Webhook signature verification fails
- Garanta que
DODO_PAYMENTS_WEBHOOK_KEYesteja configurado corretamente em seu.env - Verifique se você está usando o corpo bruto da requisição para verificação de assinatura
- Confira se você está lendo corretamente o cabeçalho
webhook-signature
Saiba Mais
Python SDK
Documentação completa do SDK Python com suporte async
Webhooks Documentation
Saiba sobre todos os eventos de webhook e melhores práticas
Checkout Sessions
Mergulhe na configuração da sessão de checkout
API Reference
Documentação completa da API da Dodo Payments
Suporte
Precisa de ajuda com o boilerplate?- Junte-se à nossa comunidade no Discord para perguntas e discussões
- Verifique o repositório do GitHub para problemas e atualizações
- Entre em contato com nossa equipe de suporte para assistência