Repositori GitHub
Boilerplate Go + Dodo Payments minimal
Ikhtisar
Boilerplate Go menyediakan titik awal yang siap produksi untuk mengintegrasikan Dodo Payments dengan backend Go Anda. Template ini mencakup penanganan sesi checkout, verifikasi webhook, integrasi portal pelanggan, dan mengikuti praktik terbaik Go untuk membantu Anda mulai menerima pembayaran dengan cepat.Boilerplate ini menggunakan Go 1.21+ dengan pola arsitektur bersih (
cmd, internal, templates), template HTML, dan SDK dodopayments-go untuk integrasi API yang mulus.Fitur
- Pengaturan Cepat - Mulai dalam waktu kurang dari 5 menit
- Integrasi Pembayaran - Alur checkout yang sudah dikonfigurasi menggunakan SDK
dodopayments-go - UI Modern - Halaman harga bertema gelap yang bersih dengan template HTML
- Penanganan Webhook - Verifikasi dan proses peristiwa pembayaran dengan aman
- Portal Pelanggan - Manajemen langganan mandiri
- Praktik Terbaik Go - Arsitektur bersih dengan
cmd,internal, dantemplates - Checkout Praisi - Menunjukkan pengiriman data pelanggan untuk meningkatkan UX
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki:- Go 1.21+
- Akun Dodo Payments (untuk mengakses API dan Kunci Webhook dari dasbor)
Memulai dengan Cepat
1
Kloning Repositori
2
Instal Dependensi
3
Dapatkan Kredensial API
Daftar di Dodo Payments dan dapatkan kredensial Anda dari dasbor:
- Kunci API: Dasbor → Pengembang → Kunci API
- Kunci Webhook: Dasbor → Pengembang → Webhook
4
Konfigurasi Variabel Lingkungan
Buat file Perbarui nilai dengan kredensial Dodo Payments Anda:
.env di direktori root:.env
5
Tambahkan Produk Anda
Perbarui
internal/lib/products.go dengan ID produk aktual Anda dari Dodo Payments:6
Jalankan Server Pengembangan
Anda seharusnya melihat halaman harga bertema gelap dengan produk Anda siap untuk dibeli.
Struktur Proyek
Endpoint API
Boilerplate ini mencakup endpoint yang sudah dikonfigurasi sebagai berikut:| Endpoint | Metode | Deskripsi |
|---|---|---|
/ | GET | Halaman harga dengan daftar produk |
/api/checkout | POST | Buat sesi checkout baru |
/api/webhook | POST | Tangani webhook Dodo Payments |
/api/customer-portal | POST | Hasilkan URL portal pelanggan |
Kustomisasi
Perbarui Informasi Produk
Editinternal/lib/products.go untuk memodifikasi:
- ID Produk (dari dasbor Dodo Anda)
- Harga
- Fitur
- Deskripsi
Praisi Data Pelanggan
Ditemplates/index.html, ganti data pelanggan yang dikodekan dengan data pengguna Anda yang sebenarnya:
Peristiwa Webhook
Boilerplate ini menunjukkan penanganan peristiwa webhook diinternal/api/webhook.go. Peristiwa yang didukung meliputi:
| Peristiwa | Deskripsi |
|---|---|
subscription.active | Dipicu ketika langganan menjadi aktif |
payment.succeeded | Dipicu ketika pembayaran berhasil |
- Memperbarui izin pengguna di database Anda
- Mengirim email konfirmasi
- Menyediakan akses ke produk digital
- Melacak analitik dan metrik
Menguji Webhook Secara Lokal
Untuk pengembangan lokal, gunakan alat seperti ngrok untuk mengekspos server lokal Anda:Penyebaran
Bangun untuk Produksi
Deploy ke Vercel
[Docker
BuatDockerfile:
Pertimbangan Produksi
Pemecahan Masalah
Kesalahan build atau dependensi yang hilang
Kesalahan build atau dependensi yang hilang
Pastikan modul Go diunduh dengan benar:
Pembuatan sesi checkout gagal
Pembuatan sesi checkout gagal
Penyebab umum:
- ID produk tidak valid - verifikasi bahwa itu ada di dasbor Dodo Anda
- Kunci API atau pengaturan lingkungan yang salah di
.env - Periksa log server untuk pesan kesalahan yang lebih rinci
Webhook tidak menerima peristiwa
Webhook tidak menerima peristiwa
Untuk pengujian lokal, gunakan ngrok untuk mengekspos server Anda:Perbarui URL webhook di dasbor Dodo Anda ke URL ngrok. Pastikan untuk memperbarui file
.env Anda dengan kunci verifikasi webhook yang benar.Template tidak dimuat
Template tidak dimuat
Pastikan Anda menjalankan server dari direktori root proyek, atau bahwa jalur template dikonfigurasi dengan benar dalam kode Anda.
Pelajari Lebih Lanjut
Go SDK
Dokumentasi lengkap Go SDK
Dokumentasi Webhook
Pelajari tentang semua peristiwa webhook dan praktik terbaik
Sesi Checkout
Penjelasan mendalam tentang konfigurasi sesi checkout
Referensi API
Dokumentasi lengkap API Dodo Payments
Dukungan
Butuh bantuan dengan boilerplate?- Bergabunglah dengan komunitas Discord kami untuk pertanyaan dan diskusi
- Periksa repositori GitHub untuk masalah dan pembaruan
- Hubungi tim dukungan kami untuk bantuan