Saltar al contenido principal

Nuevas funciones

1. Analítica a nivel de producto

Cada producto ahora cuenta con su propio panel de analítica dedicado. Navega a Productos > [Selecciona un producto] para acceder a métricas detalladas específicas de ese producto, organizadas en cinco pestañas:
Product-Level Analytics
PestañaQué obtienes
ResumenIngresos totales, recuento de pagos exitosos, gráfico de tendencia de ingresos a 30 días (diario o acumulado) y una tabla de transacciones filtrable
ClientesLos 3 principales clientes ordenados por gasto con vista de podio, además de una tabla completa de desglose de clientes
RetenciónTasa de abandono de clientes, tasa de abandono de ingresos y un gráfico de tendencias de doble línea para identificar patrones
SuscriptoresTodas las suscripciones del producto con estado, fecha de inicio, próxima fecha de facturación y monto
MRRGráfico de barras apiladas de ingresos recurrentes mensuales con desglose de MRR nuevo, MRR de expansión, MRR perdido y MRR neto nuevo
Todas las pestañas admiten un filtro de fechas (por defecto Todo el tiempo) para que puedas profundizar en cualquier periodo.
Utiliza la pestaña Retención para identificar pronto los productos con alta tasa de abandono, y la pestaña MRR para seguir si los ingresos de expansión superan a los ingresos perdidos mes a mes.
Aprende más: Analítica a nivel de producto

2. Compatibilidad con Verifi RDR en Dodo Payments

Dodo Payments ahora admite Resolución rápida de disputas (RDR) de Visa impulsada por Verifi: una herramienta automatizada de prevención de disputas que resuelve disputas elegibles de Visa antes de que se conviertan en contracargos formales. Cuando un titular de tarjeta inicia una disputa, RDR la intercepta y emite automáticamente un reembolso si la transacción está por debajo de su umbral configurado en USD. Por qué importa
BeneficioImpacto
Menor tasa de disputasLas disputas resueltas por RDR no cuentan para el umbral del 0,9 % de Visa
Sin tarifas por disputaEvita tarifas no reembolsables de 15a15 a 25 por disputa
Cero carga operativaNo hay recopilación de pruebas ni plazos de respuesta
Mejor experiencia del clienteLos titulares de tarjeta reciben reembolsos instantáneos
Protección de la cuentaMantente fuera del Programa de monitoreo de disputas de Visa (VDMP)
Superar la tasa de disputas del 0,9 % de Visa o las 100 disputas al mes activa el VDMP, con multas crecientes de hasta más de $50,000/mes. RDR te ayuda a mantenerte muy por debajo de estos umbrales.
Cómo funciona
  1. El titular de la tarjeta inicia una disputa con su banco
  2. RDR intercepta la disputa antes de que se convierta en un contracargo formal
  3. Si el monto de la transacción está en o por debajo de tu umbral, se emite automáticamente un reembolso
  4. La disputa se resuelve al instante y no cuenta contra tu tasa de disputas
Las transacciones reembolsadas automáticamente mediante RDR aparecen como una disputa perdida en tu panel de Dodo Payments. Esto es esperado: el reembolso se emitió automáticamente para evitar un contracargo formal.
Para habilitar Verifi RDR en tu cuenta, contacta a support@dodopayments.com para configurar tu umbral. Aprende más: Documentación de Visa RDR

3. CLI de DodoPayments

