Instalación
Agrega el SDK a tu proyecto con Cargo:Cargo.toml:
El SDK requiere Rust 1.75 o posterior, aprovechando características modernas asincrónicas para un rendimiento óptimo.
Inicio Rápido
El cliente lee tu clave API del entorno de la variableDODO_PAYMENTS_API_KEY por defecto. Inicializa el cliente y crea tu primera sesión de pago:
Características Principales
Async First
Construido sobre Tokio y reqwest con soporte
async/await en todo momentoStrong Typing
Solicitudes y respuestas fuertemente tipadas para seguridad en tiempo de compilación
Auto-Pagination
Recorre cada elemento a través de páginas o avanza una página a la vez
Configurable
Configura entornos, límites de tiempo, y URLs base por cliente
Configuración
Variables de Entorno
Por defecto,Client::from_env() lee tu clave API de la variable de entorno DODO_PAYMENTS_API_KEY y utiliza la URL base predeterminada a menos que configures DODO_PAYMENTS_BASE_URL:
Client::new devuelve un Result, así que desenvuélvelo con ? dentro de una función que devuelva dodopayments::Result:
Entornos
La URL base predeterminada es
https://live.dodopayments.com. Selecciona otro entorno con la enumeración Environment en lugar de codificar URLs directamente:
DODO_PAYMENTS_API_KEY a través de from_env() mientras apuntas a un entorno diferente al predeterminado, sobrescríbelo en la configuración:
Límites de Tiempo
El tiempo de espera predeterminado para solicitudes es de 30 segundos. Sobrescríbelo por cliente:Operaciones Comunes
Crear una Sesión de Pago
Genera una sesión de pago:Gestionar Clientes
Crea y recupera información de clientes:Manejar Suscripciones
Crea y gestiona suscripciones recurrentes:billing requiere como mínimo el código ISO de dos letras country. customer es un enum CustomerRequest; pasa AttachExisting para un cliente existente o New para uno nuevo. Los campos de importe, como product_price, se expresan en la denominación más baja de la moneda (por ejemplo, 2500 = 25,00 USD).Facturación basada en el uso
Ingerir eventos de uso
Registra eventos personalizados:Enumerar eventos de uso
Paginación
Los endpoints de lista devuelven una página tipada cuyo campoitems contiene la página actual de resultados. Transmite cada elemento de todas las páginas con into_stream:
get_next_page:
Gestión de errores
Cada método devuelve undodopayments::Result<T>. Los fallos se representan mediante el enum dodopayments::Error. Compruébalo para gestionar los errores de la API de forma diferenciada de los errores de transporte:
Endpoints no documentados
Para llamar a un endpoint que aún no esté expuesto como método tipado, usa el builder de bajo nivelrequest, que aplica la autenticación y la URL base:
Recursos
GitHub Repository
Ver el código fuente y contribuir
Crates.io
Ver el crate publicado y sus versiones
API Reference
Documentación completa de la API
Discord Community
Obtener ayuda y conectar con desarrolladores
Soporte
¿Necesitas ayuda con el Rust SDK?- Discord: Únete a nuestro servidor de la comunidad para recibir soporte en tiempo real
- Correo electrónico: Contáctanos en support@dodopayments.com
- GitHub: Abre un issue en el repositorio