Langsung ke konten utama
Checkout page
Checkout Dodo Payments dioptimalkan untuk konversi dan patuh secara global, dirancang untuk produk digital dan bisnis SaaS. Checkout ini mendukung berbagai mata uang, bahasa, pajak, diskon, add-on, dan alur kerja kepatuhan yang ramah bisnis.

Mata Uang Adaptif

Mata Uang Adaptif memungkinkan pelanggan untuk membayar dalam mata uang lokal yang mereka pilih, meningkatkan kepercayaan dan tingkat konversi.

Cara Kerjanya

  1. Aktifkan: Aktifkan Mata Uang Adaptif dari Pengaturan Bisnis Anda
  2. Pilih: Pelanggan dapat mengganti mata uang langsung di checkout
  3. Konversi: Harga dikonversi secara dinamis menggunakan kurs FX waktu nyata
  4. Tampilkan: Jumlah yang harus dibayar ditampilkan secara transparan sebelum pembayaran
Currency selector on checkout

Adaptive Currency

Pelajari lebih lanjut tentang mata uang yang didukung, biaya konversi, dan penanganan pengembalian dana.

Checkout Multi-Bahasa

Dodo Payments mendukung beberapa bahasa di halaman checkout, memungkinkan pelanggan untuk menyelesaikan pembayaran dalam bahasa yang mereka nyaman.
Language selector on checkout

Sorotan Utama

  • Pemilih bahasa tersedia langsung di checkout
  • Teks UI, label, dan pesan sistem dilokalisasi
  • Meningkatkan aksesibilitas dan konversi internasional

Bahasa yang Didukung

Halaman checkout mendukung 21 bahasa:
LanguageCode
Arabicar
Catalanca
Chinesezh
Dutchnl
Englishen
Frenchfr
Germande
Hebrewhe
Indonesianid
Italianit
Japaneseja
Koreanko
Malayms
Polishpl
Portuguesept
Romanianro
Russianru
Spanishes
Swedishsv
Thaith
Turkishtr
Anda dapat memaksa bahasa tertentu di checkout dengan mengatur parameter force_language saat membuat sesi checkout. Lihat Checkout Sessions API untuk detailnya.

Automatic Tax Calculation

Pajak dihitung secara otomatis berdasarkan lokasi tagihan pelanggan, memastikan kepatuhan terhadap persyaratan GST, VAT, dan pajak penjualan tanpa konfigurasi manual.

How Tax Calculation Works

1

Location Detection

Aturan pajak diterapkan berdasarkan negara pelanggan (dan wilayah jika berlaku).
2

Dynamic Updates

Jumlah pajak diperbarui secara otomatis ketika:
  • Negara berubah
  • Alamat diperbarui
3

Transparent Display

Rincian pajak akhir ditampilkan dengan jelas sebelum pembayaran.
Perhitungan pajak sepenuhnya otomatis. Tidak diperlukan konfigurasi manual untuk barang digital standar dan produk SaaS.

Business Tax ID Support

Untuk bisnis terdaftar, checkout memungkinkan pelanggan memasukkan ID Pajak Bisnis mereka (misalnya nomor VAT/GST).

What Happens When a Tax ID Is Entered

  • Kelayakan pajak divalidasi secara waktu nyata
  • Pengecualian pajak yang berlaku atau aturan reverse-charge diterapkan
  • Jumlah pajak diperbarui secara instan di checkout
Business Tax ID entry on checkout
Ini sangat berguna untuk SaaS B2B dan layanan digital di mana pelanggan bisnis mungkin memenuhi syarat untuk pengecualian pajak.

Discount Codes

Pelanggan dapat menerapkan kode diskon atau promo yang Anda buat di dashboard langsung di halaman checkout.

Checkout Experience

  1. Pelanggan memasukkan kode diskon
  2. Diskon divalidasi secara instan
  3. Harga yang diperbarui dan penghematan ditampilkan dengan jelas
Discount code entry on checkout

API Integration

