GitHub Repository
Minimal Go + Dodo Payments boilerplate
Översikt
Go boilerplate ger en produktionsklar startpunkt för att integrera Dodo Payments med din Go backend. Denna mall inkluderar hantering av checkout-sessioner, verifiering av webhooks, integration av kundportal och följer Go:s bästa praxis för att hjälpa dig att börja ta emot betalningar snabbt.Denna boilerplate använder Go 1.21+ med rena arkitekturmönster (
cmd, internal, templates), HTML-mallar och dodopayments-go SDK för sömlös API-integration.Funktioner
- Snabb installation - Kom igång på mindre än 5 minuter
- Betalningsintegration - Förkonfigurerad checkout-flöde med
dodopayments-goSDK - Modern UI - Ren, mörk-temad prissättningssida med HTML-mallar
- Webhook-hantering - Verifiera och bearbeta betalningsevenemang på ett säkert sätt
- Kundportal - Självbetjäningshantering av prenumerationer
- Go bästa praxis - Ren arkitektur med
cmd,internal, ochtemplates - Förifylld checkout - Visar hur man skickar kunddata för att förbättra användarupplevelsen
Förutsättningar
Innan du börjar, se till att du har:- Go 1.21+
- Dodo Payments-konto (för att få tillgång till API- och Webhook-nycklar från instrumentpanelen)
Snabbstart
1
Klona Repositoriet
2
Installera beroenden
3
Få API-uppgifter
Registrera dig på Dodo Payments och få dina uppgifter från instrumentpanelen:
- API-nyckel: Instrumentpanel → Utvecklare → API-nycklar
- Webhook-nyckel: Instrumentpanel → Utvecklare → Webhooks
4
Konfigurera miljövariabler
Skapa en Uppdatera värdena med dina Dodo Payments-uppgifter:
.env fil i rotkatalogen:.env
5
Lägg till dina produkter
Uppdatera
internal/lib/products.go med dina faktiska produkt-ID:n från Dodo Payments:6
Kör utvecklingsservern
Du bör se en mörk-temad prissättningssida med dina produkter redo att köpas.
Projektstruktur
API-endpunkter
Boilerplate inkluderar följande förkonfigurerade endpunkter:| Endpunkt | Metod | Beskrivning |
|---|---|---|
/ | GET | Prissättningssida med produktlista |
/api/checkout | POST | Skapa en ny checkout-session |
/api/webhook | POST | Hantera Dodo Payments webhooks |
/api/customer-portal | POST | Generera URL för kundportal |
Anpassning
Uppdatera produktinformation
Redigerainternal/lib/products.go för att modifiera:
- Produkt-ID:n (från din Dodo-instrumentpanel)
- Priser
- Funktioner
- Beskrivningar
Förifyll kunddata
Itemplates/index.html, ersätt den hårdkodade kunddatan med dina faktiska användardata:
Webhook-händelser
Boilerplate demonstrerar hantering av webhook-händelser iinternal/api/webhook.go. Stödda händelser inkluderar:
| Händelse | Beskrivning |
|---|---|
subscription.active | Utlöses när en prenumeration blir aktiv |
payment.succeeded | Utlöses när en betalning är framgångsrik |
- Uppdatera användarbehörigheter i din databas
- Skicka bekräftelsemail
- Tillhandahålla åtkomst till digitala produkter
- Spåra analyser och mätvärden
Testa webhooks lokalt
För lokal utveckling, använd verktyg som ngrok för att exponera din lokala server:Distribution
Bygg för produktion
Distribuera till Vercel
[Docker
Skapa enDockerfile:
Produktionsöverväganden
Felsökning
Byggfel eller saknade beroenden
Byggfel eller saknade beroenden
Se till att Go-moduler är korrekt nedladdade:
Checkout-session skapande misslyckas
Checkout-session skapande misslyckas
Vanliga orsaker:
- Ogiltigt produkt-ID - verifiera att det finns i din Dodo-instrumentpanel
- Fel API-nyckel eller miljöinställning i
.env - Kontrollera serverloggarna för detaljerade felmeddelanden
Webhooks tar inte emot händelser
Webhooks tar inte emot händelser
För lokal testning, använd ngrok för att exponera din server:Uppdatera webhook-URL:en i din Dodo-instrumentpanel till ngrok-URL:en. Se till att uppdatera din
.env fil med den korrekta webhook-verifieringsnyckeln.Mallar laddas inte
Mallar laddas inte
Se till att du kör servern från projektets rotkatalog, eller att mallarnas sökväg är korrekt konfigurerad i din kod.
Lär dig mer
Go SDK
Komplett Go SDK-dokumentation
Webhooks Dokumentation
Lär dig om alla webhook-händelser och bästa praxis
Checkout-sessioner
Djupdykning i konfiguration av checkout-sessioner
API-referens
Komplett Dodo Payments API-dokumentation
Support
Behöver du hjälp med boilerplate?- Gå med i vår Discord-community för frågor och diskussioner
- Kolla in GitHub-repositoriet för problem och uppdateringar
- Kontakta vårt supportteam för hjälp