GitHub Repository
Boilerplate minimale Go + Dodo Payments
Panoramica
Il boilerplate Go fornisce un punto di partenza pronto per la produzione per integrare Dodo Payments con il tuo backend Go. Questo template include la gestione delle sessioni di checkout, la verifica dei webhook, l’integrazione del portale clienti e segue le migliori pratiche di Go per aiutarti ad accettare pagamenti rapidamente.Questo boilerplate utilizza Go 1.21+ con pattern di clean architecture (
cmd, internal, templates), template HTML e l’SDK dodopayments-go per un’integrazione API senza soluzione di continuità.Caratteristiche
- Configurazione rapida - Inizia in meno di 5 minuti
- Integrazione dei pagamenti - Flusso di checkout preconfigurato usando l’SDK
dodopayments-go - Interfaccia moderna - Pagina dei prezzi pulita a tema scuro con template HTML
- Gestione webhook - Verifica e processa in modo sicuro gli eventi di pagamento
- Portale clienti - Gestione self-service degli abbonamenti
- Best practice Go - Architettura pulita con
cmd,internaletemplates - Checkout precompilato - Dimostra il passaggio dei dati cliente per migliorare l’esperienza utente
Requisiti
Prima di iniziare, assicurati di avere:- Go 1.21+
- Account Dodo Payments (per accedere alle chiavi API e Webhook dal dashboard)
Avvio Rapido
Get API Credentials
Registrati su Dodo Payments e ottieni le tue credenziali dalla dashboard:
- API Key: Dashboard → Developer → API Keys
- Webhook Key: Dashboard → Developer → Webhooks
Configure Environment Variables
Crea un file Aggiorna i valori con le tue credenziali Dodo Payments:
.env nella directory principale:.env
Add Your Products
Aggiorna
internal/lib/products.go con i tuoi ID prodotto effettivi da Dodo Payments:Run the Development Server
Dovresti vedere una pagina dei prezzi a tema scuro con i tuoi prodotti pronta all’acquisto.
Struttura del Progetto
Endpoint API
Il boilerplate include i seguenti endpoint preconfigurati:| Endpoint | Metodo | Descrizione |
|---|---|---|
/ | GET | Pagina dei prezzi con elenco dei prodotti |
/api/checkout | POST | Crea una nuova sessione di checkout |
/api/webhook | POST | Gestisci i webhook di Dodo Payments |
/api/customer-portal | POST | Genera l’URL del portale clienti |
Personalizzazione
Aggiorna le Informazioni sul Prodotto
Modificainternal/lib/products.go per variare:
- ID dei prodotti (dal tuo dashboard Dodo)
- Prezzi
- Funzionalità
- Descrizioni
Pre-compila i Dati del Cliente
Intemplates/index.html, sostituisci i dati cliente hardcodati con i dati reali dei tuoi utenti:
Eventi Webhook
Il boilerplate dimostra la gestione degli eventi webhook ininternal/api/webhook.go. Gli eventi supportati includono:
| Evento | Descrizione |
|---|---|
subscription.active | Attivato quando un abbonamento diventa attivo |
payment.succeeded | Attivato quando un pagamento ha esito positivo |
- Aggiornare i permessi utente nel tuo database
- Inviare email di conferma
- Fornire accesso a prodotti digitali
- Monitorare analisi e metriche
Testare i Webhook Localmente
Per lo sviluppo locale, utilizza strumenti come ngrok per esporre il tuo server locale:Distribuzione
Compila per la Produzione
Distribuisci su Vercel
[Docker
Crea unDockerfile:
Considerazioni per la Produzione
Risoluzione dei Problemi
Build errors or missing dependencies
Build errors or missing dependencies
Assicurati che i moduli Go siano correttamente scaricati:
Checkout session creation fails
Checkout session creation fails
Cause comuni:
- ID prodotto non valido - verifica che esista nella tua dashboard Dodo
- Chiave API o impostazione ambiente errate in
.env - Controlla i log del server per messaggi di errore dettagliati
Webhooks not receiving events
Webhooks not receiving events
Per i test locali, usa ngrok per esporre il tuo server:Aggiorna l’URL del webhook nella tua dashboard Dodo con l’URL di ngrok. Assicurati di aggiornare il file
.env con la chiave di verifica del webhook corretta.Templates not loading
Templates not loading
Assicurati di eseguire il server dalla directory principale del progetto, oppure che il percorso dei template sia configurato correttamente nel tuo codice.
Scopri di più
Go SDK
Documentazione completa SDK Go
Webhooks Documentation
Scopri tutti gli eventi webhook e le best practice
Checkout Sessions
Approfondimento sulla configurazione della sessione di checkout
API Reference
Documentazione completa dell’API Dodo Payments
Supporto
Hai bisogno di aiuto con il boilerplate?- Unisciti alla nostra comunità Discord per domande e discussioni
- Controlla il repository GitHub per problemi e aggiornamenti
- Contatta il nostro team di supporto per assistenza