Langsung ke konten utama

GitHub Repository

Boilerplate Minimal Go + Dodo Payments

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

  • Quick Setup - Mulai dalam waktu kurang dari 5 menit
  • Payment Integration - Alur checkout yang sudah dikonfigurasi menggunakan SDK dodopayments-go
  • Modern UI - Halaman harga bertema gelap yang bersih dengan template HTML
  • Webhook Handling - Verifikasi dan proses event pembayaran dengan aman
  • Customer Portal - Manajemen langganan swalayan
  • Go Best Practices - Arsitektur bersih dengan cmd, internal, dan templates
  • Pre-filled Checkout - Menunjukkan cara meneruskan 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

Clone the Repository

2

Install Dependencies

Atau secara manual:
3

Get API Credentials

Daftar di Dodo Payments dan dapatkan kredensial Anda dari dashboard:
Pastikan Anda berada dalam Test Mode saat mengembangkan!
4

Configure Environment Variables

Buat file .env di direktori root:
Perbarui nilai dengan kredensial Dodo Payments Anda:
.env
Jangan pernah meng-commit file .env ke kontrol versi. File tersebut sudah termasuk dalam .gitignore.
5

Add Your Products

Perbarui internal/lib/products.go dengan ID produk Anda yang sesungguhnya dari Dodo Payments:
6

Run the Development Server

Atau secara manual:
Buka http://localhost:8000 untuk melihat halaman harga Anda!
Anda akan melihat halaman harga bertema gelap dengan produk Anda siap dibeli.

Struktur Proyek

Endpoint API

Boilerplate ini mencakup endpoint yang sudah dikonfigurasi sebagai berikut:

Kustomisasi

Perbarui Informasi Produk

Edit internal/lib/products.go untuk mengubah:
  • ID Produk (dari dashboard Dodo Anda)
  • Harga
  • Fitur
  • Deskripsi

Praisi Data Pelanggan

Di templates/index.html, ganti data pelanggan yang di-hardcode dengan data pengguna Anda yang sebenarnya:
Dalam aplikasi produksi, Anda akan menyuntikkan nilai-nilai ini secara dinamis dari sistem otentikasi Anda.

Peristiwa Webhook

Boilerplate ini menunjukkan penanganan event webhook di internal/api/webhook.go. Event yang didukung mencakup: Tambahkan logika bisnis Anda di dalam penangan webhook untuk:
  • 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:
Perbarui URL webhook di Dasbor Dodo Payments Anda:

Penyebaran

Bangun untuk Produksi

Atau secara manual:

Deploy ke Vercel

[ Deploy dengan Vercel ](https://vercel.com/new/clone?repository-url=https://github.com/dodopayments/go-boilerplate)

Docker

Buat Dockerfile:
Bangun dan jalankan:

Pertimbangan Produksi

Sebelum menerapkan ke produksi:
  • Ubah DODO_PAYMENTS_ENVIRONMENT menjadi live_mode
  • Gunakan kunci API produksi dari dashboard
  • Perbarui URL webhook ke domain produksi Anda
  • Aktifkan HTTPS untuk semua endpoint

Pemecahan Masalah

Pastikan modul Go telah diunduh dengan benar:
Penyebab umum:
  • ID produk tidak valid - verifikasi bahwa ID tersebut ada di dashboard Dodo Anda
  • Kunci API atau pengaturan lingkungan yang salah di .env
  • Periksa log server untuk pesan kesalahan yang lebih rinci
Untuk pengujian lokal, gunakan ngrok untuk mengekspos server Anda:
Perbarui URL webhook di dashboard Dodo Anda ke URL ngrok. Pastikan memperbarui file .env dengan kunci verifikasi webhook yang benar.
Pastikan Anda menjalankan server dari direktori root proyek, atau path template telah dikonfigurasi dengan benar dalam kode Anda.

Pelajari Lebih Lanjut

Go SDK

Dokumentasi lengkap Go SDK

Webhooks Documentation

Pelajari semua event webhook dan praktik terbaik

Checkout Sessions

Pendalaman konfigurasi sesi checkout

API Reference

Dokumentasi lengkap API Dodo Payments

Dukungan

Butuh bantuan dengan boilerplate?
Terakhir diubah pada 9 Juni 2026