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
Demo Tương tác
Xem overlay checkout hoạt động với 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
1
Cài đặt SDK
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:
2
Khởi tạo 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:
3
Tạo thành phần nút thanh toán
Tạo một thành phần mở overlay thanh toán:
4
Thêm thanh toán vào trang của bạn
Sử dụng thành phần nút thanh toán trong ứng dụng của bạn:
5
Xử lý trang thành công và thất bại
Tạo các trang để xử lý chuyển hướng thanh toán:
6
Kiểm tra tích hợp của bạn
- 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 nên 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 của bạn.
7
Đi vào sản xuất
Khi bạn đã sẵn sàng cho sản xuất:
- Thay đổi chế độ thành
'live':
- Cập nhật các URL thanh toán của bạn để sử dụng các phiên thanh toán trực tiếp từ backend của bạn
- Kiểm tra quy trình hoàn chỉnh trong sản xuất
- Giám sát các sự kiện và lỗi
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 callback để 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 bị vô hiệu hóa, 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 được kích hoạt, thanh toán sẽ không tự động chuyển hướng sau khi hoàn tất. 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, xử lý việc hoàn tất thanh toán trong hàm 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 thông qua hàm callbackonEvent:
Dữ Liệu Sự Kiện Trạng Thái Thanh Toán
KhimanualRedirect được kích hoạt, bạn nhận được sự kiện checkout.status với các dữ liệu sau:
Dữ Liệu Sự Kiện Yêu Cầu Chuyển Hướng Thanh Toán
KhimanualRedirect được kích hoạt, bạn nhận được sự kiện checkout.redirect_requested với các dữ liệu sau:
| Loại Sự Kiện | Mô tả |
|---|---|
checkout.opened | Overlay thanh toán đã được mở |
checkout.payment_page_opened | Trang thanh toán đã được hiển thị |
checkout.customer_details_submitted | Thông tin khách hàng và thanh toán đã được gửi |
checkout.closed | Overlay 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 | Đượ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 kích hoạ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 kích hoạt. Chứa URL để chuyển hướng khách hàng. |
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:Hỗ Trợ TypeScript
SDK được viết bằng TypeScript và bao gồm các định nghĩa kiểu toàn diện. Tất cả các API công khai đều được định kiểu đầy đủ để cải thiện trải nghiệm lập trình viên và hỗ trợ IntelliSense.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 thực hiện xử lý lỗi đúng cách trong hàm 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, không phải trên mỗi lần thử thanh toán
- Xử lý lỗi: Luôn thực hiện xử lý lỗi đúng cách trong hàm 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 cho sản xuất - Xử lý sự kiện: Xử lý tất cả các sự kiện liên quan để có trải nghiệm người dùng hoàn chỉnh
- 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 để có độ an toàn kiểu tốt hơn và trải nghiệm lập trình viên tốt hơ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: Vô hiệu hóa bộ đếm thời gian (
showTimer: false) nếu bạn muốn xử lý việc hết hạn phiên một cách thủ công
Khắc Phục Sự Cố
Thanh toán không mở
Thanh toán không mở
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 bảng điều khiển
- Vấn đề kết nối mạng
- Xác minh rằng SDK đã được khởi tạo trước khi mở thanh toán
- Kiểm tra lỗi trong bảng điều khiển
- Đảm bảo URL thanh toán hợp lệ và từ API tạo phiên thanh toán
- Xác minh kết nối mạng
Sự kiện không được kích hoạt
Sự kiện không được kích hoạt
Nguyên nhân có thể:
- Trình xử lý sự kiện chưa được thiết lập đúng cách
- Lỗi JavaScript ngăn cản sự lan truyền sự kiện
- SDK chưa được khởi tạo đúng cách
- Xác nhận rằng trình xử lý sự kiện đã được cấu hình đúng trong
Initialize() - Kiểm tra bảng điều khiển trình duyệt để tìm lỗi JavaScript
- Xác minh rằng SDK đã được khởi tạo thành công
- Thử nghiệm với một trình xử lý sự kiện đơn giản trước
Vấn đề về kiểu dáng
Vấn đề về kiểu dáng
Nguyên nhân có thể:
- Xung đột CSS với kiểu dáng ứng dụng của bạn
- Cài đặt chủ đề không được áp dụng đúng cách
- Vấn đề thiết kế đáp ứng
- Kiểm tra xung đột CSS trong DevTools của trình duyệt
- Xác minh rằng 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 Apple Pay
Apple Pay cho phép khách hàng hoàn tất thanh toán nhanh chóng và an toàn bằng cách sử dụng các phương thức thanh toán đã lưu. Khi được kích hoạt, khách hàng có thể khởi động modal Apple Pay trực tiếp từ overlay thanh toán trên các thiết bị hỗ trợ.Apple Pay được hỗ trợ trên iOS 17+, iPadOS 17+ và Safari 17+ trên macOS.
1
Tải xuống và tải lên tệp liên kết miền Apple Pay
Tải xuống tệp liên kết miền Apple Pay.Tải tệp lên máy chủ web của bạn tại
/.well-known/apple-developer-merchantid-domain-association. Ví dụ, nếu trang web của bạn là example.com, hãy làm cho tệp có sẵn tại https://example.com/well-known/apple-developer-merchantid-domain-association.2
Yêu cầu kích hoạt Apple Pay
Gửi email đến [email protected] với các thông tin sau:
- URL miền sản xuất của bạn (ví dụ:
https://example.com) - Yêu cầu kích hoạt Apple Pay cho miền của bạn
Bạn sẽ nhận được xác nhận trong vòng 1-2 ngày làm việc sau khi Apple Pay đã được kích hoạt cho miền của bạn.
3
Xác minh tính khả dụng của Apple Pay
Sau khi nhận được xác nhận, hãy thử nghiệm Apple Pay trong thanh toán của bạn:
- Mở thanh toán của bạn trên một thiết bị hỗ trợ (iOS 17+, iPadOS 17+, hoặc Safari 17+ trên macOS)
- Xác minh rằng nút Apple Pay xuất hiện như một tùy chọn thanh toán
- Thử nghiệm toàn bộ quy trình thanh toán
Hỗ Trợ Trình Duyệt
SDK Thanh Toán Dodo hỗ trợ các trình duyệt sau:- Chrome (mới nhất)
- Firefox (mới nhất)
- Safari (mới nhất)
- Edge (mới nhất)
- IE11+
Thanh Toán Overlay vs Inline
Chọn loại thanh toán phù hợp cho 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 | Modal trên trang | Hoàn toàn nhúng trong trang |
| Kiểm soát bố cục | Hạn chế | Kiểm soát đầy đủ |
| Thương hiệu | Tách biệt khỏ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, trang hiện có | Trang thanh toán tùy chỉnh, quy trình chuyển đổi cao |
Tài Nguyên Liên Quan
Thanh Toán Inline
Nhúng thanh toán trực tiếp vào trang của bạn để có trải nghiệm hoàn toàn tích hợp.
API Phiên Thanh Toán
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ý các sự kiện thanh toán phía máy chủ bằng webhooks.
Hướng Dẫn Tích Hợp
Hướng dẫn hoàn chỉnh để tích hợp Dodo Payments.