Presentamos la nueva CLI de DodoPayments (dodopayments-cli): administra todo tu flujo de trabajo en Dodo Payments directamente desde el terminal. Diseñada para desarrolladores que prefieren la línea de comandos, la CLI permite gestionar productos, pagos, clientes, descuentos, licencias, complementos, reembolsos e incluso crear sesiones de checkout sin salir del editor. Instalación
npm install -g dodopayments-cli
Comandos clave
ComandoDescripción
dodo loginAutentícate con tu clave de API (se abre el navegador)
dodo products listLista todos los productos
dodo payments listLista todos los pagos
dodo customers createCrea un nuevo cliente
dodo checkout newCrea una sesión de checkout y obtiene la URL
dodo wh listenReenvía webhooks de prueba en vivo a tu servidor local vía WebSocket
dodo wh triggerEnvía cargas útiles de webhook simuladas a cualquier endpoint
Pruebas de webhook La CLI incluye dos herramientas potentes para desarrollo:
  • dodo wh listen — Abre una conexión WebSocket para reenviar webhooks de prueba en tiempo real a tu servidor local, conservando encabezados originales para probar la verificación de firmas
  • dodo wh trigger — Envía cargas útiles de webhook simuladas de forma interactiva, admitiendo los 22 tipos de eventos de suscripciones, pagos, reembolsos, disputas y licencias
El receptor de webhooks solo funciona con una clave de API en modo de prueba. Asegúrate de haber iniciado sesión con una clave de modo de prueba antes de usar dodo wh listen.
Aprende más: Documentación de la CLI

4. Renovación de la interfaz del portal del cliente

El portal del cliente ha sido completamente rediseñado con una interfaz limpia y unificada. El portal renovado presenta una navegación lateral izquierda y secciones organizadas, brindando a los clientes una experiencia de autoservicio más intuitiva.
Customer Portal UI Revamp
Novedades
SecciónFuncionalidades
Suscripciones activasVe todas las suscripciones activas con detalles del plan, ciclo de facturación y próxima fecha de pago
Métodos de pagoAdministra métodos de pago guardados, agrega nuevas tarjetas y actualiza datos de pago
Historial de facturaciónConsulta facturas anteriores con recibos PDF descargables
Información de facturaciónEdita nombre, correo, teléfono y dirección de facturación
Detalles de suscripciónConsulta información detallada de la suscripción con opciones para cancelar o cambiar de plan
Cambios de planMejora o degrada mediante Colecciones de productos directamente en el portal
Los clientes también pueden actualizar métodos de pago para suscripciones activas o reactivar suscripciones en espera por pagos fallidos, todo desde el portal renovado.
El portal renovado está disponible en https://customer.dodopayments.com/login/{business_id} para modo en vivo y https://test.customer.dodopayments.com/login/{business_id} para modo de prueba.
Aprende más: Portal del cliente

5. Actualización del método de pago en el checkout inline

El checkout inline ahora admite actualizaciones de métodos de pago para suscripciones. Cuando un cliente necesita actualizar su método de pago (para una suscripción activa o para reactivar una suscripción en espera), el flujo de actualización de método de pago ahora se puede renderizar directamente dentro del diseño de tu página usando el checkout inline, brindando una experiencia integrada y fluida. Cómo funciona
  1. Llama a la API de actualización de método de pago para obtener un payment_link:
const response = await client.subscriptions.updatePaymentMethod('sub_123', {
  type: 'new',
  return_url: 'https://example.com/return'
});
  1. Usa el payment_link devuelto como checkoutUrl en el checkout inline:
DodoPayments.Checkout.open({
  checkoutUrl: response.payment_link,
  elementId: "dodo-inline-checkout"
});
El iframe inline solo renderiza el formulario de recopilación del método de pago, permitiendo a los clientes ingresar nuevos datos de tarjeta o seleccionar un método guardado sin salir de tu página.
Para suscripciones en espera, el flujo de actualización de método de pago crea automáticamente un cargo por los saldos pendientes. Monitorea los webhooks payment.succeeded e subscription.active para confirmar la reactivación.
Aprende más: Checkout inline | Actualizaciones de método de pago en suscripciones

6. Compatibilidad con relleno automático de ID fiscal en las sesiones de checkout

