Ini adalah checkout SDK React Native resmi dari Dodo Payments,
@dodopayments/react-native-checkout. SDK ini membuka hosted checkout Dodo di tampilan browser native dan mengembalikan hasil bertipe. Catatan: terdapat package lama yang tidak terkait bernama dodopayments-react-native-sdk (unscoped) dengan API yang sepenuhnya berbeda. Halaman ini hanya mendokumentasikan package scoped resmi yang saat ini digunakan.Checkout Sessions API
Buat checkout_url yang dibuka SDK ini, dari backend Anda.
Mobile Integration Guide
Lihat bagaimana hal ini menjadi bagian dari alur pembayaran mobile secara keseluruhan.
SFSafariViewController di iOS dan Chrome Custom Tab di Android, tidak menyimpan API key, serta tidak pernah memanggil Dodo API secara langsung. Semua logika checkout berjalan di browser; SDK hanya mengelola siklus hidup tampilan dan menangkap return URL.
Instalasi
1
Install the Package
- Android
- iOS
- Expo
Package ini ditautkan secara otomatis dan menarik Tidak diperlukan konfigurasi tambahan; dependency native diselesaikan secara otomatis.
com.dodopayments.api:checkout-android dari Maven.2
Register a Callback URL Scheme
Aplikasi Anda harus mendaftarkan URL scheme untuk menerima return URL dari checkout.
- Android (Gradle)
- iOS (Info.plist)
- Expo (both platforms)
Di Ganti
android/app/build.gradle:android/app/build.gradle
"myapp" dengan scheme aplikasi Anda.Penggunaan
Meneruskan Return URL
ListenerLinking diperlukan untuk penanganan return URL di iOS. Di Android, handleOpenURL tidak melakukan apa pun dan menyelesaikan false karena core Android menangani redirect-nya secara native. Listener ini aman untuk didaftarkan tanpa syarat di kedua platform.
Arti Hasil
CheckoutStatus
wajib
Salah satu dari
succeeded, failed, cancelled, pending, expired.string
Diatur ketika return URL menyertakan salah satunya. Tampilkan di UI, tetapi jangan gunakan untuk memberikan akses. Lihat Verifikasi Pembayaran di bawah.
string
Diatur untuk subscription checkout.
string[]
Diatur ketika checkout menyertakan produk license key.
string
Diatur ketika checkout mengambil email.
Record<string, string>
Setiap query parameter dari return URL, secara verbatim.
Verifikasi Pembayaran
Webhooks
Dodo Payments memanggil backend Anda ketika pembayaran berhasil atau subscription diaktifkan.
Get Payment Detail
Cari
paymentId menggunakan secret key Anda untuk memeriksa statusnya secara langsung.result.status.
Error
start menolak dengan CheckoutError hanya jika terjadi penyalahgunaan atau kegagalan platform. Pembayaran yang dibatalkan atau ditolak selalu berupa hasil, bukan exception.
INVALID_CHECKOUT_URL: bukan session URLcheckout.dodopayments.com.INVALID_RETURN_URL: bukan absolute URL yang valid.ALREADY_IN_PROGRESS: checkout sedang berjalan.PLATFORM_ERROR: kegagalan platform yang tidak terduga.
Session yang Ditinggalkan
Jika aplikasi atau JS bundle dihentikan di tengah checkout, promise akan hilang tetapi layer native tetap mempertahankan session. Pulihkan pada mount berikutnya dan rekonsiliasikan dengan backend Anda.Terkait
Mobile Integration Guide
Contract yang sama untuk Android, iOS, dan Flutter.
Expo Boilerplate
Contoh Expo lengkap dengan integrasi checkout.