SDKs & Libraries
SDK backend resmi untuk TypeScript, Python, Go, PHP, Java, Kotlin, C#, Ruby, dan Rust. Library ini menangani autentikasi, serialisasi, dan penanganan error sehingga Anda dapat berfokus pada integrasi.
Mobile Checkout SDKs
Buka hosted checkout Dodo dari aplikasi Android, iOS, React Native, dan Flutter, lalu dapatkan hasil bertipe dalam satu panggilan. SDK ini tidak menyimpan API key.
URL Environment
- Test Mode:
https://test.dodopayments.com - Live Mode:
https://live.dodopayments.com
Pelajari lebih lanjut tentang Test Mode vs Live Mode.
Autentikasi
Permintaan API memerlukan API key, kecuali beberapa endpoint publik seperti Activate License, Validate License, dan Deactivate License. Buat API key di dashboard Anda dan sertakan di headerAuthorization pada setiap permintaan.
1
Generate an API Key
Buka Developer → API Keys di dashboard Anda dan pilih Add API Key. Buat key dalam mode yang ingin Anda panggil: test mode key hanya berfungsi dengan
https://test.dodopayments.com, sedangkan live mode key hanya berfungsi dengan https://live.dodopayments.com. Berikan nama deskriptif untuk key dan pilih tingkat akses Anda:- Enable write access dicentang (default): Izin baca dan tulis penuh untuk semua operasi API.
- Enable write access tidak dicentang: Akses hanya-baca. Anda dapat mengambil data (payment, subscription, customer, product), tetapi tidak dapat membuat atau mengubah resource.
2
Store Your Key Securely
Salin key segera. Anda tidak akan dapat melihatnya lagi. Simpan di environment variable seperti
DODO_PAYMENTS_API_KEY.3
Authenticate Requests
Sertakan API key Anda di header
Authorization pada setiap request:Format Response
Request yang berhasil mengembalikan200 atau 201 dengan body JSON, atau 204 tanpa body. Error mengembalikan status 4xx atau 5xx dengan body JSON yang berisi code dan message.
Rate Limits
API menerapkan dua limit sekaligus: limit burst per detik dan limit berkelanjutan per menit. Limit berlaku untuk seluruh bisnis Anda, di semua API key miliknya, dan bergantung pada tier rate limit bisnis Anda.Tier Default
Tier Lebih Tinggi
Bisnis dengan kebutuhan API yang lebih besar dapat meningkatkan rate limit ke tier yang lebih tinggi:Request Tanpa Autentikasi
Request tanpa API key yang valid dibatasi berdasarkan alamat IP:Header Rate Limit
Response menyertakan header yang menunjukkan penggunaan Anda saat ini:X-RateLimit-Limit— Jumlah maksimum request yang diizinkan dalam window saat ini.X-RateLimit-Remaining— Jumlah request yang tersisa sebelum Anda mencapai limit.X-RateLimit-Reset— Jumlah detik hingga window saat ini di-reset.
429 Too Many Requests. Terapkan exponential backoff dalam logika retry Anda.
Penanganan Error
Untuk mengetahui arti sebuah error dan cara mengatasinya, lihat halaman kode error dan transaction failures.Error Codes
Daftar lengkap kode error dan artinya.
Transaction Failures
Masalah transaction yang umum dan cara menanganinya.
Webhook
Terima notifikasi real-time saat payment, subscription, dan event lainnya terjadi. Siapkan webhook di dashboard Anda dan tangani event yang diperlukan oleh integrasi Anda.Webhook Guide
Siapkan webhook, tangani event, dan verifikasi signature.
Panduan Integrasi
Mulai dengan salah satu panduan berikut untuk membuat integrasi pertama Anda:One-time Payments
Buat checkout session, payment link, dan tangani payment.
Subscriptions
Siapkan recurring billing, kelola plan, dan tangani event lifecycle.
Usage-Based Billing
Ukur penggunaan dan kenakan biaya kepada customer berdasarkan konsumsi.
Checkout Sessions
Buat pengalaman checkout yang aman dan di-host.