Skip to main content
Portada de la descripción general de los códigos de descuento
Los códigos de descuento te permiten ejecutar promociones e incentivos dirigidos. Crea descuentos basados en porcentajes, establece límites y expiraciones, restríngelos a productos y aplícalos de manera fluida en el checkout.

Checkout Sessions

Aplica uno o más códigos apilados durante el pago alojado con discount_codes y controles de UI.

Validate Discount

Comprueba si un descuento es válido según su ID.

Get Discount by Code

Busca y valida un descuento usando su nombre de código (p. ej., “SAVE20”).

Create Discount (API)

Crea programáticamente nuevos códigos de descuento.

List & Update Discounts

Navega y administra descuentos existentes; actualiza o elimina según sea necesario.

¿Qué Son los Códigos de Descuento?

Los códigos de descuento son tokens promocionales que reducen los totales de pedidos en el proceso de pago. Son ideales para:
  • Campañas estacionales: Black Friday, lanzamientos de productos o aniversarios
  • Ofertas de adquisición: Incentivos para la primera compra o recompensas por referencias
  • Retención: Recompensas de recuperación o lealtad para clientes existentes
  • Ofertas B2B: Precios contratados o negociados a través de códigos privados

Beneficios Clave

  • Descuentos flexibles: Porcentaje o cantidad fija de descuento
  • Control dirigido: Restringir por producto y ciclos de suscripción
  • Gobernanza de campañas: Fechas de expiración y límites de uso
  • Proceso de pago sin problemas: Soporte de campo de UI y API a través de sesiones de pago
  • Descuentos flexibles: Descuentos basados en porcentajes o importes fijos
  • Códigos combinables: Aplica hasta 20 códigos por checkout, pago o suscripción — combina campañas (p. ej., WELCOME10 + BLACKFRIDAY20) sin crear códigos personalizados
  • Control específico: Restringe por producto, ciclos de suscripción y elegibilidad del cliente
  • Gestión de campañas: Fechas de inicio programadas, fechas de vencimiento y límites de uso generales y por cliente
  • Precios por divisa: Define la deducción fija, el límite del importe y el subtotal mínimo por divisa
  • Checkout fluido: Campo de UI y compatibilidad con API mediante sesiones de checkout
Crea códigos de descuento en tu panel de Dodo Payments, luego aplícalos en el pago alojado o a través de la API.

Configuración del Panel

Lista de descuentos en el dashboard de Dodo Payments que muestra códigos de descuento existentes

Configuración en el dashboard

  • Nombre del descuento (obligatorio): Nombre interno y nombre mostrado en el dashboard
  • Código (obligatorio): Cadena que los clientes introducen en el checkout, o genera un código aleatorio mediante el botón proporcionado
  • Tipo (obligatorio): Elige Porcentaje (un porcentaje de descuento) o Importe (una deducción fija)
  • Importe (obligatorio): El valor porcentual o el importe fijo para un descuento de tipo Importe
  • Fecha de inicio (opcional): Programa el momento en que el código estará activo; déjalo vacío para activarlo inmediatamente
  • Fecha de vencimiento (opcional): Fecha después de la cual el código deja de ser válido
  • Límite de uso (opcional): Máximo total de canjes entre todos los clientes
  • Límite de uso por cliente (opcional): Máximo de canjes por parte de un único cliente. Debe ser menor o igual que el límite de uso general cuando ambos estén definidos
  • Elegibilidad del cliente (opcional): Restringe quién puede canjear el código — todos los clientes, clientes nuevos, clientes existentes o una lista seleccionada manualmente
  • Opciones de divisa (opcional): Valores por divisa — consulta Opciones por divisa
  • Restricción de producto (opcional): Limita la aplicabilidad a productos seleccionados
  • Límite de ciclos de suscripción (opcional): Número de ciclos de facturación durante los que se aplica el descuento
  • Conservar al cambiar de plan (opcional): Mantén el descuento activo cuando cambie el plan de la suscripción (preserve_on_plan_change)
  • Metadata (opcional): Añade pares clave-valor personalizados para el seguimiento interno o las integraciones
