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 al menos el código ISO country de dos letras. customer es una enumeración CustomerRequest — pasa AttachExisting para un cliente existente o New para uno nuevo. Los campos de cantidad como product_price están en la denominación de moneda más baja (por ejemplo, 2500 = $25.00 USD).Facturación Basada en Uso
Ingestar Eventos de Uso
Rastrea eventos personalizados:Listar Eventos de Uso
Paginación
Las funciones de listado devuelven una página tipada cuyo campoitems contiene la página actual de resultados. Recorre cada elemento a través de todas las páginas con into_stream:
get_next_page:
Manejo de Errores
Cada método devuelve undodopayments::Result<T>. Los fallos se representan mediante la enumeración dodopayments::Error. Haz un match en él para manejar los errores de API de manera distinta a los errores de transporte:
Endpoints No Documentados
Para llamar a un endpoint que aún no está expuesto como un método tipado, utiliza el constructor de bajo nivelrequest, que aplica autenticación y la URL base:
Recursos
GitHub Repository
Ver código fuente y contribuir
Crates.io
Ver el crate publicado y sus versiones
API Reference
Documentación completa de la API
Discord Community
Obtén ayuda y conéctate con desarrolladores
Soporte
¿Necesitas ayuda con el SDK de Rust?- Discord: Únete a nuestro servidor de la comunidad para obtener soporte en tiempo real
- Email: Contáctanos en support@dodopayments.com
- GitHub: Abre un issue en el repositorio