Quick Start
Jalankan integrasi pembayaran seluler Anda dalam 4 langkah sederhana
Platform Examples
Contoh kode lengkap untuk Android, iOS, React Native, dan Flutter
Dodo Payments menyediakan checkout SDK resmi untuk Android, iOS, React Native,
dan Flutter. Masing-masing membungkus pola yang didokumentasikan di bawah ini (buka URL checkout,
tangkap pengembalian, parsing hasil) di balik satu panggilan
start(...) bertipe, dengan pemulihan sesi yang ditinggalkan sebagai fitur bawaan. Gunakan WebView manual hanya
jika tidak ada yang sesuai dengan stack Anda.Prasyarat
Sebelum mengintegrasikan Dodo Payments ke aplikasi mobile Anda, pastikan Anda memiliki:- Akun Dodo Payments: Akun merchant aktif dengan akses API
- Kredensial API: API key dan webhook secret key dari dashboard Anda
- Proyek Aplikasi Mobile: Aplikasi Android, iOS, React Native, atau Flutter
- Server Backend: Untuk menangani pembuatan sesi checkout dengan aman
Alur Kerja Integrasi
Integrasi mobile mengikuti proses 4 langkah yang aman, dengan backend Anda menangani panggilan API dan aplikasi mobile Anda mengelola pengalaman pengguna.1
Backend: Create Checkout Session
Checkout Session API Docs
Pelajari cara membuat sesi checkout di backend Anda menggunakan Node.js, Python, dan lainnya. Lihat contoh lengkap dan referensi parameter dalam dokumentasi Checkout Sessions API khusus.
Keamanan: Sesi checkout harus dibuat di server backend Anda, bukan di aplikasi mobile. Hal ini melindungi API key Anda dan memastikan validasi yang tepat.
2
Mobile: Get Checkout URL
Aplikasi mobile Anda memanggil backend untuk mendapatkan URL checkout. Autentikasi
permintaan ini dengan token sesi milik pengguna yang sudah masuk.
- iOS (Swift)
- Android (Kotlin)
- React Native (JavaScript)
- Flutter (Dart)
Keamanan: Aplikasi mobile hanya berkomunikasi dengan backend Anda, bukan langsung dengan Dodo Payments API.
3
Mobile: Open Checkout in Browser
Buka URL checkout di browser dalam aplikasi yang aman untuk memproses pembayaran.
Atau lewati seluruh penyiapan manual dengan checkout SDK resmi untuk
platform Anda.
Pick your mobile SDK
Langkah instalasi dan petunjuk penyiapan untuk Android, iOS, React Native, dan Flutter.
4
Backend: Handle Payment Completion
Proses penyelesaian pembayaran melalui webhook dan URL pengalihan untuk mengonfirmasi status pembayaran.
Pilih SDK Anda
Setiap SDK mobile menyediakan kontrak yang sama: satu panggilanstart(...) membuka checkout
Dodo yang di-hosting di browser native platform dan mengembalikan
CheckoutResult bertipe yang status-nya adalah succeeded, failed, cancelled,
pending, atau expired. Tidak ada yang menyimpan API key atau memanggil Dodo
Payments API, dan keempatnya mendukung pemulihan sesi yang ditinggalkan.
Android
com.dodopayments.api:checkout-android membuka Chrome Custom Tab. Memerlukan minSdk 23.iOS
dodopayments-mobile-sdk-ios membuka SFSafariViewController. Memerlukan iOS 16+.React Native
@dodopayments/react-native-checkout, Turbo Module di atas kedua native core. Memerlukan React Native 0.76+.Flutter
dodopayments_checkout, channel Pigeon di atas kedua native core. Memerlukan Flutter 3.44+.Mendaftarkan Skema URL Callback
Keempat SDK mengembalikan kontrol ke aplikasi Anda melalui skema URL khusus yang Anda pilih, misalnyamyapp://checkout/return. Daftarkan sekali untuk setiap
platform:
- Android
- iOS
- Expo
android/app/build.gradle
Lebih suka membuatnya sendiri? Buka
checkout_url di WebView dan intercept
navigasi ke return_url Anda, lalu baca parameter query status dan payment_id.
SDK di atas melakukan ini untuk Anda di browser nyata platform, sehingga Apple Pay dan Google Pay
tetap berfungsi.Praktik Terbaik
- Keamanan: Jangan pernah menyertakan API key dalam aplikasi Anda. Buat sesi checkout di backend dan teruskan hanya
checkout_urlyang dihasilkan ke client. - Otoritas: Perlakukan
CheckoutResult.statussebagai petunjuk UI. Berikan akses hanya setelah backend Anda mengonfirmasi pembayaran. - Pengalaman Pengguna: Tampilkan status pemuatan saat backend membuat sesi, dan tangani
cancelledsebagai hasil normal, bukan error. - Pengujian: Gunakan test mode dan test cards, lalu verifikasi round trip return-URL di perangkat nyata dan simulator.
Pemecahan Masalah
Masalah Umum
- Callback tidak pernah tiba: Skema dalam
returnUrlharus sama dengan yang Anda daftarkan. Di Android, skema tersebut adalah manifest placeholderdodoCallbackScheme; di iOS dan React Native, skema tersebut adalah URL typeInfo.plist. - Checkout kembali ke browser, bukan ke aplikasi Anda (iOS): Anda belum meneruskan URL masuk. Panggil
DodoCheckout.handleOpenURL(url)dari.onOpenURL,scene(_:openURLContexts:), atau listener React NativeLinking. PLATFORM_ERRORdi Android: Biasanya disebabkan ketidakcocokan skema. Hal ini juga dapat terjadi jikaMainActivityAnda menetapkanandroid:taskAffinity=""(defaultflutter createbawaan), yang menyebabkan beberapa build OEM kehilangan checkout yang sedang berlangsung.ALREADY_IN_PROGRESS: Checkout masih terbuka. Tunggu atau tutup checkout sebelumnya sebelum memulai yang lain.- Build gagal dengan placeholder yang tidak terselesaikan: Anda menambahkan Android SDK tetapi tidak pernah menetapkan
manifestPlaceholders["dodoCallbackScheme"]. - Pembayaran berhasil tetapi akses tidak diberikan: Hal ini diharapkan jika Anda mengandalkan hasil dari mobile. Berikan akses berdasarkan webhook
payment.succeeded/subscription.active.
Sumber Daya Tambahan
Untuk pertanyaan atau dukungan, hubungi support@dodopayments.com.