Características
- TUI interactiva: Ejecuta
dodosin argumentos para abrir la interfaz interactiva, con una paleta de comandos, historial y notificaciones en tiempo real. - Asistente de IA integrado: Haz preguntas o realiza acciones en lenguaje natural con
/ai. El asistente ejecutadodopayments-mcplocalmente y no requiere configuración adicional. - Credenciales cifradas: Las claves de API se almacenan en
~/.dodopayments/config.json, cifradas con AES-256-GCM y una clave derivada de tu máquina. No se almacenan credenciales en texto plano en el disco. - Actualización automática: CLI comprueba si hay nuevas versiones al iniciarse y te notifica en la TUI. Para instalaciones con npm y Bun, ejecuta
/updatepara actualizar directamente. - Herramientas para webhooks: Reenvía webhooks del modo de prueba a tu servidor local o envía payloads de webhook simulados sin conexión.
- Scaffolding: Añade rutas de facturación a proyectos de Next.js, Express y Better Auth con
dodo init.
Instalación
En macOS o Linux, instala el binario de la versión más reciente con el script de instalación:dodo en el primer directorio con permisos de escritura entre /usr/local/bin, ~/.local/bin y ~/bin, o en ~/.local/bin si ninguno permite escritura. Para instalar una versión específica, establece la variable de entorno DODO_VERSION con su tag. Para elegir el directorio, establece DODO_INSTALL_DIR.
Instalar con NPM o Bun
Si tienes Node.js o Bun, instala globalmente el paquetedodopayments-cli. Las instalaciones mediante gestores de paquetes obtienen la versión publicada más reciente:
Los subcomandos directos, como
dodo login, se ejecutan en Node.js 18 o posterior. Cuando instalas mediante un gestor de paquetes, la TUI interactiva también necesita Bun. Los binarios de versión no necesitan ningún runtime.Instalación manual (no requiere Node ni Bun)
Para instalar sin ejecutar un script remoto, descarga el binario tú mismo.1
Download the Binary
Descarga el binario para tu plataforma desde la versión de GitHub más reciente.
2
Rename the Binary to dodo
3
Move It to a Directory on Your PATH
En Windows, mover el archivo a
C:\Windows\System32 requiere privilegios de administrador.4
(Optional) Verify the Download
Cada versión publica un archivo
SHA256SUMS.txt. Descárgalo junto al binario y, después, verifica el binario:Autenticación
Inicia sesión con una clave de API antes de ejecutar comandos que lean o modifiquen tu cuenta. Para iniciar sesión con un subcomando directo, pasa la clave y su modo,test o live:
- Abre en tu navegador la página Developer → API Keys del dashboard.
- Te solicita que pegues tu clave de API.
- Te pide que elijas Test Mode o Live Mode.
~/.dodopayments/config.json.
La clave de cifrado se deriva de tu máquina, por lo que las credenciales almacenadas solo funcionan en esa máquina. Si actualizas desde v3.0.x, que almacenaba las claves en el llavero del sistema operativo, ejecuta de nuevo
dodo login. Las claves del archivo anterior en texto plano ~/.dodopayments/api-key se migran automáticamente y el archivo se elimina.Cambiar de modo y cerrar sesión
Puedes mantener iniciadas al mismo tiempo una clave del modo de prueba y una clave del modo activo. Para cambiar el modo activo en la TUI, ejecuta/switch. Para eliminar las claves almacenadas:
test, live o all. En la TUI, /logout te pide que elijas All accounts, Test Mode o Live Mode y, después, que confirmes.
Uso
Puedes usar CLI en dos modos.1. TUI interactiva (recomendado)
Ejecutadodo sin argumentos para abrir la interfaz interactiva:
/ para abrir la paleta de comandos. El texto que no empieza por / se envía al asistente de IA.
2. Subcomandos directos
Ejecuta un comando sin abrir la TUI:dodo por /; por ejemplo, /payments list 1. Los comandos marcados como solo TUI son asistentes interactivos. En el modo directo, muestran un mensaje que indica que debes abrir la TUI.
Asistente de IA
Haz preguntas sobre tu cuenta o realiza acciones en lenguaje natural. El asistente ejecutadodopayments-mcp en tu máquina, por lo que no requiere configuración adicional ni un flujo de OAuth. Llama a la API de Dodo Payments desde tu máquina usando la clave almacenada y envía tus indicaciones al modelo de lenguaje.
En el modo directo, ejecuta
dodo ai seguido de tu pregunta. Ejemplos en la TUI:
Scaffolding de proyectos
dodo init añade rutas de facturación de Dodo Payments a un proyecto existente. Escribe los archivos de rutas, instala el paquete adaptador correspondiente @dodopayments/* y añade las variables DODO_PAYMENTS_* que falten a tu archivo .env con valores de marcador de posición. Omite los archivos y las variables que ya existen y se ejecuta sin iniciar sesión.
Para el scaffolding de Better-Auth, puedes pasar una lista de plugins separados por comas para generarlos:
checkout, portal, usage y webhooks. Si no pasas una lista, genera los cuatro.
Si tu proyecto tiene un directorio
src/, el scaffolder escribe los archivos dentro de él. Elige el comando de instalación a partir del archivo de bloqueo de tu proyecto (bun, pnpm o yarn) y usa npm cuando no encuentra ninguno.Referencia de comandos
Estos comandos requieren una clave de API con sesión iniciada. Los comandos de listado aceptan un número de página opcional, cuyo valor predeterminado es 1, y muestran hasta 100 elementos por página.Productos
Gestiona tu catálogo de productos.Pagos
Ver las transacciones de pago.Clientes
Gestiona tus clientes.Descuentos
Gestiona los códigos de descuento.Licencias
Ver las claves de licencia. El comando se escribelicences.
Addons
Gestiona los complementos de productos.Reembolsos
Ver la información de los reembolsos.Checkout
Crear sesiones de checkout alojadas.Webhooks
CLI tiene dos herramientas de webhook para desarrollo: un listener que reenvía webhooks del modo de prueba a tu servidor local y un trigger que envía payloads de webhook simulados a cualquier endpoint.
En el modo directo, los argumentos son obligatorios. En la TUI, ejecuta
/wh listen o /wh trigger sin argumentos para abrir un asistente interactivo.
Escuchar webhooks
Reenvía en tiempo real los webhooks de tu cuenta de Dodo Payments a tu servidor de desarrollo local.1
Enter Your Local Endpoint URL
Pasa la URL local que debe recibir los webhooks, por ejemplo
http://localhost:3000/webhook. En el asistente de la TUI, CLI te la solicita.2
Automatic Setup
Si tu cuenta no tiene un endpoint de webhook para el servidor de retransmisión de CLI, CLI crea uno. El endpoint aparece en Developer → Webhooks. Después, CLI abre una conexión WebSocket con el servidor de retransmisión para recibir eventos en tiempo real.
3
Receive and Forward
Cuando se activa un evento de webhook, por ejemplo debido a un pago de prueba o a un cambio de suscripción, CLI reenvía el payload y los headers a tu endpoint local como una solicitud
POST. Registra el tipo de evento y la respuesta de tu endpoint, y envía la respuesta al servidor de retransmisión.El relay y la CLI analizan el cuerpo JSON y lo serializan de nuevo antes de reenviarlo. Si el cuerpo reenviado difiere byte por byte del original, por ejemplo, en el formato de los números, la verificación de la firma falla aunque los encabezados permanezcan intactos.
Activar webhooks de prueba
Envía un payload de webhook simulado a cualquier endpoint sin crear transacciones reales./wh trigger de la TUI te guía por los siguientes pasos:
- Establecer una URL de endpoint de destino.
- Introducir opcionalmente un Business ID, Product ID, Metadata (un objeto JSON), Customer email y Customer ID para el payload. Los campos vacíos usan valores de marcador de posición.
- Seleccionar un evento para enviar desde un menú interactivo. Puedes enviar varios eventos seguidos. Elige exit para terminar.
dodo wh trigger no requiere iniciar sesión. Funciona como un generador local y sin conexión de payloads de webhook.Eventos de webhook compatibles
dodo wh trigger puede enviar payloads simulados para 46 de los 48 tipos de eventos que entrega Dodo Payments. No admite subscription.past_due ni subscription.unpaused. Pasa el nombre del evento exactamente como aparece en la lista:
Tres nombres de trigger difieren del
type de evento en el payload que envían: payment.success envía payment.succeeded, refund.success envía refund.succeeded y licence.created envía license_key.created.
Las estructuras de los payloads simulados siguen los esquemas correspondientes de la referencia de la API. Consulta Eventos de webhook para saber qué significa cada evento y cuándo lo emite Dodo Payments en producción.
Variables de entorno
Esta variable cambia la forma en quedodo wh listen se conecta:
Actualizaciones
CLI comprueba si hay una versión más reciente al iniciarse y muestra una notificación en la barra de estado cuando está disponible. Para actualizar una instalación de npm o Bun desde la TUI, ejecuta:/update no puede actualizar un binario de versión. Para las instalaciones binarias, incluida la del script de instalación, enlaza en su lugar a la versión más reciente de GitHub. Para actualizar desde tu shell, vuelve a ejecutar el comando con el que instalaste:
Recursos
GitHub Repository
Código fuente y versiones.
npm Package
El paquete
dodopayments-cli en el registro de npm.Soporte
- Discord: Únete al servidor de la comunidad.
- GitHub: Abre un issue en el repositorio.
- Correo electrónico: Contacta con support@dodopayments.com.