Nuevas funciones
1. Facturación basada en créditos
Dodo Payments ahora admite la facturación basada en créditos, un sistema flexible para emitir, administrar y rastrear derechos de crédito en suscripciones, productos de pago único y facturación basada en uso. En lugar de cobrar por uso o restringir el acceso mediante banderas de funciones, asignas una reserva de créditos de la que los clientes consumen mientras usan tu servicio.
Lo que puedes hacer
| Capacidad | Descripción |
|---|
| Unidades personalizadas o créditos fiduciarios | Define créditos en tu propia unidad (llamadas a la API, tokens, horas de cómputo) o como valor monetario real (USD, EUR) |
| Créditos de suscripción | Emite créditos por ciclo de facturación con reemisión automática en la renovación |
| Créditos de pago único | Otorga un saldo de crédito fijo al adquirirlo, ideal para paquetes de recarga o promociones |
| Deducción basada en el uso | Vincula créditos a contadores para que se deduzcan automáticamente según eventos de consumo en tiempo real |
| Acumulación | Permite que los créditos no utilizados se trasladen, con porcentaje máximo, periodo y recuento de acumulación configurables |
| Controles de excedentes | Permite que los clientes sigan usando tu servicio más allá de su saldo, con opciones para perdonar, facturar o trasladar el déficit |
| Caducidad | Establece la validez de los créditos desde 7 días hasta nunca, con conteos de días personalizados |
Ciclo de vida del crédito
- Créditos emitidos – Se otorgan cuando un cliente compra un producto con derechos de crédito adjuntos. En las suscripciones, los créditos se reemiten en cada ciclo de facturación.
- Créditos consumidos – Se deducen a medida que los clientes usan tu servicio. Los contadores deducen automáticamente los créditos según eventos en tiempo real, o puedes descontarlos manualmente desde el panel o la API.
- Créditos caducan o se acumulan – Al final del ciclo de facturación (o tras el periodo de caducidad configurado), los créditos no utilizados caducan o se acumulan según tus ajustes.
- Gestión de excedentes – Si los créditos se agotan a mitad del ciclo, puedes permitir el uso continuo y decidir cómo se gestionan los excedentes al cierre del ciclo.
Adjuntar créditos a productos
Los créditos se adjuntan como derechos en el flujo de creación de productos. Puedes adjuntar hasta 3 créditos por producto, y funcionan con los tres tipos de precio: suscripciones, pagos únicos y facturación basada en uso.
// Create a checkout session for a product with attached credits
const session = await client.checkoutSessions.create({
product_cart: [
{
product_id: 'prod_ai_pro_plan',
quantity: 1,
}
],
customer: { email: 'customer@example.com' },
return_url: 'https://yourapp.com/success'
});
Deducción basada en el uso
Cuando los créditos están vinculados a contadores, el sistema deduce automáticamente créditos según los eventos de uso ingeridos. Configura la tasa de unidades del contador por crédito para controlar la conversión (por ejemplo, 1.000 llamadas a la API = 1 crédito).
// Send usage events that deduct credits automatically
await fetch('https://api.dodopayments.com/events/ingest', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.DODO_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
events: [{
event_id: `gen_${Date.now()}`,
customer_id: 'cus_abc123',
event_name: 'ai.generation',
timestamp: new Date().toISOString(),
metadata: { model: 'gpt-4', tokens: 1500 }
}]
})
});
Experiencia del cliente
Los clientes pueden ver y administrar sus saldos de crédito en el Portal del cliente dentro de la sección Créditos, con saldo disponible, historial de transacciones y desglose de uso. Los créditos también aparecen en el pago, los detalles de suscripción y las páginas de transacciones.
Webhooks
La facturación basada en créditos genera eventos webhook para cada cambio en el ciclo de vida del crédito:
| Evento | Descripción |
|---|
credit.added | Créditos otorgados a un cliente |
credit.deducted | Créditos consumidos mediante uso o débito manual |
credit.expired | Créditos no utilizados que caducaron |
credit.rolled_over | Créditos trasladados hacia una nueva emisión |
credit.rollover_forfeited | Créditos perdidos al alcanzar el recuento máximo de acumulación |
credit.overage_charged | Se aplicaron cargos por excedente |
credit.manual_adjustment | Se realizó un ajuste manual de crédito/débito |
credit.balance_low | El saldo cayó por debajo del umbral configurado |
Comienza con ajustes simples, sin acumulación ni excedentes, y añade complejidad a medida que aprendes cómo usan los créditos tus clientes. La mayoría de configuraciones se pueden actualizar en cualquier momento sin afectar las emisiones existentes.
Más información: Facturación basada en créditos | Cargas útiles de webhook de crédito | API de derechos de crédito
2. Personalización de diseño y tema
Presentamos la nueva página de Diseño, un centro unificado para personalizar el aspecto de tu pago, vitrina y portal del cliente desde un solo lugar. Elige temas predefinidos, configura tipografía y colores y aplica anulaciones por sección, todo con vista previa en vivo antes de guardar.
Aspectos clave
| Función | Descripción |
|---|
| Centro de diseño unificado | Configura la apariencia del pago, la vitrina y el portal del cliente desde una sola página |
| Temas preconstruidos | Comienza con un tema curado (Dodo Pulses, Terminal, Bumblebee o Bubblegum) y personalízalo desde allí |
| Modo claro y oscuro | Define paletas de color separadas para cada modo |
| Vista previa en vivo | Ve cómo se ven tus cambios en el pago, el portal del cliente y la vitrina antes de guardar |
| Anulaciones por sección | Ajusta secciones individuales sin afectar las demás |
| Control programático | Anula temas en el momento del pago mediante la API o el SDK de pago |
Primeros pasos
Ve a Diseño en la barra lateral principal de tu Panel de comerciante. La página tiene cuatro pestañas:
| Pestaña | Propósito |
|---|
| General | Nombre del negocio, logotipo, selección de tema y configuración avanzada global |
| Pago | Anula la configuración del tema específicamente para la página de pago |
| Vitrina | Anula la configuración del tema y configura el diseño de la vitrina |
| Portal del cliente | Anula la configuración del tema para el portal del cliente |
Configuración avanzada
Expande la Configuración avanzada en la pestaña General para tener control granular sobre la tipografía (fuentes de Google primarias/secundarias, tamaño de fuente, grosor), la configuración de colores (paletas separadas para modo claro y oscuro que abarcan fondos, texto, botones y bordes) y el radio de borde para controlar la redondez de los elementos de la interfaz.
Temas preconfigurados
Se incluyen cuatro temas curados de serie:
- Dodo Pulses – El tema predeterminado con acentos verde lima y tipografía sans-serif limpia
- Terminal – Orientado a desarrolladores con tipografía monoespaciada y acentos azul real
- Bumblebee – Acentos cálidos en ámbar y dorado con estilo audaz y premium
- Bubblegum – Acentos juguetones en rosa y magenta con esquinas totalmente redondeadas
Después de seleccionar un tema preconstruido, puedes personalizar aún más las propiedades individuales en la Configuración avanzada. Las propiedades no especificadas vuelven a los valores predeterminados del tema.
Más información: Personalización de diseño y tema | Funciones del pago | Vitrina
3. Estado de reembolso y disputas en la API de listado de pagos
El endpoint de listado GET /payments ahora incluye los campos refund_status y dispute_status en cada elemento de pago, para que puedas ver el estado de reembolsos y disputas sin solicitar los detalles individuales del pago.
| Campo | Tipo | Descripción |
|---|
refund_status | partial | full | null | Resumen del estado de reembolso para este pago. null si no existen reembolsos exitosos |
dispute_status | string | null | El estado más reciente de disputa para este pago. null si no existen disputas |
Valores de dispute_status: dispute_opened, dispute_expired, dispute_accepted, dispute_cancelled, dispute_challenged, dispute_won, dispute_lost
También puedes filtrar pagos por estado de disputa usando el parámetro de consulta dispute_status:
# List all payments with open disputes
curl -X GET 'https://api.dodopayments.com/payments?dispute_status=dispute_opened' \
-H 'Authorization: Bearer YOUR_API_KEY'
Usa estos campos para crear paneles de disputas y reembolsos, activar alertas cuando cambie el estado de una disputa o filtrar tu lista de pagos para destacar los que requieren atención.
Más información: API de listado de pagos
4. Tabla de reembolsos en el portal del cliente
El Portal del cliente ahora incluye una sección dedicada de Reembolsos, donde los clientes pueden ver todos los reembolsos asociados a sus pagos. Cada entrada muestra el monto reembolsado, estado, fecha y el pago original contra el que se emitió, brindando total transparencia sin necesidad de contactar a soporte.
La tabla de reembolsos está disponible automáticamente en el portal del cliente para todos los negocios. No se requiere configuración.
Más información: Portal del cliente
5. Copiar a modo en vivo para contadores
Ahora puedes copiar contadores del modo de prueba al modo en vivo directamente desde el panel. Cuando termines de probar una configuración de contador en modo de prueba, usa la acción de copia para replicarla al modo en vivo con todos los ajustes preservados: tipo de agregación, nombre del evento, filtros y asociaciones de crédito. Esto elimina la necesidad de recrear los contadores manualmente al pasar de desarrollo a producción.
Construye y valida primero tus configuraciones de contadores en modo de prueba, luego cópialas al modo en vivo cuando estés listo para producción. Esto asegura que tu configuración de facturación esté probada antes de manejar el uso real de clientes.
Más información: Facturación basada en uso | Contadores