GitHub Repository
Boilerplate mínimo Go + Dodo Payments
Visão Geral
O boilerplate em Go fornece um ponto de partida pronto para produção para integrar os pagamentos Dodo com seu backend em Go. Este template inclui manipulação de sessão de checkout, verificação de webhook, integração com o portal do cliente e segue as melhores práticas de Go para ajudá-lo a começar a aceitar pagamentos rapidamente.Este boilerplate usa Go 1.21+ com padrões de arquitetura limpa (
cmd, internal, templates), templates HTML e o SDK dodopayments-go para integração perfeita com APIs.Recursos
- Configuração rápida - Comece em menos de 5 minutos
- Integração de pagamentos - Fluxo de checkout pré-configurado usando o SDK
dodopayments-go - Interface moderna - Página de preços limpa com tema escuro usando templates HTML
- Tratamento de webhooks - Verifique e processe eventos de pagamento com segurança
- Portal do cliente - Gerenciamento de assinaturas em modo self-service
- Boas práticas em Go - Arquitetura limpa com
cmd,internaletemplates - Checkout com campos preenchidos - Demonstra como passar dados do cliente para melhorar a experiência do usuário
Pré-requisitos
Antes de começar, certifique-se de que você tem:- Go 1.21+
- Conta Dodo Payments (para acessar as chaves da API e do Webhook no painel)
Início 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ê deverá ver uma página de preços com tema escuro e seus produtos prontos para compra.
Estrutura do Projeto
Endpoints da API
O boilerplate inclui os seguintes endpoints pré-configurados:| Endpoint | Método | Descrição |
|---|---|---|
/ | GET | Página de preços com listagem de produtos |
/api/checkout | POST | Cria uma nova sessão de checkout |
/api/webhook | POST | Trata webhooks do Dodo Payments |
/api/customer-portal | POST | Gera URL do portal do cliente |
Personalização
Atualizar Informações do Produto
Editeinternal/lib/products.go para modificar:
- IDs de produto (do seu painel Dodo)
- Preços
- Recursos
- Descrições
Pré-preencher Dados do Cliente
Notemplates/index.html, substitua os dados do cliente codificados com seus dados reais de usuário:
Eventos de Webhook
O boilerplate demonstra como lidar com eventos de webhook eminternal/api/webhook.go. Os eventos suportados incluem:
| Evento | Descrição |
|---|---|
subscription.active | Disparado quando uma assinatura se torna ativa |
payment.succeeded | Disparado quando um pagamento é bem-sucedido |
- Atualizar permissões de usuário em seu banco de dados
- Enviar e-mails de confirmação
- Provisionar 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
Compilar para Produção
Implantar no Vercel
[Docker
Crie umDockerfile:
Considerações para Produção
Resolução de Problemas
Build errors or missing dependencies
Build errors or missing dependencies
Garanta que os módulos Go sejam baixados corretamente:
Checkout session creation fails
Checkout session creation fails
Causas comuns:
- ID de produto inválido - verifique se ele existe no seu painel Dodo
- Chave de API ou ambiente incorreto em
.env - Confira os logs do servidor para mensagens detalhadas de erro
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 Dodo para a URL do ngrok. Certifique-se de atualizar seu arquivo
.env com a chave de verificação correta do webhook.Templates not loading
Templates not loading
Certifique-se de executar o servidor a partir do diretório raiz do projeto ou que o caminho das templates esteja corretamente configurado no seu código.
Saiba Mais
Go SDK
Documentação completa do SDK Go
Webhooks Documentation
Saiba mais sobre todos os eventos de webhook e melhores práticas
Checkout Sessions
Mergulhe na configuração de sessões de checkout
API Reference
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