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 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 fielditems-nya berisi hasil dari halaman saat ini. Stream setiap item di semua halaman dengan into_stream:
get_next_page:
Penanganan Error
Setiap method mengembalikandodopayments::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 rendahrequest, 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?- Discord: Bergabunglah dengan server komunitas kami untuk mendapatkan dukungan secara real-time
- Email: Hubungi kami di support@dodopayments.com
- GitHub: Buka issue di repository