Langsung ke konten utama
SDK Rust menyediakan akses yang mudah dan berbasis async ke Dodo Payments REST API dari aplikasi yang ditulis dalam Rust. Ini menawarkan permintaan dan respons yang terketik kuat, pembantu penomoran halaman bawaan, dan batas waktu serta lingkungan yang dapat dikonfigurasi.

Instalasi

Tambahkan SDK ke proyek Anda dengan Cargo:
Atau tambahkan secara manual ke Cargo.toml Anda:
SDK memerlukan Rust 1.75 atau yang lebih baru, memanfaatkan fitur async modern untuk kinerja optimal.

Pengantar Cepat

Klien membaca API key Anda dari variabel lingkungan DODO_PAYMENTS_API_KEY secara default. Inisialisasi klien dan buat sesi checkout pertama Anda:
Selalu simpan API key Anda dengan aman menggunakan variabel lingkungan. Jangan pernah menanamkannya langsung di dalam kode sumber.

Fitur Inti

Async First

Dibangun di atas Tokio dan reqwest dengan dukungan async/await di seluruh

Strong Typing

Permintaan dan respons yang terketik kuat untuk keamanan waktu kompilasi

Auto-Pagination

Melakukan streaming setiap item di seluruh halaman atau memajukan satu halaman pada satu waktu

Configurable

Mengonfigurasi lingkungan, batas waktu, dan URL dasar per klien

Konfigurasi

Variabel Lingkungan

Secara default, Client::from_env() membaca API key Anda dari variabel lingkungan DODO_PAYMENTS_API_KEY dan menggunakan URL dasar default kecuali Anda mengatur DODO_PAYMENTS_BASE_URL:
Anda juga dapat mengonfigurasi klien secara eksplisit. Client::new mengembalikan Result, jadi buka dengan ? di dalam fungsi yang mengembalikan dodopayments::Result:

Lingkungan

URL dasar default adalah https://live.dodopayments.com. Pilih lingkungan lain dengan enum Environment alih-alih menanamkan URL langsung:
Untuk terus membaca API key dari DODO_PAYMENTS_API_KEY via from_env() sambil menargetkan lingkungan non-default, menimpanya pada konfigurasi:

Batas Waktu

Batas waktu permintaan default adalah 30 detik. Timpakan per klien:

Operasi Umum

Buat Sesi Checkout

Hasilkan sesi checkout:

Kelola Pelanggan

Buat dan ambil informasi pelanggan:

Tangani Langganan

Buat dan kelola langganan berulang:
billing memerlukan minimal kode ISO dua huruf country. customer adalah enum CustomerRequest — berikan AttachExisting untuk pelanggan yang sudah ada atau New untuk yang baru. Bidang jumlah seperti product_price ada pada denominasi mata uang terendah (mis., 2500 = $25.00 USD).

Penagihan Berdasarkan Penggunaan

Memasukkan Event Penggunaan

Lacak event khusus:

Daftar Event Penggunaan

Pagination

Endpoint daftar mengembalikan halaman yang terketik yang bidang items memegang halaman hasil saat ini. Melakukan streaming setiap item di seluruh halaman dengan into_stream:
Atau majukan satu halaman pada satu waktu dengan get_next_page:

Penanganan Kesalahan

Setiap metode mengembalikan dodopayments::Result<T>. Kegagalan diwakili oleh enum dodopayments::Error. Cocokkan untuk menangani kesalahan API secara berbeda dari kesalahan transportasi:

Endpoint yang Tidak Didokumentasikan

Untuk memanggil endpoint yang belum diungkapkan sebagai metode terketik, gunakan pembangun request tingkat rendah, yang menerapkan otentikasi dan URL dasar:

Sumber Daya

GitHub Repository

Lihat kode sumber dan berkontribusi

Crates.io

Lihat crate yang dipublikasikan dan versinya

API Reference

Dokumentasi API lengkap

Discord Community

Dapatkan bantuan dan terhubung dengan pengembang

Dukungan

Butuh bantuan dengan Rust SDK?

Berkontribusi

Kami menerima kontribusi! Periksa panduan kontribusi untuk memulai.
Terakhir diubah pada 26 Juni 2026