Chuyển đến nội dung chính
Trang thanh toán
Trang thanh toán Dodo Payments được tối ưu hóa chuyển đổi và tuân thủ toàn cầu, thiết kế dành cho sản phẩm kỹ thuật số và doanh nghiệp SaaS. Nó hỗ trợ nhiều loại tiền tệ, ngôn ngữ, thuế, giảm giá, tiện ích bổ sung và quy trình tuân thủ thân thiện với doanh nghiệp.

Tiền tệ Thích ứng

Tiền tệ Thích ứng cho phép khách hàng thanh toán bằng đồng tiền địa phương mà họ ưa thích, cải thiện độ tin cậy và tỷ lệ chuyển đổi.

Cách Hoạt Động

  1. Bật: Bật Tiền tệ Thích ứng từ Cài đặt Doanh nghiệp của bạn
  2. Chọn: Khách hàng có thể chuyển đổi tiền tệ trực tiếp trên trang thanh toán
  3. Chuyển đổi: Giá cả được chuyển đổi động sử dụng tỷ giá FX theo thời gian thực
  4. Hiển thị: Số tiền phải trả cuối cùng được hiển thị một cách minh bạch trước khi thanh toán
Trình chọn tiền tệ trên trang thanh toán

Adaptive Currency

Tìm hiểu thêm về các loại tiền được hỗ trợ, phí chuyển đổi và cách xử lý hoàn tiền.

Thanh toán Đa ngôn ngữ

Dodo Payments hỗ trợ nhiều ngôn ngữ trên trang thanh toán, cho phép khách hàng hoàn tất thanh toán bằng ngôn ngữ mà họ cảm thấy thoải mái.
Trình chọn ngôn ngữ trên trang thanh toán

Điểm Nổi Bật

  • Bảng chọn ngôn ngữ có sẵn trực tiếp trên trang thanh toán
  • Văn bản UI, nhãn và thông điệp hệ thống được địa phương hóa
  • Cải thiện khả năng tiếp cận và tỷ lệ chuyển đổi quốc tế

Các Ngôn ngữ Hỗ trợ

Trang thanh toán hỗ trợ 21 ngôn ngữ:
Ngôn ngữ
Ả Rậpar
Catalanca
Tiếng Trungzh
Tiếng Hà Lannl
Tiếng Anhen
Tiếng Phápfr
Tiếng Đứcde
Tiếng Do Tháihe
Tiếng Indonesiaid
Tiếng Ýit
Tiếng Nhậtja
Tiếng Hànko
Tiếng Mã Laims
Tiếng Ba Lanpl
Tiếng Bồ Đào Nhapt
Tiếng Romaniaro
Tiếng Ngaru
Tiếng Tây Ban Nhaes
Tiếng Thụy Điểnsv
Tiếng Tháith
Tiếng Thổ Nhĩ Kỳtr
Bạn có thể ép một ngôn ngữ cụ thể trên trang thanh toán bằng cách đặt tham số force_language khi tạo phiên thanh toán. Xem Checkout Sessions API để biết chi tiết.

Tính Thuế Tự Động

Thuế được tính tự động dựa trên vị trí thanh toán của khách hàng, đảm bảo tuân thủ các yêu cầu về GST, VAT và thuế bán hàng mà không cần cài đặt thủ công.

Cách hoạt động của việc tính thuế

1

Location Detection

Các quy tắc thuế được áp dụng dựa trên quốc gia của khách hàng (và khu vực nếu có).
2

Dynamic Updates

Số tiền thuế cập nhật tự động khi:
  • Thay đổi quốc gia
  • Cập nhật địa chỉ
3

Transparent Display

Bảng phân tích thuế cuối cùng được hiển thị rõ ràng trước khi thanh toán.
Việc tính thuế hoàn toàn tự động. Không cần cấu hình thủ công cho hàng hóa kỹ thuật số tiêu chuẩn và sản phẩm SaaS.

Hỗ trợ Mã số Thuế Doanh nghiệp

