
Checkout Sessions
Aplica uno o más códigos apilados durante el pago alojado con
discount_codes y controles de UI.Get Discount
Recupera un descuento por su ID para consultar su estado y sus restricciones.
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: Los códigos de descuento son tokens promocionales que reducen los totales de los pedidos en el checkout. Úselos para campañas estacionales, incentivos para la primera compra, ofertas para recuperar clientes o precios B2B negociados. Los códigos pueden basarse en porcentajes (por ejemplo, 15 % de descuento) o en importes fijos (por ejemplo, 5 $ de descuento). Puede combinar hasta 20 códigos por checkout, pago o suscripción, de modo que un cliente pueda canjear una oferta de bienvenida y un código de campaña en la misma transacción. Restrinja los códigos a productos específicos, limite cuántas veces puede usarlos cada cliente, establezca fechas de vencimiento y controle quiénes pueden canjearlos.- 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: Aplique hasta 20 códigos por checkout, pago o suscripción
- Control específico: Restrinja 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 moneda: Establezca la deducción fija, el límite del importe y el subtotal mínimo por moneda
Configuración del Panel

Configuración en el Dashboard
- Discount Name (obligatorio): Etiqueta interna para el Dashboard.
- Code (obligatorio): La cadena que los clientes introducen en el checkout. Genere un código aleatorio o introduzca uno propio (mínimo de 3 caracteres, convertido automáticamente a mayúsculas).
- Type (obligatorio): Percentage (un porcentaje de descuento) o Amount (una deducción fija).
- Amount (obligatorio): Para percentage, el porcentaje de descuento en el Dashboard (por ejemplo,
15para 15 %). En la API, el mismo valor se expresa en puntos básicos (1500). Para amount, la deducción fija en la moneda predeterminada del código. - Start Date (opcional): Programe la activación del código para una fecha futura. Déjelo vacío para activarlo inmediatamente.
- Expiration Date (opcional): Fecha después de la cual el código ya no se puede canjear.
- Usage Limit (opcional, en Advanced): Número máximo total de canjes entre todos los clientes.
- Per-Customer Usage Limit (opcional, en Advanced): Número máximo de canjes por parte de un mismo cliente. Debe ser menor o igual que el límite de uso general cuando ambos estén configurados.
- Customer Eligibility (opcional): Restrinja quiénes pueden canjearlo: todos los clientes, clientes nuevos, clientes existentes o una lista seleccionada manualmente.
- Currency Options (opcional): El importe del descuento para cada moneda en la que venda. Consulte Per-Currency Options.
- Product Restriction (opcional): Limite el código a productos específicos.
- Subscription Cycle Limit (opcional, en Advanced): Número de ciclos de facturación durante los que se aplica el descuento. Déjelo vacío para que sea indefinido.
- Preserve on Plan Change (opcional): Mantenga activo el descuento cuando una suscripción cambie de plan (
preserve_on_plan_change). - Metadata (opcional): Adjunte pares clave-valor personalizados para el seguimiento interno.
- Require a minimum order value (opcional, en Advanced): Subtotal mínimo del carrito (por moneda) necesario para aplicar el código.


Un
amount porcentual se expresa en puntos básicos a través de la API; 1500 significa un 15 %. Un amount fijo es un valor monetario y está denominado en las opciones de moneda del código.Tipos de descuento
Ambos tipos pueden combinarse en el mismo array
discount_codes y se aplican en el orden del array.

Elegibilidad del cliente
Configuracustomer_eligibility para controlar quién puede canjear un código:

Opciones por moneda
Cuando vende en varias monedas, establezca el comportamiento por moneda para cada código. En Currency options, cada entrada especifica:- Amount — para un descuento Amount, la deducción fija en esa moneda; para un descuento Percentage, el límite máximo de descuento. Se asigna a
max_amount_possibleen la API. - Default — marque una moneda como predeterminada. Las monedas no configuradas se convierten desde esta moneda predeterminada.
- Minimum subtotal — el código se aplica únicamente cuando el carrito alcanza este subtotal en esa moneda.
0significa que no hay un mínimo.

