Saltar al contenido principal
El SDK de Go proporciona una interfaz limpia e idiomática de Go para integrar Dodo Payments en tus aplicaciones. Ofrece soporte de contexto, respuestas fuertemente tipadas, capacidades de middleware y es seguro para uso concurrente.

Instalación

Instala el SDK usando módulos de Go:
O para fijar a una versión específica:
El SDK requiere Go 1.22 o versiones posteriores, aprovechando las funciones modernas de Go para un rendimiento óptimo.

Inicio Rápido

Inicializa el cliente y crea tu primera sesión de pago:
Almacena siempre tus claves API de forma segura usando variables de entorno. Nunca las codifiques directamente en tu código fuente.

Características Principales

Context Support

Compatibilidad total con context.Context para cancelaciones y límites de tiempo

Strong Typing

Solicitudes y respuestas fuertemente tipadas para seguridad en tiempo de compilación

Middleware

Compatibilidad extensible con middleware para registro, métricas y lógica personalizada

Goroutine Safe

Cliente seguro para hilos diseñado para operaciones concurrentes

Configuración

Contexto y Tiempos de Espera

Aprovecha el contexto de Go para tiempos de espera y cancelación:

Configuración de Reintentos

Configura el comportamiento de reintento automático:

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 de dos letras Country. Customer es un CustomerRequestUnionParam — pase AttachExistingCustomerParam{CustomerID: ...} para un cliente existente o NewCustomerParam{Email: ..., Name: ...} para uno nuevo. ProductPrice está en la denominación más baja de la moneda.

Facturación Basada en Uso

Ingresar Eventos de Uso

Rastrear eventos personalizados:

Listar Eventos de Uso

Manejo de Errores

Cuando la API devuelve un código de estado no exitoso, el SDK devuelve un error de tipo *dodopayments.Error. Expone el StatusCode, el subyacente *http.Request y *http.Response, y el JSON del cuerpo del error. Usa el patrón errors.As para inspeccionarlo y ramificar en StatusCode para manejar casos específicos:

Middleware

Agregar middleware personalizado para registros o métricas:

Concurrencia

El cliente es seguro para uso concurrente:

Recursos

GitHub Repository

Ver código fuente y contribuir

API Reference

Documentación completa de la API

Discord Community

Obtener ayuda y conectar con desarrolladores

Report Issues

Informar errores o solicitar funciones

Soporte

¿Necesitas ayuda con el SDK de Go?

Contribuciones

¡Damos la bienvenida a las contribuciones! Consulta las directrices de contribución para comenzar.
Última modificación el 18 de junio de 2026