Terapkan kode diskon sebelumnya atau aktifkan bidang input diskon:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_code: 'WELCOME20', // Pre-apply a code
  feature_flags: {
    allow_discount_code: true // Show discount input field
  },
  return_url: 'https://yoursite.com/return'
});

Discount Codes

Pelajari cara membuat dan mengelola kode diskon.

Validate Discount by Code

Cari dan validasi diskon menggunakan nama kode.

Smart Address Collection

Checkout mendukung entri alamat fleksibel untuk penyelesaian lebih cepat.

Options Available

OptionDescription
Google Address AutofillPemilihan cepat dengan pelengkapan otomatis
Manual EntryKontrol penuh untuk alamat lengkap
Country SelectionMenggerakkan logika pajak dan kepatuhan
Pengumpulan alamat menyeimbangkan kecepatan, akurasi, dan cakupan global untuk memaksimalkan konversi sambil memastikan kepatuhan.

Custom Fields

Kumpulkan informasi tambahan dari pelanggan selama checkout dengan mendefinisikan kolom formulir kustom. Ini berguna untuk mengumpulkan data seperti nama perusahaan, ukuran tim, sumber referensi, atau informasi spesifik bisnis lainnya.

Available Field Types

TypeDescription
textInput teks satu baris
numberInput numerik
emailAlamat email dengan validasi
urlURL dengan validasi
datePemilih tanggal
dropdownPilih dari opsi yang telah ditentukan
booleanToggle Ya/Tidak

Example

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  custom_fields: [
    {
      key: 'company_name',
      label: 'Company Name',
      field_type: 'text',
      required: true
    },
    {
      key: 'team_size',
      label: 'Team Size',
      field_type: 'dropdown',
      required: true,
      options: ['1-10', '11-50', '51-200', '200+']
    }
  ],
  return_url: 'https://yoursite.com/return'
});
Respons pelanggan disertakan secara otomatis dalam payload webhook (payment.succeeded, subscription.active) dan respons API melalui array custom_field_responses. Anda dapat mendefinisikan hingga 5 field kustom per sesi checkout.

Custom Fields Guide

Pelajari lebih lanjut tentang konfigurasi kolom kustom dan mengakses respons.

Privacy Policy & Terms Acceptance

Untuk memastikan transparansi hukum dan kepatuhan:
  • Tautan Privacy Policy dan Buyer Terms ditampilkan dengan jelas di checkout
  • Pelanggan secara eksplisit mengakui tautan ini sebelum menyelesaikan pembayaran
Ini membantu memenuhi persyaratan perlindungan konsumen dan privasi data global termasuk kepatuhan GDPR.

Collection Checkout

Koleksi Produk memungkinkan pengalaman checkout terpadu di mana pelanggan dapat melihat dan memilih dari beberapa produk terkait (misalnya paket Starter, Pro, Enterprise) dalam satu checkout.

How It Works

  1. All products displayed: Pelanggan melihat setiap produk aktif dalam koleksi
  2. First product pre-selected: Produk pertama dalam koleksi dipilih secara otomatis
  3. Compare options: Pelanggan dapat membandingkan harga dan fitur sebelum memilih
  4. Single selection: Setelah memilih produk, checkout dilanjutkan dengan alur pembayaran standar

Creating a Collection Checkout

const session = await client.checkoutSessions.create({
  product_collection_id: 'pdc_abc123',
  product_cart: [], // Required: pass an empty array for collection checkout
  return_url: 'https://yoursite.com/return'
});
Saat menggunakan product_collection_id, kirimkan array product_cart kosong. Kode diskon tidak dapat diterapkan sebelumnya saat membuat sesi.

Product Collections

Pelajari cara membuat dan mengelola koleksi produk untuk pengalaman checkout terpadu.

Checkout Session Configuration

