Repositório do GitHub
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 usa FastAPI com padrões async/await, Pydantic para validação e o
dodopayments SDK Python para integração de API sem problemas.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
1
Clone o Repositório
2
Criar Ambiente Virtual
Configure um ambiente Python isolado:Ou usando uv para gerenciamento de dependências mais rápido:
3
Instalar Dependências
4
Obter Credenciais da API
Inscreva-se em Dodo Payments e obtenha suas credenciais no painel:
- Chave da API: Painel → Desenvolvedor → Chaves da API
- Chave do Webhook: Painel → Desenvolvedor → Webhooks
5
Configurar Variáveis de Ambiente
Crie um Atualize os valores com suas credenciais do Dodo Payments:
.env arquivo no diretório raiz:.env
6
Executar o Servidor de Desenvolvimento
Você deve ver a interface Swagger do FastAPI com todos os endpoints disponíveis prontos para teste.
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 | Manipular 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
Erros de importação ou módulos ausentes
Erros de importação ou módulos ausentes
Certifique-se de que seu ambiente virtual está ativado e as dependências estão instaladas:
Falha na criação da sessão de checkout
Falha na criação da sessão de checkout
Causas comuns:
- ID do produto inválido - verifique se ele existe no seu painel Dodo
- Chave da API errada ou configuração de ambiente em
.env - Verifique os logs do FastAPI para mensagens de erro detalhadas
Webhooks não recebendo eventos
Webhooks não recebendo eventos
Para testes locais, use ngrok para expor seu servidor:Atualize a URL do webhook em seu painel Dodo para a URL do ngrok. Certifique-se de atualizar seu
.env arquivo com a chave de verificação de webhook correta.Falha na verificação da assinatura do webhook
Falha na verificação da assinatura do webhook
- Certifique-se de que
DODO_PAYMENTS_WEBHOOK_KEYestá corretamente definido em seu.env - Verifique se você está usando o corpo da solicitação bruta para verificação de assinatura
- Verifique se você está lendo o cabeçalho
webhook-signaturecorretamente
Saiba Mais
SDK Python
Documentação completa do SDK Python com suporte assíncrono
Documentação de Webhooks
Aprenda sobre todos os eventos de webhook e melhores práticas
Sessões de Checkout
Aprofunde-se na configuração da sessão de checkout
Referência da API
Documentação completa da API 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