Los detalles del descuento — tipo, porcentaje o importe, nombre, código y opciones de divisa:
Formulario de nuevo código de descuento que muestra el tipo, el importe porcentual, el nombre, el código y las opciones de divisa
Límites de uso y vencimiento completamente configurados:
Panel de límites de uso y vencimiento con la fecha de inicio, la fecha de vencimiento y los límites de uso configurados
Más abajo en el formulario — elegibilidad, restricciones y opciones avanzadas:
Elegibilidad, restricciones y opciones avanzadas para un código de descuento
Usa los límites de ciclos para precios introductorios en suscripciones (p. ej., “50% de descuento durante 3 meses”).
Un amount porcentual se expresa en puntos básicos mediante la API — 1500 significa 15%. Un amount fijo es un valor monetario y se denomina según las opciones de divisa del código.

Tipos de descuento

Ambos tipos pueden combinarse en el mismo array discount_codes y se aplican en el orden del array.
Editor de códigos de descuento con el tipo Importe seleccionado, que muestra una deducción fija de 500 INR

Elegibilidad del cliente

Define customer_eligibility para controlar quién puede canjear un código:
Menú desplegable de elegibilidad del cliente que muestra las opciones Cualquiera, Primera compra, Existente y Cliente específico
Un código specific comienza con cero clientes elegibles y rechaza todos los canjes hasta que añadas clientes. Añádelos en el dashboard o mediante la API de clientes de descuentos.
Combina la elegibilidad con el Límite de uso por cliente para limitar cuántas veces puede canjear el código cada cliente, independientemente del límite de uso general.

Opciones por divisa

Las opciones de divisa permiten que un código funcione correctamente en todas las divisas en las que vendes. Cada entrada define, para una sola divisa:
  • Importe — para un descuento de tipo Importe, es la deducción en sí; para un descuento de tipo Porcentaje, limita cuánto puede descontar el código. Se asigna a max_amount_possible mediante la API.
  • Subtotal mínimo — el código solo se aplica cuando el carrito alcanza este subtotal. 0 significa que no hay mínimo.
  • Predeterminada — una entrada puede marcarse como predeterminada para que otras divisas no configuradas realicen la conversión a partir de ella.
Panel de opciones de divisa con el importe y el subtotal mínimo por divisa para INR y USD
Un descuento de tipo Importe requiere al menos una opción de divisa con un valor predeterminado resoluble, ya que una deducción fija no tiene sentido sin una divisa. Las opciones de divisa son opcionales para los descuentos de tipo Porcentaje.
El subtotal mínimo siempre se mide con respecto a los precios originales del carrito, nunca contra el total acumulado durante una combinación. Por lo tanto, el orden de combinación nunca cambia si se alcanza un mínimo.

Experiencia de checkout

  1. Los compradores introducen el código en el campo de checkout.
  2. Los descuentos elegibles se aplican y los totales se actualizan inmediatamente.
Página de checkout que muestra un descuento aplicado al total del pedido
En Checkout Sessions, pasa discount_codes (un array) para preaplicar uno o más códigos. El campo de entrada del descuento se muestra de forma predeterminada — feature_flags.allow_discount_code tiene como valor predeterminado true, así que configúralo como false solo si quieres ocultarlo. Los códigos se aplican en el orden del array, hasta un máximo de 20.

Combinación de códigos de descuento

Las sesiones de checkout, los pagos y las suscripciones aceptan hasta 20 códigos combinados mediante el array discount_codes (máximo de 20 entradas). Los códigos se aplican en el orden del array, por lo que el primer código elegible reduce primero el precio base, el siguiente código reduce el precio ya descontado, y así sucesivamente. El conjunto completo de descuentos aplicados se devuelve en la respuesta bajo discount_ids (en pagos/suscripciones) y discounts (detalles más completos por descuento, incluida la posición y los ciclos de suscripción restantes).
El campo singular discount_code está obsoleto, pero sigue siendo totalmente compatible por motivos de compatibilidad con versiones anteriores — las integraciones existentes continúan funcionando sin cambios. No se puede combinar con discount_codes en la misma solicitud. Recomendamos migrar a discount_codes (la forma de array) cuando resulte conveniente, incluso para códigos individuales, para aprovechar la combinación y la estructura de respuesta más completa.