Kendalikan perilaku checkout menggunakan API Checkout Sessions:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customer: {
    email: 'customer@example.com',
    name: 'Jane Doe'
  },
  billing_currency: 'EUR', // Set specific currency
  discount_code: 'PROMO10',
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return',
  metadata: {
    order_ref: 'ORD-12345'
  }
});
Setelah pembayaran, pelanggan dialihkan ke return_url Anda dengan parameter query ditambahkan secara otomatis — termasuk payment_id atau subscription_id, status, email, dan license_key (jika berlaku). Lihat panduan Checkout Sessions untuk daftar lengkapnya.

Checkout Theme Customization

Sesuaikan tampilan halaman checkout agar sesuai merek Anda menggunakan parameter customization.theme_config saat membuat sesi checkout melalui API. Konfigurasikan warna, font, radius border, dan teks tombol untuk mode terang dan gelap.
Custom themed checkout page

Design & Theme Customization

Konfigurasikan tema secara visual dari dasbor dengan tema bawaan, tipografi, warna, dan pratinjau langsung.
Bagian ini membahas konfigurasi tema API sisi server menggunakan customization.theme_config. Jika Anda menggunakan Checkout SDK (overlay atau inline checkout), lihat bagian kustomisasi tema di Overlay Checkout atau Inline Checkout yang menggunakan properti camelCase (misalnya bgPrimary alih-alih bg_primary).

Opsi Konfigurasi Tema

PropertyDescription
lightKonfigurasi warna untuk mode terang
darkKonfigurasi warna untuk mode gelap
font_primary_urlURL untuk font utama
font_secondary_urlURL untuk font sekunder
font_sizeUkuran font: xs, sm, md, lg, xl, 2xl
font_weightKetebalan font: normal, medium, bold, extraBold
radiusRadius border untuk elemen UI (misalnya 4px, 0.5rem, 8px)
pay_button_textTeks kustom untuk tombol bayar (misalnya “Complete Purchase”, “Subscribe Now”)

Konfigurasi Warna (Mode Terang/Gelap)

Setiap mode (light dan dark) mendukung properti warna berikut:
PropertyDescription
bg_primaryWarna latar belakang utama
bg_secondaryWarna latar belakang sekunder
text_primaryWarna teks utama
text_secondaryWarna teks sekunder
text_placeholderWarna teks placeholder
text_errorWarna teks kesalahan
text_successWarna teks sukses
border_primaryWarna border utama
border_secondaryWarna border sekunder
button_primaryWarna latar belakang tombol utama
button_primary_hoverWarna hover tombol utama
button_secondaryWarna latar belakang tombol sekunder
button_secondary_hoverWarna hover tombol sekunder
button_text_primaryWarna teks tombol utama
button_text_secondaryWarna teks tombol sekunder
input_focus_borderWarna border fokus input
Semua kolom warna menerima format warna CSS standar:
  • Hex: #fff, #ffffff, #ffffffff
  • RGB/RGBA: rgb(255, 255, 255), rgba(255, 255, 255, 0.5)
  • HSL/HSLA: hsl(120, 100%, 50%), hsla(120, 100%, 50%, 0.5)
  • Named colors: red, blue, transparent

Contoh

const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customization: {
    theme_config: {
      // Custom fonts
      font_primary_url: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap',
      font_size: 'md',
      font_weight: 'medium',
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      
      // Light mode colors
      light: {
        bg_primary: '#ffffff',
        bg_secondary: '#f5f5f5',
        text_primary: '#1a1a1a',
        text_secondary: '#666666',
        button_primary: '#0066ff',
        button_primary_hover: '#0052cc',
        button_text_primary: '#ffffff',
        border_primary: '#e0e0e0'
      },
      
      // Dark mode colors
      dark: {
        bg_primary: '#1a1a1a',
        bg_secondary: '#2d2d2d',
        text_primary: '#ffffff',
        text_secondary: '#a0a0a0',
        button_primary: '#3385ff',
        button_primary_hover: '#4d99ff',
        button_text_primary: '#ffffff',
        border_primary: '#404040'
      }
    }
  },
  return_url: 'https://yoursite.com/return'
});
Anda tidak perlu menentukan semua properti warna. Properti yang tidak ditentukan akan menggunakan nilai tema default.