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
Demo Interaktif
Lihat checkout overlay dalam aksi dengan demo langsung kami.
Memulai dengan Cepat
Mulai dengan SDK Checkout Dodo Payments hanya dalam beberapa baris kode:Panduan Integrasi Langkah-demi-Langkah
1
Instal SDK
Instal SDK Checkout Dodo Payments menggunakan manajer paket pilihan Anda:
2
Inisialisasi SDK
Inisialisasi SDK di aplikasi Anda, biasanya di komponen utama atau titik masuk aplikasi:
3
Buat Komponen Tombol Checkout
Buat komponen yang membuka overlay checkout:
4
Tambahkan Checkout ke Halaman Anda
Gunakan komponen tombol checkout di aplikasi Anda:
5
Tangani Halaman Sukses dan Gagal
Buat halaman untuk menangani pengalihan checkout:
6
Uji Integrasi Anda
- 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 peristiwa checkout tercatat di konsol browser Anda.
7
Go Live
Saat Anda siap untuk produksi:
- Ubah mode menjadi
'live':
- Perbarui URL checkout Anda untuk menggunakan sesi checkout langsung dari backend Anda
- Uji alur lengkap di produksi
- Pantau peristiwa dan kesalahan
Referensi API
Konfigurasi
Opsi Inisialisasi
| Opsi | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
mode | "test" | "live" | Ya | Mode lingkungan: 'test' untuk pengembangan, 'live' untuk produksi |
displayType | "overlay" | "inline" | Tidak | Tipe tampilan: 'overlay' untuk checkout modal (default), 'inline' untuk checkout tersemat |
onEvent | function | Ya | Fungsi callback untuk menangani peristiwa checkout |
Opsi Checkout
| Opsi | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
checkoutUrl | string | Ya | URL sesi checkout dari API buat sesi checkout |
options.showTimer | boolean | Tidak | Tampilkan atau sembunyikan timer checkout. Defaultnya adalah true. Ketika dinonaktifkan, Anda akan menerima peristiwa checkout.link_expired ketika sesi berakhir. |
options.showSecurityBadge | boolean | Tidak | Tampilkan atau sembunyikan lencana keamanan. Defaultnya adalah true. |
options.manualRedirect | boolean | Tidak | Ketika diaktifkan, checkout tidak akan secara otomatis mengalihkan setelah selesai. Sebagai gantinya, Anda akan menerima peristiwa 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 peristiwa waktu nyata yang dapat Anda dengarkan melalui callbackonEvent:
Data Peristiwa Status Checkout
KetikamanualRedirect diaktifkan, Anda menerima peristiwa checkout.status dengan data berikut:
Data Peristiwa Pengalihan Checkout Diminta
KetikamanualRedirect diaktifkan, Anda menerima peristiwa checkout.redirect_requested dengan data berikut:
| Tipe Peristiwa | Deskripsi |
|---|---|
checkout.opened | Overlay checkout telah dibuka |
checkout.payment_page_opened | Halaman pembayaran telah ditampilkan |
checkout.customer_details_submitted | Detail pelanggan dan penagihan telah diserahkan |
checkout.closed | Overlay checkout telah ditutup |
checkout.redirect | Checkout akan melakukan pengalihan |
checkout.error | Terjadi kesalahan selama checkout |
checkout.link_expired | Ditembak ketika sesi checkout berakhir. Hanya diterima ketika showTimer diatur ke false. |
checkout.status | Ditembak ketika manualRedirect diaktifkan. Berisi status checkout (succeeded, failed, atau processing). |
checkout.redirect_requested | Ditembak ketika manualRedirect diaktifkan. Berisi URL untuk mengalihkan 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:Dukungan TypeScript
SDK ditulis dalam TypeScript dan mencakup definisi tipe yang komprehensif. Semua API publik sepenuhnya diketik untuk pengalaman pengembang yang lebih baik dan dukungan IntelliSense.Penanganan Kesalahan
SDK menyediakan informasi kesalahan yang rinci melalui sistem peristiwa. Selalu terapkan penanganan kesalahan yang tepat di callbackonEvent Anda:
Praktik Terbaik
- Inisialisasi sekali: Inisialisasi SDK sekali saat aplikasi Anda dimuat, tidak pada setiap upaya checkout
- Penanganan kesalahan: Selalu terapkan penanganan kesalahan yang tepat di callback peristiwa Anda
- Mode pengujian: Gunakan mode
testselama pengembangan dan beralih kelivehanya ketika siap untuk produksi - Penanganan peristiwa: Tangani semua peristiwa yang relevan untuk pengalaman pengguna yang lengkap
- URL yang valid: Selalu gunakan URL checkout yang valid dari API buat sesi checkout
- TypeScript: Gunakan TypeScript untuk keamanan tipe yang lebih baik dan pengalaman pengembang
- Status pemuatan: Tampilkan status pemuatan saat checkout dibuka untuk meningkatkan UX
- Pengalihan manual: Gunakan
manualRedirectketika Anda memerlukan kontrol kustom atas navigasi pasca-checkout - Manajemen timer: Nonaktifkan timer (
showTimer: false) jika Anda ingin menangani kedaluwarsa sesi secara manual
Pemecahan Masalah
Checkout tidak terbuka
Checkout tidak terbuka
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 dari API buat sesi checkout
- Verifikasi konektivitas jaringan
Peristiwa tidak terjadi
Peristiwa tidak terjadi
Kemungkinan penyebab:
- Penangan peristiwa tidak diatur dengan benar
- Kesalahan JavaScript yang mencegah propagasi peristiwa
- SDK tidak diinisialisasi dengan benar
- Konfirmasi penangan peristiwa diatur dengan benar di
Initialize() - Periksa konsol browser untuk kesalahan JavaScript
- Verifikasi inisialisasi SDK selesai dengan sukses
- Uji dengan penangan peristiwa sederhana terlebih dahulu
Masalah styling
Masalah styling
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 berbagai ukuran layar
- Pastikan tidak ada konflik z-index dengan overlay
Mengaktifkan Apple Pay
Apple Pay memungkinkan pelanggan untuk menyelesaikan pembayaran dengan cepat dan aman menggunakan metode pembayaran yang disimpan. Ketika diaktifkan, pelanggan dapat meluncurkan modal Apple Pay langsung dari overlay checkout di perangkat yang didukung.Apple Pay didukung di iOS 17+, iPadOS 17+, dan Safari 17+ di macOS.
1
Unduh dan unggah file asosiasi domain Apple Pay
Unduh file asosiasi domain Apple Pay.Unggah file ke server web Anda di
/.well-known/apple-developer-merchantid-domain-association. Misalnya, jika situs web Anda adalah example.com, buat file tersedia di https://example.com/well-known/apple-developer-merchantid-domain-association.2
Minta aktivasi Apple Pay
Kirim email ke [email protected] dengan informasi berikut:
- URL domain produksi Anda (misalnya,
https://example.com) - Permintaan untuk mengaktifkan Apple Pay untuk domain Anda
Anda akan menerima konfirmasi dalam 1-2 hari kerja setelah Apple Pay diaktifkan untuk domain Anda.
3
Verifikasi ketersediaan Apple Pay
Setelah menerima konfirmasi, uji Apple Pay di checkout Anda:
- Buka checkout Anda di perangkat yang didukung (iOS 17+, iPadOS 17+, atau Safari 17+ di macOS)
- Verifikasi bahwa tombol Apple Pay muncul sebagai opsi pembayaran
- Uji alur pembayaran lengkap
Dukungan Browser
SDK Dodo Payments Checkout mendukung browser berikut:- Chrome (terbaru)
- Firefox (terbaru)
- Safari (terbaru)
- Edge (terbaru)
- IE11+
Overlay vs Inline Checkout
Pilih jenis checkout yang tepat untuk kasus penggunaan Anda:| Fitur | Checkout Overlay | Checkout Inline |
|---|---|---|
| Kedalaman integrasi | Modal di atas halaman | Sepenuhnya tersemat di halaman |
| Kontrol tata letak | Terbatas | Kontrol penuh |
| Branding | Terpisah dari halaman | Tanpa batas |
| Upaya implementasi | Lebih rendah | Lebih tinggi |
| Terbaik untuk | Integrasi cepat, halaman yang ada | Halaman checkout kustom, alur konversi tinggi |
Sumber Daya Terkait
Checkout Inline
Sematkan checkout langsung ke halaman Anda untuk pengalaman yang sepenuhnya terintegrasi.
API Sesi Checkout
Buat sesi checkout untuk mendukung pengalaman checkout Anda.
Webhooks
Tangani peristiwa pembayaran di sisi server dengan webhooks.
Panduan Integrasi
Panduan lengkap untuk mengintegrasikan Dodo Payments.