Pular para o conteúdo principal

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

1

Clone the Repository

2

Create Virtual Environment

Configure um ambiente Python isolado:
Ou usando uv para gerenciamento de dependências mais rápido:
3

Install Dependencies

Ou com uv:
4

Get API Credentials

Cadastre-se em Dodo Payments e obtenha suas credenciais no painel:
Certifique-se de estar no Modo de Teste enquanto desenvolve!
5

Configure Environment Variables

Crie um arquivo .env no diretório raiz:
Atualize os valores com suas credenciais do Dodo Payments:
.env
Nunca comite seu arquivo .env no controle de versão. Ele já está incluído em .gitignore.
6

Run the Development Server

Abra http://localhost:8000/docs para ver a documentação interativa da API!
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:

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: Adicione sua lógica de negócios dentro do manipulador de webhook para:
  • 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:
Atualize a URL do webhook em seu Painel do Dodo Payments:

Implantação

Docker

Construa e execute:

Considerações de Produção

Antes de implantar em produção:
  • Altere DODO_PAYMENTS_ENVIRONMENT para live_mode
  • Use chaves de API de produção do painel
  • Atualize a URL do webhook para o seu domínio de produção
  • Ative HTTPS para todos os endpoints

Solução de Problemas

Certifique-se de que seu ambiente virtual esteja ativado e as dependências instaladas:
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
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.
  • Garanta que DODO_PAYMENTS_WEBHOOK_KEY esteja 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?
Última modificação em 9 de junho de 2026