Tổng quan
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.
Demo
Interactive Demo
Xem thanh toán phủ hoạt động qua bản demo trực tiếp của chúng tôi.
Bắt đầu nhanh
Bắt đầu với SDK Thanh toán Dodo chỉ trong vài dòng mã:Hướng dẫn tích hợp từng bước
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:
Test Your Integration
- Bắt đầu máy chủ phát triển của bạn:
- Kiểm tra quy trình thanh toán:
- Nhấp vào nút thanh toán
- Xác minh overlay xuất hiện
- Kiểm tra quy trình thanh toán bằng cách sử dụng thông tin xác thực thử nghiệm
- Xác nhận các chuyển hướng hoạt động chính xác
Bạn sẽ thấy các sự kiện thanh toán được ghi lại trong bảng điều khiển trình duyệt.
Tài liệu API
Cấu hình
Tùy chọn khởi tạo
| Tùy chọn | Loại | Bắt buộc | Mô tả |
|---|---|---|---|
mode | "test" | "live" | Có | Chế độ môi trường: 'test' cho phát triển, 'live' cho sản xuất |
displayType | "overlay" | "inline" | Không | Loại hiển thị: 'overlay' cho thanh toán modal (mặc định), 'inline' cho thanh toán nhúng |
onEvent | function | Có | Hàm gọi lại để xử lý các sự kiện thanh toán |
Tùy chọn thanh toán
| Tùy chọn | Loại | Bắt buộc | Mô tả |
|---|---|---|---|
checkoutUrl | string | Có | URL phiên thanh toán từ API tạo phiên thanh toán |
options.showTimer | boolean | Không | 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. |
Phương thức
Mở thanh toán
Mở overlay thanh toán với URL phiên thanh toán đã chỉ định.manualRedirect, hãy xử lý việc hoàn tất thanh toán trong callback onEvent của bạn:
Đóng Thanh Toán
Đóng overlay thanh toán một cách lập trình.Kiểm Tra Trạng Thái
Trả về trạng thái hiện tại của overlay thanh toán.Sự Kiện
SDK cung cấp các sự kiện thời gian thực mà bạn có thể lắng nghe qua callbackonEvent:
Dữ Liệu Sự Kiện Trạng Thái Thanh Toán
KhimanualRedirect được bật, bạn sẽ nhận được sự kiện checkout.status với dữ liệu sau:
Dữ Liệu Sự Kiện Yêu Cầu Chuyển Hướng Thanh Toán
KhimanualRedirect được bật, bạn sẽ nhận được sự kiện checkout.redirect_requested với dữ liệu sau:
| 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. |
Tùy Chọn Triển Khai
Cài Đặt Qua Trình Quản Lý Gói
Cài đặt qua npm, yarn hoặc pnpm như được mô tả trong Hướng Dẫn Tích Hợp Từng Bước.Triển Khai CDN
Để tích hợp nhanh mà không cần bước xây dựng, bạn có thể sử dụng CDN của chúng tôi:Tùy chỉnh Giao diệ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ượngthemeConfig 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.Cấu hình chủ đề cơ bản
Cấu hình chủ đề hoàn chỉnh
Tất cả thuộc tính chủ đề có sẵn:Chỉ chế độ sáng
Nếu bạn chỉ muốn tùy chỉnh chủ đề sáng:Chỉ chế độ tối
Nếu bạn chỉ muốn tùy chỉnh chủ đề tối:Ghi đè một phần chủ đề
Bạn có thể chỉ ghi đè một số thuộc tính cụ thể. Thanh toán sẽ sử dụng giá trị mặc định cho những thuộc tính bạn không chỉ định:Cấu hình chủ đề cùng các tùy chọn khác
Bạn có thể kết hợp cấu hình chủ đề với các tùy chọn thanh toán khác:Kiểu TypeScript
Đối với người dùng TypeScript, tất cả kiểu cấu hình chủ đề đều được xuất:Xử lý lỗi
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 callbackonEvent của bạn:
Thực hành tốt nhất
- Khởi tạo một lần: Khởi tạo SDK một lần khi ứng dụng của bạn tải lên, không phải mỗi lần thử thanh toán
- Xử lý lỗi: Luôn triển khai xử lý lỗi phù hợp trong callback sự kiện của bạn
- Chế độ thử nghiệm: Sử dụng chế độ
testtrong quá trình phát triển và chuyển sanglivechỉ khi sẵn sàng đưa vào sản xuất - Xử lý sự kiện: Xử lý tất cả các sự kiện liên quan để mang lại trải nghiệm người dùng trọn vẹn
- URL hợp lệ: Luôn sử dụng URL thanh toán hợp lệ từ API tạo phiên thanh toán
- TypeScript: Sử dụng TypeScript để tăng độ an toàn kiểu và trải nghiệm phát triển
- Trạng thái tải: Hiển thị trạng thái tải trong khi thanh toán đang mở để cải thiện UX
- Chuyển hướng thủ công: Sử dụng
manualRedirectkhi bạn cần kiểm soát tùy chỉnh về điều hướng sau thanh toán - Quản lý bộ đếm thời gian: Tắt bộ đếm (
showTimer: false) nếu bạn muốn tự xử lý việc hết hạn phiên
Khắc phục sự cố
Checkout not opening
Checkout not opening
Nguyên nhân có thể:
- SDK chưa được khởi tạo trước khi gọi
open() - URL thanh toán không hợp lệ
- Lỗi JavaScript trong console
- Sự cố kết nối mạng
- Xác minh việc khởi tạo SDK diễn ra trước khi mở thanh toán
- Kiểm tra lỗi trong console
- Đảm bảo URL thanh toán hợp lệ và đến từ API tạo phiên thanh toán
- Xác minh kết nối mạng
Events not firing
Events not firing
Nguyên nhân có thể:
- Trình xử lý sự kiện không được thiết lập đúng cách
- Lỗi JavaScript ngăn sự kiện lan truyền
- SDK chưa được khởi tạo chính xác
- Xác nhận trình xử lý sự kiện được cấu hình đúng trong
Initialize() - Kiểm tra console trình duyệt để tìm lỗi JavaScript
- Xác minh SDK đã khởi tạo thành công
- Thử nghiệm trước với một trình xử lý sự kiện đơn giản
Styling issues
Styling issues
Nguyên nhân có thể:
- Xung đột CSS với kiểu của ứng dụng bạn
- Cài đặt chủ đề chưa được áp dụng đúng
- Vấn đề thiết kế đáp ứng
- Kiểm tra xung đột CSS trong DevTools của trình duyệt
- Xác minh cài đặt chủ đề là chính xác
- Thử nghiệm trên các kích thước màn hình khác nhau
- Đảm bảo không có xung đột z-index với overlay
Kích hoạt ví kỹ thuật số
Để biết thông tin chi tiết về việc thiết lập Google Pay và các ví kỹ thuật số khác, hãy xem trang Ví kỹ thuật số.Apple Pay hiện vẫn chưa được hỗ trợ trong thanh toán overlay. Hỗ trợ Apple Pay sẽ sớm có.
Hỗ trợ trình duyệt
SDK Dodo Payments Checkout hỗ trợ các trình duyệt sau:- Chrome (phiên bản mới nhất)
- Firefox (phiên bản mới nhất)
- Safari (phiên bản mới nhất)
- Edge (phiên bản mới nhất)
- IE11+
Thanh toán Overlay và Inline
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 |
Tài nguyên liên quan
Inline Checkout
Nhúng thanh toán trực tiếp vào trang của bạn để có trải nghiệm tích hợp hoàn chỉnh.
Checkout Sessions API
Tạo các phiên thanh toán để cung cấp trải nghiệm thanh toán của bạn.
Webhooks
Xử lý sự kiện thanh toán phía máy chủ bằng webhook.
Integration Guide
Hướng dẫn đầy đủ để tích hợp Dodo Payments.