Skip to main content
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:
POST /subscriptions (method subscriptions.create milik SDK tersebut) sudah tidak digunakan lagi. Method 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 enum CustomerRequest — teruskan AttachExisting untuk customer yang sudah ada atau New untuk customer baru. Field jumlah seperti product_price menggunakan denominasi mata uang terkecil (misalnya, 2500 = $25.00 USD).

Penagihan Berbasis Penggunaan

Memasukkan Event Penggunaan

Lacak event kustom:

Mencantumkan Event Penggunaan

Pagination

Endpoint list mengembalikan halaman bertipe yang field items-nya berisi hasil dari halaman saat ini. Stream setiap item di semua halaman dengan into_stream:
Atau lanjutkan satu halaman setiap kali dengan get_next_page:

Penanganan Error

Setiap method mengembalikan dodopayments::Result<T>. Kegagalan direpresentasikan oleh enum dodopayments::Error. Lakukan pencocokan terhadapnya untuk menangani error API secara terpisah dari error transport:

Endpoint yang Tidak Terdokumentasi

Untuk memanggil endpoint yang belum tersedia sebagai method bertipe, gunakan builder tingkat rendah request, yang menerapkan autentikasi dan URL dasar:

Resource

GitHub Repository

Lihat source code dan berkontribusilah

Crates.io

Lihat crate dan versinya yang dipublikasikan

API Reference

Dokumentasi API lengkap

Discord Community

Dapatkan bantuan dan terhubung dengan developer

Dukungan

Butuh bantuan dengan Rust SDK?

Berkontribusi

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