Skip to main content
Overlay checkout membuka jendela modal di atas halaman Anda. Pelanggan memasukkan detail pembayaran mereka di dalam modal sementara halaman Anda tetap terlihat di belakangnya. Saat mereka menutup modal, kendali kembali ke halaman Anda. Saat mereka menyelesaikan pembayaran, mereka akan dialihkan ke return_url.
Modal overlay checkout ditampilkan di atas halaman produk

Interactive Demo

Lihat overlay checkout beraksi melalui demo live kami.

Mulai Cepat

Instal SDK, inisialisasikan, lalu buka checkout dengan URL checkout dari create checkout session API:

Integrasi Langkah demi Langkah

1

Install the SDK

Instal melalui npm, yarn, atau pnpm:
2

Initialize the SDK

Panggil Initialize sekali saat aplikasi dimuat, biasanya di komponen utama atau entry point aplikasi Anda:
Selalu inisialisasikan SDK sebelum membuka checkout. Inisialisasikan sekali saat aplikasi dimuat, bukan sebelum setiap percobaan checkout.
3

Create a Checkout Button

Buat komponen yang membuka modal checkout:
4

Add the Button to Your Page

Gunakan komponen tombol checkout di aplikasi Anda:
5

Handle Redirects

Buat halaman untuk menangani pengalihan checkout setelah pembayaran:
6

Test Your Integration

  1. Jalankan development server Anda:
  1. Uji alur checkout:
    • Klik tombol checkout
    • Pastikan modal muncul
    • Uji alur pembayaran menggunakan kredensial pengujian
    • Pastikan pengalihan berfungsi dengan benar
Anda akan melihat event checkout tercatat di browser console.
7

Go Live

Saat siap untuk production:
  1. Ubah mode menjadi 'live':
  1. Perbarui URL checkout Anda agar menggunakan live checkout sessions dari backend Anda
  2. Uji seluruh alur di production
  3. Pantau event dan error

Referensi API

Inisialisasi

Panggil Initialize sekali untuk menyiapkan SDK:

Buka Checkout

Buka modal checkout:

Tutup Checkout

Tutup modal secara programatis:

Periksa Status

Periksa apakah modal sedang terbuka:

Event

Dengarkan event checkout melalui callback onEvent yang diteruskan ke Initialize:

Implementasi CDN

Untuk integrasi cepat tanpa build step, muat SDK dari CDN:

Kustomisasi Theme

Opsi themeConfig di sisi client deprecated dan akan dihapus pada major version berikutnya dari Checkout SDK (v2.0.0). Penggunaannya akan mencatat peringatan deprecated di browser console. Sebagai gantinya, konfigurasikan theme saat membuat checkout session melalui API menggunakan parameter customization.theme_config — lihat Checkout Theme Customization — atau secara visual di Design page pada dashboard. Theme yang dikonfigurasi dalam session berlaku untuk overlay, inline, dan hosted checkout.
Bagian ini membahas konfigurasi theme di sisi client yang deprecated menggunakan Checkout SDK. Pendekatan yang direkomendasikan adalah mengonfigurasi theme di sisi server saat membuat checkout session melalui API menggunakan parameter theme_config. Lihat Checkout Theme Customization untuk konfigurasi tingkat API, atau gunakan Design page di dashboard untuk mengonfigurasi theme secara visual dengan live preview.
Jika Anda harus menggunakan konfigurasi theme di sisi client, teruskan themeConfig dalam parameter options:

Properti Theme

Semua properti theme yang tersedia untuk mode light dan dark:

Penanganan Error

Selalu terapkan penanganan error dalam callback onEvent Anda:
Selalu tangani event checkout.error untuk memberikan pengalaman pengguna yang baik saat terjadi error.

Praktik Terbaik

  1. Inisialisasikan sekali: Panggil Initialize sekali saat aplikasi dimuat, bukan sebelum setiap checkout
  2. Penanganan error: Terapkan penanganan error yang tepat dalam event callback Anda
  3. Mode pengujian: Gunakan mode "test" selama development dan beralih ke "live" hanya saat siap untuk production
  4. Penanganan event: Tangani semua event yang relevan untuk pengalaman pengguna yang lengkap
  5. URL yang valid: Selalu gunakan URL checkout yang valid dari create checkout session API
  6. TypeScript: Gunakan TypeScript untuk keamanan tipe dan pengalaman developer yang lebih baik
  7. Loading state: Tampilkan loading state saat checkout sedang dibuka untuk meningkatkan UX
  8. Pengelolaan timer: Nonaktifkan timer (showTimer: false) jika Anda ingin menangani kedaluwarsa session secara manual

Pemecahan Masalah

Kemungkinan penyebab:
  • SDK belum diinisialisasikan sebelum memanggil open()
  • URL checkout tidak valid
  • Error JavaScript di console
  • Masalah konektivitas jaringan
Solusi:
  • Pastikan inisialisasi SDK dilakukan sebelum membuka checkout
  • Periksa browser console untuk mengetahui error
  • Pastikan URL checkout valid dan berasal dari create checkout session API
  • Periksa konektivitas jaringan
Kemungkinan penyebab:
  • Event handler tidak disiapkan dengan benar
  • Error JavaScript mencegah propagasi event
  • SDK tidak diinisialisasikan dengan benar
Solusi:
  • Pastikan event handler dikonfigurasi dengan benar di Initialize()
  • Periksa browser console untuk mengetahui error JavaScript
  • Pastikan inisialisasi SDK berhasil diselesaikan
  • Uji terlebih dahulu dengan event handler sederhana
Kemungkinan penyebab:
  • Konflik CSS dengan style aplikasi Anda
  • Pengaturan theme tidak diterapkan dengan benar
  • Masalah desain responsif
Solusi:
  • Periksa konflik CSS di browser DevTools
  • Pastikan pengaturan theme sudah benar
  • Uji pada berbagai ukuran layar
  • Pastikan tidak ada konflik z-index dengan modal

Dompet Digital

Untuk informasi terperinci tentang penyiapan Google Pay dan dompet digital lainnya, lihat halaman Dompet Digital.
Apple Pay belum didukung di overlay checkout.

Dukungan Browser

Dodo Payments Checkout SDK mendukung:
  • Chrome (terbaru)
  • Firefox (terbaru)
  • Safari (terbaru)
  • Edge (terbaru)
  • IE11+

Overlay vs Inline Checkout

Pilih tipe checkout yang tepat untuk kebutuhan Anda:
Gunakan overlay checkout untuk integrasi yang lebih cepat dengan perubahan minimal pada halaman yang sudah ada. Gunakan inline checkout jika Anda menginginkan kontrol maksimum atas pengalaman checkout dan branding yang konsisten.

Sumber Daya Terkait

Inline Checkout

Sematkan checkout langsung ke halaman Anda untuk pengalaman yang sepenuhnya terintegrasi.

Checkout Sessions API

Buat checkout sessions untuk mendukung pengalaman checkout Anda.

Webhooks

Tangani event pembayaran di sisi server menggunakan webhooks.

Integration Guide

Panduan lengkap untuk mengintegrasikan Dodo Payments.
Untuk bantuan lebih lanjut, kunjungi komunitas Discord kami atau hubungi tim dukungan developer kami.
Terakhir diubah pada 26 September 2026