Instalasi
Tambahkan SDK ke proyek Anda dengan Cargo: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 lingkunganDODO_PAYMENTS_API_KEY secara default. Inisialisasi klien dan buat sesi checkout pertama Anda:
Fitur Inti
Async First
Dibangun di atas Tokio dan reqwest dengan dukungan
async/await di seluruhStrong 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:
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:
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 bidangitems memegang halaman hasil saat ini. Melakukan streaming setiap item di seluruh halaman dengan into_stream:
get_next_page:
Penanganan Kesalahan
Setiap metode mengembalikandodopayments::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 pembangunrequest 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?- Discord: Bergabunglah dengan server komunitas kami untuk dukungan real-time
- Email: Hubungi kami di support@dodopayments.com
- GitHub: Buka isu di repository