Ahora puedes prefijar el ID fiscal (por ejemplo, número de IVA, número de GST) al crear una sesión de checkout usando el parámetro tax_id. Esto es ideal para transacciones B2B donde ya conoces el número de identificación fiscal del cliente. Cuando se prefija un ID fiscal, el campo se preselecciona y se bloquea en el formulario de checkout.
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  customer: { customer_id: 'cus_123' },
  billing_address: { country: 'DE' },
  tax_id: 'DE999999999',
  return_url: 'https://yoursite.com/return'
});
El parámetro tax_id requiere un billing_address con al menos un campo country. La elegibilidad fiscal se valida en tiempo real y las reglas de contra cargo se aplican automáticamente para transacciones B2B calificadas.
Usa la bandera de función allow_customer_editing_tax_id para controlar si los clientes pueden modificar el ID fiscal prefijado, y allow_tax_id para alternar la visibilidad del ID fiscal en el checkout. Aprende más: Sesiones de checkout - ID fiscal | Pagos B2B

7. Clave de licencia y correo en la redirección de URL de retorno

Después de que un cliente completa el checkout, Dodo Payments ahora añade license_key e email como parámetros de consulta a tu redirección return_url, además de los parámetros existentes payment_id/subscription_id e status. Parámetros de consulta añadidos
ParámetroTipoCondición
payment_idstringSiempre presente para pagos únicos
subscription_idstringSiempre presente para pagos de suscripción
statusstringSiempre presente
license_keystringPresente si el producto tiene claves de licencia habilitadas (separadas por comas para varias)
emailstringPresente si el cliente tiene un correo registrado
URLs de redirección de ejemplo:
# One-time payment with license key
https://yoursite.com/return?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com

# Subscription with multiple license keys
https://yoursite.com/return?subscription_id=sub_xxx&status=active&license_key=LK-001,LK-002&email=customer%40example.com
Usa estos parámetros de consulta para mostrar claves de licencia o enviar un correo de confirmación inmediatamente en tu página de retorno, sin necesitar una llamada API adicional.
Aprende más: Sesiones de checkout - URL de retorno | Claves de licencia en la URL de retorno

8. API de actualización de correo del cliente

El endpoint PATCH /customers/{customer_id} ahora admite la actualización programática de direcciones de correo de clientes. Actualiza el correo junto con el nombre, el teléfono y los metadatos en una sola llamada API.
await client.customers.update('cus_123', {
  email: 'newemail@example.com',
  name: 'Updated Name'
});
Campos actualizables
CampoTipoDescripción
emailstring | nullDirección de correo del cliente
namestring | nullNombre para mostrar del cliente
phone_numberstring | nullNúmero telefónico en formato internacional
metadataobject | nullPares clave-valor personalizados
Las actualizaciones de correo también están disponibles a través del portal del cliente (autoservicio), el panel de control y la CLI mediante dodo customers update.
Aprende más: API de actualización de clientes | Gestión de clientes

9. Lanzamiento del adaptador Bun

Presentamos @dodopayments/bun: un adaptador de framework dedicado para el servidor nativo de Bun (Bun.serve()). Integra checkout, portal del cliente y webhooks con Bun en solo unas pocas líneas de código. Instalación
bun add @dodopayments/bun
Configuración rápida
import { Checkout, CustomerPortal, Webhooks } from "@dodopayments/bun";

Bun.serve({
  routes: {
    "/api/checkout": Checkout({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      returnUrl: process.env.DODO_PAYMENTS_RETURN_URL!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/customer-portal": CustomerPortal({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/webhooks": Webhooks({
      webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY!,
      onPaymentSucceeded: async (payload) => {
        console.log("Payment succeeded:", payload.data.payment_id);
      },
      onSubscriptionActive: async (payload) => {
        console.log("Subscription active:", payload.data.subscription_id);
      },
    }),
  },
});
El adaptador Bun admite los tres flujos de checkout (estático, dinámico y basado en sesión), la generación de sesiones del portal del cliente y el manejo seguro de webhooks con verificación de firma y validación Zod en 22 tipos de eventos.
El adaptador Bun se suma a nuestra familia de 11 adaptadores de framework que incluyen Next.js, Nuxt, Express, Fastify, Hono, Astro, SvelteKit, Remix, TanStack Start, Better Auth y Convex.
Aprende más: Documentación del adaptador Bun | Resumen de adaptadores de frameworks