Đối với doanh nghiệp đã đăng ký, trang thanh toán cho phép khách hàng nhập Mã số Thuế Doanh nghiệp (ví dụ: số VAT/GST).

Điều gì xảy ra khi nhập Mã số Thuế

  • Tính hợp lệ thuế được xác thực theo thời gian thực
  • Áp dụng các miễn giảm thuế hoặc quy tắc thuế ngược thích hợp
  • Số tiền thuế cập nhật ngay lập tức trên trang thanh toán
Nhập Mã số Thuế Doanh nghiệp trên trang thanh toán
Điều này đặc biệt hữu ích cho SaaS B2B và dịch vụ kỹ thuật số, nơi khách hàng doanh nghiệp có thể đủ điều kiện miễn thuế.

Mã Giảm Giá

Khách hàng có thể áp dụng mã giảm giá hoặc mã khuyến mại bạn tạo trong bảng điều khiển trực tiếp trên trang thanh toán.

Trải nghiệm thanh toán

  1. Khách hàng nhập mã giảm giá
  2. Giảm giá được xác thực ngay lập tức
  3. Giá cập nhật và khoản tiết kiệm được hiển thị rõ ràng
Nhập mã giảm giá trên trang thanh toán

Tích hợp API

Áp trước mã giảm giá hoặc bật trường nhập mã giảm giá:
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

Tìm hiểu cách tạo và quản lý mã giảm giá.

Validate Discount by Code

Tra cứu và xác thực giảm giá bằng tên mã.

Thu Thập Địa Chỉ Thông Minh

Trang thanh toán hỗ trợ nhập địa chỉ linh hoạt để hoàn thành nhanh hơn.

Tùy chọn có sẵn

Tùy chọnMô tả
Google Address AutofillChọn nhanh với tự động hoàn tất
Manual EntryKiểm soát đầy đủ cho địa chỉ hoàn chỉnh
Country SelectionKích hoạt logic thuế và tuân thủ
Việc thu thập địa chỉ cân bằng giữa tốc độ, độ chính xác và phạm vi toàn cầu để tối đa hóa chuyển đổi đồng thời đảm bảo tuân thủ.

Trường Tùy chỉnh

Thu thập thêm thông tin từ khách hàng trong quá trình thanh toán bằng cách xác định các trường biểu mẫu tùy chỉnh. Điều này hữu ích để lấy dữ liệu như tên công ty, quy mô đội, nguồn giới thiệu hoặc bất kỳ thông tin cụ thể nào của doanh nghiệp.

Các loại trường có sẵn

LoạiMô tả
textNhập văn bản một dòng
numberNhập số
emailĐịa chỉ email có xác thực
urlURL có xác thực
dateBộ chọn ngày
dropdownChọn từ các tùy chọn định sẵn
booleanChuyển đổi Có/Không

Ví dụ

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'
});
Các phản hồi của khách hàng được tự động đưa vào payload webhook (payment.succeeded, subscription.active) và phản hồi API thông qua mảng custom_field_responses. Bạn có thể định nghĩa tối đa 5 trường tùy chỉnh cho mỗi phiên thanh toán.

Custom Fields Guide

Tìm hiểu thêm về cấu hình trường tùy chỉnh và truy cập phản hồi.

Chấp nhận Chính sách Bảo mật & Điều khoản

Để đảm bảo minh bạch pháp lý và tuân thủ:
Điều này giúp đáp ứng các yêu cầu bảo vệ người tiêu dùng và quyền riêng tư dữ liệu toàn cầu bao gồm cả tuân thủ GDPR.

Thanh toán theo Bộ sưu tập

Bộ sưu tập sản phẩm cho phép trải nghiệm thanh toán thống nhất nơi khách hàng có thể xem và chọn từ nhiều sản phẩm liên quan (ví dụ: gói Starter, Pro, Enterprise) trong một lần thanh toán duy nhất.