El subtotal mínimo siempre se mide con respecto a los precios originales del carrito, no al total acumulado después de aplicar descuentos anteriores de la combinación. El orden de combinación nunca cambia si se alcanza o no el mínimo.
Experiencia de checkout
Los clientes introducen los códigos de descuento en el campo del checkout. Los códigos elegibles se aplican inmediatamente y los totales se actualizan.
En Checkout Sessions, pase
discount_codes (un array) para aplicar previamente uno o más códigos. El campo de entrada del descuento se muestra de forma predeterminada. Establezca feature_flags.allow_discount_code en false para ocultarlo. Los códigos se aplican en el orden del array, hasta un máximo de 20.Combinación de códigos de descuento
Los checkout sessions, pagos y suscripciones aceptan hasta 20 códigos combinados mediante el arraydiscount_codes. Los códigos se aplican en el orden del array: el primer código elegible reduce el precio inicial, el siguiente reduce el precio ya descontado y así sucesivamente. Cuando Purchasing Power Parity está habilitado, el precio inicial es el importe ajustado según PPP. La respuesta incluye 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 es totalmente compatible con versiones anteriores. No se puede combinar con discount_codes en la misma solicitud. Migre a discount_codes (la forma de array) para aprovechar la combinación de códigos y una respuesta más completa.En un precio de suscripción con Card-Optional at Zero Price habilitado, una combinación de códigos que reduce el importe adeudado hoy hasta
0 también omite el requisito de tarjeta: el cliente completa el checkout sin un método de pago registrado, igual que con un precio nativo de 0.Gestión mediante la API
Create discounts
Create discounts
Crea códigos de descuento mediante programación con un tipo y un importe.
API Reference
Consulta la API de creación de descuentos.
List and retrieve
List and retrieve
Enumera todos los descuentos o recupera sus detalles para gestionarlos y auditarlos.
API Reference
Consulta las API de listado y recuperación.
Get discount by code
Get discount by code
Busca un descuento usando su código legible (por ejemplo, “SAVE20”) en lugar del ID interno.
API Reference
Recupera un descuento por nombre de código.
Update discounts
Update discounts
Modifica la configuración del descuento, como el importe, el vencimiento o las restricciones.
API Reference
Aprende a actualizar los detalles del descuento.
Retrieve a discount
Retrieve a discount
Recupera un descuento por su ID para consultar su estado, el número de usos y las restricciones antes de aplicarlo.
API Reference
Obtén un descuento por ID.
Delete discounts
Delete discounts
Desactiva o elimina los descuentos que ya no necesites.
API Reference
Elimina un descuento.
Manage the customer allow list
Manage the customer allow list
Para un descuento cuyo
customer_eligibility está configurado como specific, gestiona los clientes que pueden canjearlo:GET /discounts/{discount_id}/customers: muestra 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, que deben existir previamente en tu negocio. La respuesta solo devuelve los ID enviados en esa solicitud, por lo que debes consultar el endpoint de listado para leer la lista de permitidos completa.DELETE /discounts/{discount_id}/customers/{customer_id}: desvincula un solo cliente.
Casos de uso habituales
- Ofertas introductorias: Promociones de lanzamiento por tiempo limitado para productos nuevos
- Volumen o B2B: Descuentos negociados para conjuntos de productos seleccionados
- Estrategias de retención: Códigos de recuperación en flujos de prevención del abandono
- Campañas estacionales: Promociones basadas en festividades o eventos
Ejemplos de integración
Crear un descuento con Metadata
Adjunte pares clave-valor personalizados para el seguimiento interno.Aplicar descuentos en Checkout Sessions
Aplique previamente uno o más descuentos combinados y muestre la interfaz de entrada del código.Aplicar descuentos durante cambios de plan
Ofrezca precios promocionales cuando los clientes mejoren o reduzcan su suscripción.discount_codes controla cómo se gestionan los descuentos:
Lea todos los descuentos aplicados desde el array
discounts de la suscripción en la respuesta. Cada entrada incluye discount_id, position, cycles_remaining y el código original.Ocultar el campo del código de descuento
La entrada del descuento se muestra de forma predeterminada. Establezcaallow_discount_code en false para ocultarla.
Prácticas recomendadas
- Nombre claro: Use códigos reconocibles que coincidan con los nombres de las campañas.
- Limite la duración: Añada fechas de vencimiento para generar urgencia y evitar usos indebidos.
- Defina el alcance con criterio: Limite los códigos a productos específicos para evitar la pérdida de margen.
- Valide con antelación: Compruebe la aplicabilidad del código antes de confirmar el checkout.
- Supervise el impacto: Realice un seguimiento del uso y la conversión por campaña.