Cài đặt
Thêm SDK vào dự án của bạn với Cargo:Cargo.toml của bạn thủ công:
SDK yêu cầu Rust 1.75 hoặc mới hơn, tận dụng các tính năng bất đồng bộ hiện đại để đạt hiệu suất tối ưu.
Bắt đầu nhanh
Client đọc khóa API của bạn từ biến môi trườngDODO_PAYMENTS_API_KEY theo mặc định. Khởi tạo client và tạo phiên checkout đầu tiên của bạn:
Tính năng cốt lõi
Async First
Được xây dựng trên Tokio và reqwest với hỗ trợ
async/await xuyên suốtStrong Typing
Yêu cầu và phản hồi định kiểu mạnh mẽ cho an toàn khi biên dịch
Auto-Pagination
Truyền trực tiếp mọi mục qua các trang hoặc tiến từng trang một
Configurable
Cấu hình môi trường, thời gian chờ, và URL nền tảng theo từng client
Cấu hình
Biến môi trường
Theo mặc định,Client::from_env() đọc khóa API của bạn từ biến môi trường DODO_PAYMENTS_API_KEY và sử dụng URL nền tảng mặc định trừ khi bạn đặt DODO_PAYMENTS_BASE_URL:
Client::new trả về một Result, vì vậy hãy mở nó ra với ? bên trong một hàm trả về dodopayments::Result:
Môi trường
URL nền tảng mặc định là
https://live.dodopayments.com. Chọn một môi trường khác với enum Environment thay vì mã hóa URL:
DODO_PAYMENTS_API_KEY qua from_env() trong khi nhắm mục tiêu đến một môi trường không mặc định, ghi đè nó trên cấu hình:
Thời gian chờ
Thời gian chờ mặc định của yêu cầu là 30 giây. Ghi đè nó theo từng client:Hoạt động phổ biến
Tạo phiên Checkout
Tạo một phiên checkout:Quản lý Khách hàng
Tạo và lấy thông tin khách hàng:Xử lý Đăng ký
Tạo và quản lý đăng ký định kỳ:billing yêu cầu tối thiểu mã country ISO gồm hai chữ cái. customer là một enum CustomerRequest — truyền AttachExisting cho customer hiện có hoặc New cho customer mới. Các field số tiền như product_price được tính theo đơn vị tiền tệ nhỏ nhất (ví dụ: 2500 = 25,00 USD).Thanh toán theo mức sử dụng
Tiếp nhận sự kiện sử dụng
Theo dõi các sự kiện tùy chỉnh:Liệt kê sự kiện sử dụng
Phân trang
Các endpoint list trả về một trang có kiểu, trong đó fielditems chứa các kết quả của trang hiện tại. Stream mọi item trên tất cả các trang bằng into_stream:
get_next_page:
Xử lý lỗi
Mọi method đều trả về mộtdodopayments::Result<T>. Các lỗi được biểu diễn bằng enum dodopayments::Error. Hãy match trên enum này để xử lý riêng các lỗi API và lỗi transport:
Endpoint chưa được ghi nhận
Để gọi một endpoint chưa được cung cấp dưới dạng method có kiểu, hãy sử dụng builder cấp thấprequest, builder này áp dụng authentication và base URL:
Tài nguyên
GitHub Repository
Xem mã nguồn và đóng góp
Crates.io
Xem crate đã phát hành và các phiên bản
API Reference
Tài liệu API đầy đủ
Discord Community
Nhận trợ giúp và kết nối với các developer
Hỗ trợ
Bạn cần trợ giúp về Rust SDK?- Discord: Tham gia community server của chúng tôi để nhận hỗ trợ theo thời gian thực
- Email: Liên hệ với chúng tôi tại support@dodopayments.com
- GitHub: Mở issue trên repository