Ikhtisar
SDK Checkout Dodo Payments menyediakan cara yang mulus untuk mengintegrasikan overlay pembayaran kami ke dalam aplikasi web Anda. Dibangun dengan TypeScript dan standar web modern, ini menawarkan solusi yang kuat untuk menangani pembayaran dengan penanganan peristiwa real-time dan tema yang dapat disesuaikan.
Demo
Interactive Demo
Lihat overlay checkout beraksi dengan demo langsung kami.
Memulai dengan Cepat
Mulai dengan SDK Checkout Dodo Payments hanya dalam beberapa baris kode:Panduan Integrasi Langkah-demi-Langkah
Initialize the SDK
Inisialisasi SDK di aplikasi Anda, biasanya di komponen utama atau titik masuk aplikasi:
Test Your Integration
- Mulai server pengembangan Anda:
- Uji alur checkout:
- Klik tombol checkout
- Verifikasi overlay muncul
- Uji alur pembayaran menggunakan kredensial uji
- Konfirmasi pengalihan berfungsi dengan benar
Anda harus melihat event checkout tercatat di konsol browser Anda.
Referensi API
Konfigurasi
Opsi Inisialisasi
| Opsi | Tipe | Wajib | Deskripsi |
|---|---|---|---|
mode | "test" | "live" | Ya | Mode lingkungan: 'test' untuk pengembangan, 'live' untuk produksi |
displayType | "overlay" | "inline" | Tidak | Jenis tampilan: 'overlay' untuk modal checkout (default), 'inline' untuk embedded checkout |
onEvent | function | Ya | Fungsi callback untuk menangani event checkout |
Opsi Checkout
| Opsi | Jenis | Diperlukan | Deskripsi |
|---|---|---|---|
checkoutUrl | string | Ya | URL sesi checkout dari API create checkout session |
options.showTimer | boolean | Tidak | Tampilkan atau sembunyikan timer checkout. Defaultnya adalah true. Bila dinonaktifkan, Anda akan menerima event checkout.link_expired ketika sesi berakhir. |
options.showSecurityBadge | boolean | Tidak | Tampilkan atau sembunyikan badge keamanan. Defaultnya adalah true. |
Metode
Buka Checkout
Membuka overlay checkout dengan URL sesi checkout yang ditentukan.Tutup Checkout
Menutup overlay checkout secara programatik.Cek Status
Mengembalikan apakah overlay checkout saat ini terbuka.Events
SDK menyediakan event real-time yang dapat Anda dengarkan melalui callbackonEvent:
| Jenis Event | Deskripsi |
|---|---|
checkout.opened | Overlay checkout telah dibuka |
checkout.form_ready | Formulir checkout siap menerima input pengguna. Berguna untuk menyembunyikan status loading. |
checkout.payment_page_opened | Halaman pembayaran telah ditampilkan |
checkout.customer_details_submitted | Detail pelanggan dan penagihan telah dikirimkan |
checkout.closed | Overlay checkout telah ditutup |
checkout.redirect | Checkout akan melakukan redirect |
checkout.error | Terjadi kesalahan selama checkout |
checkout.link_expired | Terpicu ketika sesi checkout berakhir. Hanya diterima saat showTimer diatur ke false. |
Opsi Implementasi
Instalasi Package Manager
Instal melalui npm, yarn, atau pnpm seperti yang ditunjukkan dalam Panduan Integrasi Langkah-demi-Langkah.Implementasi CDN
Untuk integrasi cepat tanpa langkah build, Anda dapat menggunakan CDN kami:Kustomisasi Tema
Anda dapat menyesuaikan tampilan checkout dengan meneruskan objekthemeConfig dalam parameter options saat membuka checkout. Konfigurasi tema mendukung mode terang dan gelap, memungkinkan Anda untuk menyesuaikan warna, batas, teks, tombol, dan radius batas.
Bagian ini mencakup konfigurasi tema client-side menggunakan Checkout SDK. Anda juga dapat mengonfigurasi tema server-side saat membuat sesi checkout melalui API menggunakan parameter
theme_config. Lihat Kustomisasi Tema Checkout untuk konfigurasi tingkat API, atau gunakan halaman Desain di dashboard untuk mengonfigurasi tema secara visual dengan pratinjau langsung.Konfigurasi Tema Dasar
Konfigurasi Tema Lengkap
Semua properti tema yang tersedia:Hanya Mode Terang
Jika Anda hanya ingin menyesuaikan tema terang:Hanya Mode Gelap
Jika Anda hanya ingin menyesuaikan tema gelap:Penggantian Tema Parsial
Anda dapat mengganti hanya properti tertentu. Checkout akan menggunakan nilai default untuk properti yang tidak Anda tentukan:Konfigurasi Tema dengan Opsi Lain
Anda dapat menggabungkan konfigurasi tema dengan opsi checkout lainnya:Tipe TypeScript
Untuk pengguna TypeScript, semua tipe konfigurasi tema diekspor:Penanganan Kesalahan
SDK menyediakan informasi kesalahan terperinci melalui sistem event. Selalu terapkan penanganan kesalahan yang tepat dalam callbackonEvent Anda:
Praktik Terbaik
- Inisialisasi sekali: Inisialisasi SDK sekali saat aplikasi Anda dimuat, bukan pada setiap percobaan checkout
- Penanganan kesalahan: Selalu terapkan penanganan kesalahan yang tepat dalam callback event Anda
- Mode pengujian: Gunakan mode
testselama pengembangan dan beralih kelivehanya saat siap untuk produksi - Penanganan event: Tangani semua event yang relevan untuk pengalaman pengguna yang lengkap
- URL Valid: Selalu gunakan URL checkout yang valid dari API create checkout session
- TypeScript: Gunakan TypeScript untuk keselamatan tipe dan pengalaman pengembang yang lebih baik
- Status loading: Tampilkan status loading saat checkout dibuka untuk meningkatkan UX
- Manajemen timer: Nonaktifkan timer (
showTimer: false) jika Anda ingin menangani kedaluwarsa sesi secara manual
Pemecahan Masalah
Checkout not opening
Checkout not opening
Kemungkinan penyebab:
- SDK tidak diinisialisasi sebelum memanggil
open() - URL checkout yang tidak valid
- Kesalahan JavaScript dalam konsol
- Masalah konektivitas jaringan
- Verifikasi inisialisasi SDK terjadi sebelum membuka checkout
- Periksa kesalahan konsol
- Pastikan URL checkout valid dan dari API create checkout session
- Verifikasi konektivitas jaringan
Events not firing
Events not firing
Kemungkinan penyebab:
- Penangan event tidak diatur dengan benar
- Kesalahan JavaScript yang mencegah propagasi event
- SDK tidak diinisialisasi dengan benar
- Pastikan penangan event dikonfigurasi dengan benar dalam
Initialize() - Periksa kesalahan JavaScript dalam konsol browser
- Verifikasi inisialisasi SDK selesai dengan sukses
- Uji dengan penangan event yang sederhana terlebih dahulu
Styling issues
Styling issues
Kemungkinan penyebab:
- Konflik CSS dengan gaya aplikasi Anda
- Pengaturan tema tidak diterapkan dengan benar
- Masalah desain responsif
- Periksa konflik CSS di DevTools browser
- Verifikasi pengaturan tema benar
- Uji pada berbagai ukuran layar
- Pastikan tidak ada konflik z-index dengan overlay
Mengaktifkan Dompet Digital
Untuk informasi detil tentang pengaturan Google Pay dan dompet digital lainnya, lihat halaman Dompet Digital.Apple Pay belum didukung dalam overlay checkout. Dukungan untuk Apple Pay segera hadir.
Dukungan Browser
Dodo Payments Checkout SDK mendukung browser berikut:- Chrome (terbaru)
- Firefox (terbaru)
- Safari (terbaru)
- Edge (terbaru)
- IE11+
Overlay vs Inline Checkout
Pilih tipe checkout yang tepat untuk kasus penggunaan Anda:| Fitur | Overlay Checkout | Inline Checkout |
|---|---|---|
| Kedalaman integrasi | Modal di atas halaman | Tertanam sepenuhnya di halaman |
| Kontrol tata letak | Terbatas | Kontrol penuh |
| Branding | Terpisah dari halaman | Mulus |
| Upaya implementasi | Lebih rendah | Lebih tinggi |
| Terbaik untuk | Integrasi cepat, halaman yang ada | Halaman checkout kustom, alur konversi tinggi |
Sumber Daya Terkait
Inline Checkout
Tanam checkout langsung ke dalam halaman Anda untuk pengalaman yang sepenuhnya terintegrasi.
Checkout Sessions API
Buat sesi checkout untuk mendukung pengalaman checkout Anda.
Webhooks
Tangani event pembayaran pada sisi server dengan webhook.
Integration Guide
Panduan lengkap untuk mengintegrasikan Dodo Payments.