Repository GitHub
Boilerplate Go + Dodo Payments minimale
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 modelli di architettura pulita (
cmd, internal, templates), template HTML e il dodopayments-go SDK per un’integrazione API senza soluzione di continuità.Caratteristiche
- Impostazione Rapida - Inizia in meno di 5 minuti
- Integrazione dei Pagamenti - Flusso di checkout preconfigurato utilizzando il
dodopayments-goSDK - UI Moderna - Pagina di pricing pulita a tema scuro con template HTML
- Gestione dei Webhook - Verifica e gestisci in modo sicuro gli eventi di pagamento
- Portale Clienti - Gestione autonoma degli abbonamenti
- Migliori Pratiche di Go - Architettura pulita con
cmd,internaletemplates - Checkout Precompilato - Dimostra come passare i dati del 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
1
Clona il Repository
2
Installa le Dipendenze
3
Ottieni le Credenziali API
Registrati su Dodo Payments e ottieni le tue credenziali dal dashboard:
- API Key: Dashboard → Developer → API Keys
- Webhook Key: Dashboard → Developer → Webhooks
4
Configura le Variabili d'Ambiente
Crea un file Aggiorna i valori con le tue credenziali Dodo Payments:
.env nella directory principale:.env
5
Aggiungi i Tuoi Prodotti
Aggiorna
internal/lib/products.go con i tuoi ID prodotto reali da Dodo Payments:6
Esegui il Server di Sviluppo
Dovresti vedere una pagina di pricing a tema scuro con i tuoi prodotti pronti per l’acquisto.
Struttura del Progetto
Endpoint API
Il boilerplate include i seguenti endpoint preconfigurati:| Endpoint | Metodo | Descrizione |
|---|---|---|
/ | GET | Pagina di pricing 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 modificare:
- ID prodotto (dal tuo dashboard Dodo)
- Prezzi
- Caratteristiche
- Descrizioni
Pre-compila i Dati del Cliente
Intemplates/index.html, sostituisci i dati del cliente hardcoded con i tuoi dati utente reali:
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 successo |
- 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
Errori di compilazione o dipendenze mancanti
Errori di compilazione o dipendenze mancanti
Assicurati che i moduli Go siano scaricati correttamente:
Creazione della sessione di checkout non riuscita
Creazione della sessione di checkout non riuscita
Cause comuni:
- ID prodotto non valido - verifica che esista nel tuo dashboard Dodo
- Chiave API errata o impostazione dell’ambiente in
.env - Controlla i log del server per messaggi di errore dettagliati
Webhook non ricevono eventi
Webhook non ricevono eventi
Per il test locale, utilizza ngrok per esporre il tuo server:Aggiorna l’URL del webhook nel tuo dashboard Dodo all’URL ngrok. Assicurati di aggiornare il tuo file
.env con la chiave di verifica del webhook corretta.I template non si caricano
I template non si caricano
Assicurati di eseguire il server dalla directory principale del progetto, o che il percorso dei template sia configurato correttamente nel tuo codice.
Scopri di più
Go SDK
Documentazione completa del Go SDK
Documentazione Webhook
Scopri tutti gli eventi webhook e le migliori pratiche
Sessioni di Checkout
Approfondisci la configurazione delle sessioni di checkout
Riferimento API
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