Skip to main content
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 timeout

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:
POST /subscriptions (metode subscriptions.create pada SDK) sudah deprecated. Metode ini masih berfungsi untuk integrasi yang sudah ada, tetapi integrasi baru sebaiknya membuat subscription melalui Checkout Session.
Billing memerlukan setidaknya kode ISO dua huruf Country. Customer adalah sebuah CustomerRequestUnionParam — teruskan AttachExistingCustomerParam{CustomerID: ...} untuk customer yang sudah ada atau NewCustomerParam{Email: ..., Name: ...} untuk customer baru. ProductPrice menggunakan denominasi mata uang terkecil.

Penagihan Berbasis Penggunaan

Menerima Event Penggunaan

Lacak event khusus:

Mencantumkan Event Penggunaan

Penanganan Error

Saat API mengembalikan status code non-success, SDK mengembalikan error bertipe *dodopayments.Error. Error ini mengekspos StatusCode, *http.Request yang mendasarinya, dan *http.Response, serta JSON dari error body. Gunakan pola errors.As untuk memeriksanya, lalu gunakan StatusCode untuk menangani kasus tertentu:

Middleware

Tambahkan middleware khusus untuk logging atau metrik:

Konkurensi

Client aman digunakan secara bersamaan:

Resource

GitHub Repository

Lihat source code dan berkontribusilah

API Reference

Dokumentasi API lengkap

Discord Community

Dapatkan bantuan dan terhubung dengan developer

Report Issues

Laporkan bug atau ajukan fitur

Dukungan

Butuh bantuan dengan Go SDK?

Berkontribusi

Kami menyambut kontribusi! Lihat panduan kontribusi untuk memulai.
Terakhir diubah pada 17 Agustus 2026