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.
SDK cung cấp sự kiện theo thời gian thực mà bạn có thể nghe qua callback onEvent:
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; } }});
Loại Sự kiện
Mô tả
checkout.opened
Giao diện thanh toán đã được mở
checkout.form_ready
Biểu mẫu thanh toán đã sẵn sàng nhận thông tin từ người dùng. Hữu ích để ẩn trạng thái tải.
checkout.payment_page_opened
Trang thanh toán đã được hiển thị
checkout.customer_details_submitted
Thông tin khách hàng và hóa đơn đã được gửi
checkout.closed
Giao diện thanh toán đã được đóng
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
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.
Bạn có thể tùy chỉnh giao diện thanh toán bằng cách truyền đối tượng themeConfig vào tham số options khi mở thanh toán. Cấu hình giao diện 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 client-side bằng cách sử dụng SDK Checkout. Bạn cũng có thể cấu hình giao diện server-side khi tạo phiên thanh toán qua API bằng tham số theme_config. Xem Tùy chỉnh Giao diện Thanh toán cho cấu hình mức API, hoặc sử dụng trang Thiết kế trên bảng điều khiển để cấu hình giao diện một cách trực quan với xem trước trực tiếp.
SDK cung cấp thông tin lỗi chi tiết qua hệ thống sự kiện. Luôn triển khai xử lý lỗi đúng cách trong callback onEvent:
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 để cung cấp trải nghiệm người dùng tốt khi xảy ra lỗi.
Chọn loại giao diện 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 Lớp phủ
Thanh toán Trực tiếp
Độ sâu tích hợp
Modal trên trang
Nhúng hoàn toàn trong trang
Kiểm soát bố cục
Hạn chế
Kiểm soát hoàn toàn
Thương hiệu
Tách biệt với trang
Liền mạch
Nỗ lực triển khai
Thấp hơn
Cao hơn
Tốt nhất cho
Tích hợp nhanh chóng, trang hiện tại
Trang thanh toán tùy chỉnh, luồng chuyển đổi cao
Sử dụng thanh toán lớp phủ để tích hợp nhanh hơn với sự thay đổi tối thiểu đối với các trang hiện tại của bạn. Sử dụng thanh toán trực tiếp khi bạn muốn kiểm soát tối đa trải nghiệm thanh toán và thương hiệu liền mạch.