Langsung ke konten utama

Integrasi SDK React Native

SDK React Native Dodo Payments memungkinkan Anda untuk membangun pengalaman pembayaran yang aman di aplikasi Android dan iOS asli Anda. SDK kami menyediakan komponen UI dan layar yang dapat disesuaikan untuk mengumpulkan detail pembayaran.

Fitur

Simplified Security

Kumpulkan data pembayaran sensitif dengan aman sambil tetap mematuhi PCI

Multiple Payment Methods

Terima berbagai metode pembayaran untuk memperluas jangkauan global

Native UI

Layar dan elemen native untuk Android dan iOS
Saat ini, Apple Pay, Google Pay, Cash App, dan UPI belum didukung di SDK React Native. Kami sedang bekerja untuk menambahkan dukungan untuk metode pembayaran ini pada rilis mendatang.

Instalasi

1

Install the SDK

Instal Dodo Payments SDK menggunakan pengelola paket pilihan Anda:
2

Platform-specific setup

Jalankan pod install di folder iOS Anda:

Pengaturan Sisi Klien

1

Get Publishable Key

Dapatkan kunci publik Anda dari dasbor Dodo Payments. (Berbeda untuk mode uji dan langsung) https://app.dodopayments.com/developer/others
2

Setup Payment Provider

Bungkus aplikasi Anda dengan DodoPaymentProvider:
App.tsx
Anda perlu menghasilkan kunci API dari dasbor Dodo Payments Anda. Lihat Panduan pembuatan kunci API untuk instruksi terperinci.
3

Create payment utility function

Buat fungsi utilitas untuk mengambil parameter pembayaran dari API backend Anda:
utils/fetchPaymentParams.ts
Fungsi ini mengasumsikan Anda memiliki endpoint API backend yang membuat payment intent dan mengembalikan client secret. Pastikan backend Anda dikonfigurasi dengan benar untuk menangani pembuatan pembayaran. Lihat Tutorial Integrasi API kami untuk contoh pengaturan backend.
4

Implement the payment screen

Buat layar pembayaran Anda menggunakan hook useCheckout. Berikut implementasinya yang lengkap:
PaymentScreen.tsx
Untuk contoh lengkap dengan styling, penanganan kesalahan, dan opsi kustomisasi, lihat repositori demo kami:

Opsi Konfigurasi

Parameter Sesi

clientSecret
string
wajib
Client secret dari payment intent Anda, diperoleh dari API One time payment atau subscription.
mode
string
wajib
Mode sesi pembayaran (uji atau langsung).
configuration.appearance
object
Opsi kustomisasi untuk tampilan payment sheet
configuration.appearance.themes
string
Mode tema: 'light' atau 'dark'

Kustomisasi Penampilan

Anda dapat menyesuaikan React Native Unified Checkout agar sesuai dengan desain aplikasi Anda dengan mengubah warna, font, dan lainnya melalui parameter appearance saat memanggil initPaymentSession().

Kustomisasi Warna

Setiap kategori warna menentukan warna satu atau lebih komponen di UI. Misalnya, primary menentukan warna tombol Pay. Contoh konfigurasi dengan dukungan mode terang dan gelap:

Kustomisasi Bentuk

Anda dapat menyesuaikan radius batas, lebar batas, dan bayangan yang digunakan di seluruh antarmuka pembayaran:

Kustomisasi Spesifik Komponen

Anda dapat menyesuaikan komponen UI tertentu seperti tombol utama (tombol Bayar). Pengaturan ini memiliki prioritas lebih tinggi daripada pengaturan penampilan global:
Untuk menerapkan kustomisasi ini, sertakan dalam konfigurasi sesi pembayaran Anda:

Penanganan Kesalahan

Tangani berbagai status pembayaran dalam fungsi checkout Anda:
  • Masalah konektivitas jaringan: Pastikan koneksi internet stabil
  • Client secret tidak valid: Pastikan backend menghasilkan payment intent yang sah
  • Ketergantungan peer yang hilang: Instal semua dependensi yang dibutuhkan
  • Pengaturan khusus platform: Selesaikan langkah konfigurasi iOS dan Android
  • Kesalahan API: Periksa Referensi Kode Error untuk penanganan kesalahan lebih lanjut
  • Aktifkan logging debug dalam pengembangan
  • Periksa permintaan jaringan ke backend Anda
  • Verifikasi kunci API dikonfigurasi dengan benar
  • Uji di platform iOS dan Android
  • Tinjau Pertanyaan Umum Teknis kami untuk masalah umum
  • Gunakan Mode Uji vs Mode Langsung dengan tepat

Metode Pembayaran Uji

Gunakan nomor kartu uji saat pengembangan untuk memverifikasi integrasi tanpa memproses pembayaran nyata. Pelajari lebih lanjut tentang proses pengujian dan lingkungan uji yang tersedia.
Terakhir diubah pada 28 Mei 2026