Gestión mediante API

Crea códigos de descuento mediante programación con tipo e importe.

API Reference

Consulta la API de creación de descuentos.
Enumera todos los descuentos o recupera sus detalles para su gestión y auditoría.

API Reference

Consulta las API de listado y recuperación.
Busca un descuento usando su código legible para humanos (p. ej., “SAVE20”) en lugar del ID interno.

API Reference

Recupera el descuento por nombre de código.
Modifica la configuración del descuento, como el importe, el vencimiento o las restricciones.

API Reference

Descubre cómo actualizar los detalles del descuento.
Comprueba si un descuento es válido y aplicable antes de aplicarlo.

API Reference

Valida el uso del descuento.
Desactiva o elimina los descuentos que ya no necesites.

API Reference

Elimina un descuento.
Para un descuento con customer_eligibility definido como specific, gestiona los clientes que pueden canjearlo:
  • GET /discounts/{discount_id}/customers — enumera los clientes asociados (paginados, hasta 100 por página).
  • POST /discounts/{discount_id}/customers — asocia clientes por ID. La llamada es idempotente y acepta hasta 1000 ID, todos los cuales deben existir ya en tu negocio. La respuesta solo devuelve los ID enviados en esa solicitud, por lo que debes listar el endpoint para leer la lista completa de permitidos.
  • DELETE /discounts/{discount_id}/customers/{customer_id} — desvincula un único cliente.

Casos de uso habituales

  • Ofertas introductorias: Promociones de lanzamiento por tiempo limitado para productos nuevos
  • Volumen o B2B: Descuentos contractuales para conjuntos de productos seleccionados
  • Estrategias de retención: Códigos de recuperación en flujos de prevención de cancelaciones
  • Campañas estacionales: Promociones basadas en festividades o eventos

Ejemplos de integración

Crear un descuento con metadata

Añade pares clave-valor personalizados para el seguimiento interno.
Usa metadata para etiquetar descuentos por campaña, fuente o ID de referencia interno, de modo que puedas conciliar el uso y medir el ROI posteriormente.

Aplicar descuentos en Checkout Sessions

Aplica previamente uno o varios descuentos combinados y muestra la UI de entrada del código.

Aplicar descuentos durante cambios de plan

Ofrece precios promocionales cuando los clientes mejoren o reduzcan su suscripción.
Lee todos los descuentos aplicados de la suscripción mediante el nuevo array discounts en la respuesta de la suscripción. Cada entrada incluye discount_id, position, cycles_remaining (para suscripciones) y el código original.

Ocultar el campo del código de descuento

La entrada del descuento se muestra de forma predeterminada, por lo que los clientes siempre pueden introducir un código sin que tengas que pasar uno de antemano. Configura allow_discount_code como false para ocultar el campo por completo.

Prácticas recomendadas

  • Nombres claros: Usa códigos reconocibles que coincidan con los nombres de las campañas
  • Limita la duración: Añade fechas de vencimiento para generar urgencia y evitar usos indebidos
  • Define bien el alcance: Limita los descuentos a productos específicos para evitar pérdidas de margen
  • Valida pronto: Comprueba la aplicabilidad del código antes de confirmar el checkout
  • Supervisa el impacto: Haz un seguimiento del uso y la conversión por campaña
Los códigos de descuento son herramientas potentes para la adquisición y la retención. Empieza con ofertas sencillas y con nombres claros, valida exhaustivamente y realiza iteraciones según el rendimiento.
Última modificación el 17 de agosto de 2026