SDK Thanh toán Dodo cung cấp một cách tích hợp liền mạch để đưa overlay thanh toán của chúng tôi vào ứng dụng web của bạn. Được xây dựng bằng TypeScript và các tiêu chuẩn web hiện đại, nó cung cấp một giải pháp mạnh mẽ để xử lý thanh toán với việc xử lý sự kiện theo thời gian thực và các chủ đề tùy chỉnh.
Cài đặt SDK Thanh toán Dodo bằng cách sử dụng trình quản lý gói ưa thích của bạn:
npm install dodopayments-checkout
2
Initialize the SDK
Khởi tạo SDK trong ứng dụng của bạn, thường là trong thành phần chính hoặc điểm vào ứng dụng:
import { DodoPayments } from "dodopayments-checkout";DodoPayments.Initialize({ mode: "test", // Change to 'live' for production displayType: "overlay", // Optional: defaults to 'overlay' for overlay checkout onEvent: (event) => { console.log("Checkout event:", event); // Handle different events switch (event.event_type) { case "checkout.opened": // Checkout overlay has been opened break; case "checkout.closed": // Checkout has been closed break; case "checkout.error": // Handle errors console.error("Checkout error:", event.data?.message); break; } },});
Luôn khởi tạo SDK trước khi cố mở thanh toán. Việc khởi tạo chỉ nên diễn ra một lần khi ứng dụng của bạn tải lên.
Hiển thị hoặc ẩn bộ đếm thời gian thanh toán. Mặc định là true. Khi tắt, bạn sẽ nhận được sự kiện checkout.link_expired khi phiên hết hạn.
options.showSecurityBadge
boolean
Không
Hiển thị hoặc ẩn huy hiệu bảo mật. Mặc định là true.
options.manualRedirect
boolean
Không
Khi bật, thanh toán sẽ không tự động chuyển hướng sau khi hoàn thành. Thay vào đó, bạn sẽ nhận được các sự kiện checkout.status và checkout.redirect_requested để tự xử lý việc chuyển hướng.
DodoPayments.Initialize({ onEvent: (event: CheckoutEvent) => { switch (event.event_type) { case "checkout.opened": // Checkout overlay has been opened break; case "checkout.form_ready": // Checkout form is ready for user input break; case "checkout.payment_page_opened": // Payment page has been displayed break; case "checkout.customer_details_submitted": // Customer and billing details submitted break; case "checkout.closed": // Checkout has been closed break; case "checkout.redirect": // Checkout will perform a redirect break; case "checkout.error": // An error occurred console.error("Error:", event.data?.message); break; case "checkout.link_expired": // Checkout session has expired (only when showTimer is false) break; case "checkout.status": // Checkout status update (only when manualRedirect is enabled) const status = event.data?.message?.status; break; case "checkout.redirect_requested": // Redirect requested (only when manualRedirect is enabled) const redirectUrl = event.data?.message?.redirect_to; break; } }});
Loại sự kiện
Mô tả
checkout.opened
Đã mở overlay thanh toán
checkout.form_ready
Biểu mẫu thanh toán sẵn sàng nhận dữ liệu người dùng. Hữu ích để ẩn trạng thái tải.
checkout.payment_page_opened
Trang thanh toán đã hiển thị
checkout.customer_details_submitted
Khách hàng và thông tin thanh toán đã được gửi
checkout.closed
Đã đóng overlay thanh toán
checkout.redirect
Thanh toán sẽ thực hiện chuyển hướng
checkout.error
Đã xảy ra lỗi trong quá trình thanh toán
checkout.link_expired
Được kích hoạt khi phiên thanh toán hết hạn. Chỉ nhận được khi showTimer được đặt thành false.
checkout.status
Được kích hoạt khi manualRedirect được bật. Chứa trạng thái thanh toán (succeeded, failed, hoặc processing).
checkout.redirect_requested
Được kích hoạt khi manualRedirect được bật. Chứa URL để chuyển hướng khách hàng đến.
Bạn có thể tùy chỉnh giao diện thanh toán bằng cách truyền một đối tượng themeConfig vào tham số options khi mở thanh toán. Cấu hình chủ đề hỗ trợ cả chế độ sáng và tối, cho phép bạn tùy chỉnh màu sắc, viền, văn bản, nút và bán kính viền.
Phần này đề cập đến cấu hình giao diện ở phía khách hàng bằng cách sử dụng Checkout SDK. Bạn cũng có thể cấu hình giao diện ở phía máy chủ khi tạo phiên thanh toán qua API bằng tham số theme_config. Xem Tùy chỉnh giao diện Checkout để biết cấu hình cấp API, hoặc dùng Trang Thiết kế trong bảng điều khiển để cấu hình giao diện với bản xem trước trực tiếp.
SDK cung cấp thông tin lỗi chi tiết thông qua hệ thống sự kiện. Luôn triển khai xử lý lỗi phù hợp trong callback onEvent của bạn:
DodoPayments.Initialize({ mode: "test", displayType: "overlay", onEvent: (event: CheckoutEvent) => { if (event.event_type === "checkout.error") { console.error("Checkout error:", event.data?.message); // Handle error appropriately // You may want to show a user-friendly error message // or retry the checkout process } if (event.event_type === "checkout.link_expired") { // Handle expired checkout session console.warn("Checkout session has expired"); } }});
Luôn xử lý sự kiện checkout.error để đảm bảo trải nghiệm người dùng tốt khi xảy ra lỗi.
Chọn loại thanh toán phù hợp với trường hợp sử dụng của bạn:
Tính năng
Thanh toán Overlay
Thanh toán Inline
Độ sâu tích hợp
Cửa sổ modal nằm trên trang
Tích hợp hoàn toàn trong trang
Kiểm soát bố cục
Hạn chế
Toàn quyền kiểm soát
Nhận diện thương hiệu
Riêng biệt so với trang
Liền mạch
Mức độ triển khai
Thấp hơn
Cao hơn
Phù hợp với
Tích hợp nhanh, các trang hiện có
Trang thanh toán tùy chỉnh, luồng chuyển đổi cao
Sử dụng thanh toán overlay để tích hợp nhanh mà không cần thay đổi nhiều trên các trang hiện có. Dùng thanh toán inline khi bạn cần kiểm soát tối đa trải nghiệm thanh toán và nhận diện thương hiệu liền mạch.