Ini adalah Android checkout SDK resmi (
com.dodopayments.api:checkout-android),
untuk membuka checkout yang di-host Dodo. SDK ini berbeda dari
backend Kotlin SDK, yang memanggil Dodo
Payments API dari server Anda.Checkout Sessions API
Buat
checkout_url yang dibuka SDK iniMobile Integration Guide
Praktik terbaik untuk alur checkout seluler
androidx.browser.customtabs. SDK ini tidak memiliki kode networking dan tidak menyimpan API key. Anda meneruskan checkoutUrl dari checkout session backend, dan SDK mengembalikan CheckoutResult bertipe saat pengguna menyelesaikan atau meninggalkan alur.
Persyaratan: minSdk 23, Kotlin, Java 17.
Instalasi
1
Add the Dependency
build.gradle.kts
2
Register a Callback URL Scheme
Tetapkan callback scheme Anda sebagai Gradle manifest placeholder. Manifest milik library
sudah mendeklarasikan intent filter activity redirect menggunakan token
Nilainya harus cocok dengan scheme dalam
${dodoCallbackScheme}, sehingga satu properti ini sudah mencakup seluruh penyiapan —
Anda tidak perlu menambahkan XML manifest:build.gradle.kts
CheckoutParams.returnUrl (misalnya
myapp://checkout/return).Jika Anda menghilangkan placeholder sepenuhnya, build langsung gagal dengan
kesalahan unresolved-placeholder, bukan gagal secara diam-diam saat checkout. Jika
Anda menetapkannya tetapi tidak cocok dengan scheme milik
returnUrl, DodoCheckout.start
akan melempar PLATFORM_ERROR sebelum menampilkan apa pun.Penggunaan
SDK mendukung dua gaya pemanggilan.- Launcher (Recommended)
- Suspend Function
Daftarkan contract dengan
registerForActivityResult, lalu jalankan:Arti Result
CheckoutStatus
wajib
Salah satu dari
SUCCEEDED, FAILED, CANCELLED, PENDING, EXPIRED.String?
Diatur saat return URL menyertakannya. Tampilkan di UI, jangan gunakan untuk
memberikan akses. Lihat Verifikasi Pembayaran di bawah.
String?
Diatur untuk subscription checkout.
List<String>?
Diatur saat checkout menyertakan produk license key.
String?
Diatur saat checkout menangkap email.
Map<String, String>
Setiap query parameter dari return URL, secara verbatim.
Verifikasi Pembayaran
Webhooks
Dengarkan payment events secara real time
Get Payment Detail
Query status pembayaran sesuai kebutuhan
CheckoutResult.status.
Error
DodoCheckout.start hanya melempar CheckoutError untuk penggunaan yang salah atau kegagalan platform. Baca kodenya dari CheckoutError.code:
INVALID_CHECKOUT_URL: bukan session URLcheckout.dodopayments.com.INVALID_RETURN_URL: bukan URL absolut yang valid.ALREADY_IN_PROGRESS: checkout sedang berjalan.PLATFORM_ERROR: kegagalan platform yang tidak terduga, termasukreturnUrlyang schemenya tidak cocok dengan placeholderdodoCallbackSchemeAnda.
CANCELLED atau
FAILED), bukan error yang dilempar. Dengan gaya launcher, error validasi
dilempar dari launcher.launch(...).
Session yang Ditinggalkan
Jika aplikasi dihentikan atau pengguna melakukan force-stop selama checkout, SDK menyimpan session secara lokal. Saat aplikasi diluncurkan berikutnya, periksa session yang ditinggalkan dan rekonsiliasikan dengan backend Anda:abandoned.createdAt adalah timestamp epoch dalam milidetik.
Terkait
Mobile Integration Guide
Praktik terbaik untuk alur checkout seluler
Kotlin SDK
Backend SDK untuk operasi sisi server