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 | Tipe | Wajib | Deskripsi |
|---|---|---|---|
checkoutUrl | string | Ya | URL sesi checkout dari create checkout session API |
options.showTimer | boolean | Tidak | Tampilkan atau sembunyikan timer checkout. Defaultnya adalah true. Ketika dinonaktifkan, Anda akan menerima event checkout.link_expired saat sesi kedaluwarsa. |
options.showSecurityBadge | boolean | Tidak | Tampilkan atau sembunyikan lencana keamanan. Defaultnya adalah true. |
options.manualRedirect | boolean | Tidak | Saat diaktifkan, checkout tidak akan mengalihkan secara otomatis setelah selesai. Sebagai gantinya, Anda akan menerima event checkout.status dan checkout.redirect_requested untuk menangani pengalihan sendiri. |
Metode
Buka Checkout
Membuka overlay checkout dengan URL sesi checkout yang ditentukan.manualRedirect, tangani penyelesaian checkout di callback onEvent Anda:
Tutup Checkout
Menutup overlay checkout secara programatis.Periksa Status
Mengembalikan apakah overlay checkout saat ini terbuka.Peristiwa
SDK menyediakan event waktu nyata yang bisa Anda dengarkan melalui callbackonEvent:
Data Peristiwa Status Checkout
SaatmanualRedirect diaktifkan, Anda menerima event checkout.status dengan data berikut:
Data Peristiwa Pengalihan Checkout Diminta
SaatmanualRedirect diaktifkan, Anda menerima event checkout.redirect_requested dengan data berikut:
| Jenis Event | Deskripsi |
|---|---|
checkout.opened | Overlay checkout telah dibuka |
checkout.form_ready | Form checkout siap menerima input pengguna. Berguna untuk menyembunyikan status pemuatan. |
checkout.payment_page_opened | Halaman pembayaran telah ditampilkan |
checkout.customer_details_submitted | Detail pelanggan dan tagihan telah diserahkan |
checkout.closed | Overlay checkout telah ditutup |
checkout.redirect | Checkout akan melakukan pengalihan |
checkout.error | Terjadi kesalahan selama checkout |
checkout.link_expired | Dipicu saat sesi checkout kedaluwarsa. Hanya diterima ketika showTimer disetel ke false. |
checkout.status | Dipicu saat manualRedirect diaktifkan. Berisi status checkout (succeeded, failed, atau processing). |
checkout.redirect_requested | Dipicu saat manualRedirect diaktifkan. Berisi URL untuk mengarahkan pelanggan. |
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 menyesuaikan warna, border, teks, tombol, dan radius border.
Bagian ini membahas konfigurasi tema di sisi klien menggunakan SDK Checkout. Anda juga dapat mengonfigurasi tema di sisi server saat membuat sesi checkout melalui API menggunakan parameter
theme_config. Lihat Kustomisasi Tema Checkout untuk konfigurasi tingkat API, atau gunakan halaman Desain di dasbor 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 menimpa 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
Bagi pengguna TypeScript, semua tipe konfigurasi tema diekspor:Penanganan Error
SDK menyediakan informasi kesalahan rinci melalui sistem event. Selalu terapkan penanganan error yang tepat dalam callbackonEvent Anda:
Praktik Terbaik
- Inisialisasi sekali: Inisialisasi SDK sekali saat aplikasi Anda dimuat, bukan setiap kali mencoba checkout
- Penanganan error: Selalu terapkan penanganan error yang tepat di callback event Anda
- Mode pengujian: Gunakan mode
testselama pengembangan dan beralih kelivehanya ketika siap untuk produksi - Penanganan event: Tangani semua event relevan untuk pengalaman pengguna yang lengkap
- URL Valid: Selalu gunakan URL checkout valid dari create checkout session API
- TypeScript: Gunakan TypeScript untuk keamanan tipe yang lebih baik dan pengalaman pengembang yang lebih baik
- Status pemuatan: Tampilkan status pemuatan saat checkout sedang dibuka untuk meningkatkan UX
- Pengalihan manual: Gunakan
manualRedirectketika Anda memerlukan kontrol khusus atas navigasi pasca-checkout - 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 tidak valid
- Kesalahan JavaScript di konsol
- Masalah konektivitas jaringan
- Verifikasi inisialisasi SDK terjadi sebelum membuka checkout
- Periksa kesalahan di konsol
- Pastikan URL checkout valid dan berasal dari create checkout session API
- Verifikasi konektivitas jaringan
Events not firing
Events not firing
Kemungkinan penyebab:
- Pengelola event tidak disiapkan dengan benar
- Kesalahan JavaScript yang mencegah propagasi event
- SDK tidak diinisialisasi dengan benar
- Pastikan pengelola event dikonfigurasi dengan benar di
Initialize() - Periksa konsol browser untuk kesalahan JavaScript
- Verifikasi inisialisasi SDK selesai dengan sukses
- Uji dengan pengelola event 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 sudah benar
- Uji pada ukuran layar berbeda
- Pastikan tidak ada konflik z-index dengan overlay
Mengaktifkan Dompet Digital
Untuk informasi detail tentang menyiapkan Google Pay dan dompet digital lainnya, lihat halaman Dompet Digital.Apple Pay belum didukung di overlay checkout. Dukungan untuk Apple Pay akan segera hadir.
Dukungan Browser
SDK Checkout Dodo Payments mendukung browser berikut:- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- IE11+
Overlay vs Inline Checkout
Pilih jenis checkout yang tepat untuk kasus penggunaan Anda:| Fitur | Overlay Checkout | Inline Checkout |
|---|---|---|
| Kedalaman integrasi | Modal di atas halaman | Sepenuhnya tertanam di halaman |
| Kontrol tata letak | Terbatas | Kontrol penuh |
| Branding | Terpisah dari halaman | Mulus |
| Upaya implementasi | Lebih rendah | Lebih tinggi |
| Cocok untuk | Integrasi cepat, halaman yang sudah ada | Halaman checkout khusus, alur konversi tinggi |
Sumber Terkait
Inline Checkout
Sisipkan checkout langsung ke halaman Anda untuk pengalaman yang sepenuhnya terintegrasi.
Checkout Sessions API
Buat sesi checkout untuk mendukung pengalaman checkout Anda.
Webhooks
Tangani event pembayaran di sisi server dengan webhooks.
Integration Guide
Panduan lengkap untuk mengintegrasikan Dodo Payments.