Repositório do GitHub
Boilerplate mínimo em 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 de API sem problemas.Recursos
- Configuração Rápida - Comece em menos de 5 minutos
- Integração de Pagamento - Fluxo de checkout pré-configurado usando o SDK
dodopayments-go - UI Moderna - Página de preços limpa e com tema escuro com templates HTML
- Manipulação de Webhook - Verifique e processe eventos de pagamento com segurança
- Portal do Cliente - Gerenciamento de assinatura autoatendido
- Melhores Práticas de Go - Arquitetura limpa com
cmd,internal, etemplates - Checkout Pré-preenchido - 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
1
Clone o Repositório
2
Instalar Dependências
3
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
4
Configurar Variáveis de Ambiente
Crie um arquivo Atualize os valores com suas credenciais do Dodo Payments:
.env no diretório raiz:.env
5
Adicione Seus Produtos
Atualize
internal/lib/products.go com seus IDs de produto reais do Dodo Payments:6
Execute o Servidor de Desenvolvimento
Você deve ver uma página de preços com tema escuro com 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 | Criar uma nova sessão de checkout |
/api/webhook | POST | Manipular webhooks do Dodo Payments |
/api/customer-portal | POST | Gerar URL do portal do cliente |
Personalização
Atualizar Informações do Produto
Editeinternal/lib/products.go para modificar:
- IDs dos produtos (do seu painel Dodo)
- Preços
- Recursos
- Descrições
Pré-preencher Dados do Cliente
Emtemplates/index.html, substitua os dados do cliente codificados com os dados reais do seu usuário:
Eventos de Webhook
O boilerplate demonstra como manipular eventos de webhook eminternal/api/webhook.go. Os eventos suportados incluem:
| Evento | Descrição |
|---|---|
subscription.active | Acionado quando uma assinatura se torna ativa |
payment.succeeded | Acionado 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
Erros de compilação ou dependências ausentes
Erros de compilação ou dependências ausentes
Certifique-se de que os módulos do Go estão devidamente baixados:
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 ou configuração de ambiente errada em
.env - Verifique os logs do servidor 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 arquivo
.env com a chave de verificação do webhook correta.Templates não carregando
Templates não carregando
Certifique-se de que você está executando o servidor a partir do diretório raiz do projeto, ou que o caminho dos templates está corretamente configurado em seu código.
Saiba Mais
Go SDK
Documentação completa do SDK Go
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