Cách hoạt động

  1. Hiển thị tất cả sản phẩm: Khách hàng nhìn thấy mọi sản phẩm đang hoạt động trong bộ sưu tập
  2. Sản phẩm đầu tiên được chọn trước: Sản phẩm đầu tiên trong bộ sưu tập tự động được chọn
  3. So sánh các lựa chọn: Khách hàng có thể so sánh giá và tính năng trước khi chọn
  4. Chọn một sản phẩm: Sau khi chọn, trang thanh toán tiếp tục với luồng thanh toán chuẩn

Tạo thanh toán theo bộ sưu tập

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'
});
Khi sử dụng product_collection_id, hãy truyền một mảng product_cart rỗng. Mã giảm giá không thể được áp dụng trước khi tạo phiên.

Product Collections

Tìm hiểu cách tạo và quản lý bộ sưu tập sản phẩm cho trải nghiệm thanh toán thống nhất.

Cấu hình Phiên thanh toán

Điều khiển hành vi thanh toán bằng 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'
  }
});
Sau khi thanh toán, khách hàng được chuyển hướng về return_url của bạn với các tham số truy vấn được thêm tự động — bao gồm payment_id hoặc subscription_id, status, emaillicense_key (nếu áp dụng). Xem Checkout Sessions guide để biết danh sách đầy đủ.

Tùy chỉnh Giao diện Thanh toán

Tùy chỉnh giao diện trang thanh toán để phù hợp với thương hiệu của bạn bằng tham số customization.theme_config khi tạo phiên thanh toán qua API. Cấu hình màu sắc, phông chữ, bán kính viền và văn bản nút cho cả chế độ sáng và tối.
Trang thanh toán với chủ đề tùy chỉnh

Design & Theme Customization

Cấu hình chủ đề trực quan từ bảng điều khiển với các chủ đề dựng sẵn, kiểu chữ, màu sắc và xem trước trực tiếp.
Mục này trình bày cấu hình chủ đề phía máy chủ bằng customization.theme_config. Nếu bạn đang sử dụng Checkout SDK (tọa độ lớp phủ hoặc thanh toán nội tuyến), hãy xem các phần tùy chỉnh chủ đề trong Overlay Checkout hoặc Inline Checkout vốn dùng các thuộc tính camelCase (ví dụ bgPrimary thay vì bg_primary).

Tùy chọn cấu hình chủ đề

PropertyDescription
lightCấu hình màu cho chế độ sáng
darkCấu hình màu cho chế độ tối
font_primary_urlURL cho phông chữ chính
font_secondary_urlURL cho phông chữ phụ
font_sizeKích thước phông chữ: xs, sm, md, lg, xl, 2xl
font_weightĐộ đậm phông chữ: normal, medium, bold, extraBold
radiusBán kính đường viền cho các phần tử giao diện người dùng (ví dụ, 4px, 0.5rem, 8px)
pay_button_textVăn bản tùy chỉnh cho nút thanh toán (ví dụ: “Complete Purchase”, “Subscribe Now”)

Cấu hình màu (Chế độ sáng/tối)

Mỗi chế độ (lightdark) hỗ trợ các thuộc tính màu sau đây:
PropertyDescription
bg_primaryMàu nền chính
bg_secondaryMàu nền phụ
text_primaryMàu văn bản chính
text_secondaryMàu văn bản phụ
text_placeholderMàu văn bản giữ chỗ
text_errorMàu văn bản lỗi
text_successMàu văn bản thành công
border_primaryMàu đường viền chính
border_secondaryMàu đường viền phụ
button_primaryMàu nền nút chính
button_primary_hoverMàu khi di chuột qua nút chính
button_secondaryMàu nền nút phụ
button_secondary_hoverMàu khi di chuột qua nút phụ
button_text_primaryMàu văn bản nút chính
button_text_secondaryMàu văn bản nút phụ
input_focus_borderMàu đường viền khi nhập liệu được chọn
Tất cả các trường màu chấp nhận định dạng màu CSS tiêu chuẩn:
  • 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)
  • Màu theo tên: red, blue, transparent

Ví dụ

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'
});
Bạn không cần xác định tất cả thuộc tính màu. Bất kỳ thuộc tính nào không được chỉ định sẽ sử dụng giá trị chủ đề mặc định.