Langsung ke konten utama
SDK Go menyediakan antarmuka Go yang bersih dan idiomatik untuk mengintegrasikan Dodo Payments ke dalam aplikasi Anda. Ini menawarkan dukungan konteks, respons yang terketik dengan kuat, kemampuan middleware, dan aman untuk digunakan secara bersamaan.

Instalasi

Instal SDK menggunakan modul Go:
Atau untuk mengunci ke versi tertentu:
SDK memerlukan Go 1.22 atau versi lebih baru, memanfaatkan fitur Go modern untuk kinerja optimal.

Memulai dengan Cepat

Inisialisasi klien dan buat sesi checkout pertama Anda:
Selalu simpan kunci API Anda dengan aman menggunakan variabel lingkungan. Jangan pernah menuliskannya secara langsung (hardcode) dalam kode sumber Anda.

Fitur Utama

Context Support

Dukungan penuh untuk context.Context untuk pembatalan dan batas waktu

Strong Typing

Permintaan dan respons yang sangat bertipe untuk keamanan waktu kompilasi

Middleware

Dukungan middleware yang dapat diperluas untuk pencatatan (logging), metrik, dan logika kustom

Goroutine Safe

Klien thread-safe yang dirancang untuk operasi bersamaan

Konfigurasi

Konteks dan Batas Waktu

Manfaatkan konteks Go untuk batas waktu dan pembatalan:

Konfigurasi Ulang

Konfigurasi perilaku ulang otomatis:

Operasi Umum

Buat Sesi Checkout

Hasilkan sesi checkout:

Kelola Pelanggan

Buat dan ambil informasi pelanggan:

Tangani Langganan

Buat dan kelola langganan berulang:
Billing memerlukan kode Country ISO dua huruf minimal. Customer adalah CustomerRequestUnionParam — gunakan AttachExistingCustomerParam{CustomerID: ...} untuk pelanggan yang ada atau NewCustomerParam{Email: ..., Name: ...} untuk pelanggan baru. ProductPrice adalah dalam denominasi mata uang terendah.

Penagihan Berbasis Penggunaan

Memasukkan Peristiwa Penggunaan

Lacak peristiwa kustom:

Daftar Peristiwa Penggunaan

Penanganan Kesalahan

Ketika API mengembalikan kode status non-sukses, SDK akan mengembalikan kesalahan tipe *dodopayments.Error. Ini mengekspos StatusCode, *http.Request yang mendasari, dan *http.Response, serta JSON dari badan kesalahan. Gunakan pola errors.As untuk memeriksanya, dan bercabang pada StatusCode untuk menangani kasus khusus.

Middleware

Tambahkan middleware kustom untuk logging atau metrik:

Konkurensi

Klien aman untuk penggunaan bersamaan:

Sumber Daya

GitHub Repository

Lihat kode sumber dan kontribusi

API Reference

Dokumentasi API lengkap

Discord Community

Dapatkan bantuan dan terhubung dengan pengembang

Report Issues

Laporkan bug atau minta fitur

Dukungan

Butuh bantuan dengan Go SDK?

Berkontribusi

Kami menyambut kontribusi! Periksa panduan berkontribusi untuk memulai.
Terakhir diubah pada 18 Juni 2026