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ã ISO hai chữ country. customer là định danh CustomerRequest — truyền AttachExisting cho một khách hàng hiện có hoặc New cho một khách hàng mới. Các trường số lượng như product_price ở đơn vị tiền tệ thấp nhất (ví dụ: 2500 = $25.00 USD).Thanh toán Dựa trên Sử dụng
Thu thập Sự kiện Sử dụng
Theo dõi các sự kiện tùy chỉnh:Danh sách Sự kiện Sử dụng
Phân trang
List endpoints trả về một trang có kiểu mà trườngitems giữ trang kết quả hiện tại. Truyền trực tiếp mọi mục qua tất cả các trang với into_stream:
get_next_page:
Xử lý Lỗi
Mỗi phương thức trả về mộtdodopayments::Result<T>. Các thất bại được đại diện bởi enum dodopayments::Error. Kiểm tra nó để xử lý lỗi API tách biệt khỏi lỗi truyền tải:
Endpoint không Tài liệu
Để gọi một endpoint chưa được lộ ra dưới dạng phương thức có kiểu, sử dụng builder thấprequest, áp dụng xác thực và URL nền tảng:
Tài nguyên
GitHub Repository
Xem mã nguồn và đóng góp
Crates.io
Xem crate và các phiên bản đã công bố
API Reference
Tài liệu API hoàn chỉnh
Discord Community
Nhận trợ giúp và kết nối với các nhà phát triển
Hỗ trợ
Cần hỗ trợ với Rust SDK?- Discord: Tham gia máy chủ cộng đồng của chúng tôi để được hỗ trợ thực tế
- Email: Liên hệ với chúng tôi tại support@dodopayments.com
- GitHub: Mở một issue trên kho lưu trữ