Skip to main content
Pay What You Want (PWYW) te permite ofrecer precios variables para un solo producto sin crear varias entradas de producto. Estableces un precio mínimo en el dashboard y, después, envías importes dinámicos al crear sesiones de checkout o permites que los clientes elijan su precio. Este enfoque funciona para:
  • Precios variables sin gestionar varios productos
  • Precios definidos por el cliente, donde los compradores eligen el importe
  • Control de precios mediante programación, donde estableces el importe a través de la API
  • Modelos de precios flexibles para productos digitales, donaciones o lanzamientos experimentales
Pay What You Want solo está disponible para productos de pago único. No se puede utilizar con suscripciones. La moneda base del producto debe ser USD, GBP o EUR.

Requisitos previos

  • Un producto de pago único con Pay What You Want habilitado en el dashboard
  • El ID del producto (por ejemplo, pdt_123abc456def)
  • Una clave de API de Developer → API Keys

Habilitar Pay What You Want en un producto

En el dashboard de Dodo Payments:
1

Go to Products

Ve a Products y selecciona el producto de pago único que quieres configurar.
2

Enable Pay What You Want

En la sección Pricing, activa Pay What You Want.
3

Set the minimum price

Introduce el Minimum Price que los clientes deben pagar. Este campo es obligatorio.
4

Set a suggested price (optional)

Opcionalmente, establece un Suggested Price para orientar a los clientes. No existe una configuración de precio máximo. Para limitar el importe que cobras, aplica el límite en tu propio código antes de crear la sesión.
5

Save

Haz clic en Update Product y anota el ID de tu producto para utilizarlo en las sesiones de checkout.
Puedes encontrar el ID de tu producto en el dashboard, en Products → View Details, o mediante la API List Products.

Crear una sesión de checkout con un importe fijo

Cuando envías un amount en el carrito del producto, el checkout utiliza ese importe exacto como precio unitario, siempre que sea igual o superior al precio mínimo del producto. El campo amount utiliza la unidad monetaria más pequeña: centavos para USD, peniques para GBP y centavos para EUR. Por ejemplo, 1500 = $15.00 o €15.00.
El campo amount se ignora para los productos que no tienen Pay What You Want habilitado. Solo se aplica a pagos únicos.

Permitir que los clientes elijan su precio

Omite el campo amount para mostrar un campo de importe en el checkout. Los clientes pueden introducir cualquier importe igual o superior al precio mínimo de tu producto.
Los enlaces de pago estáticos para productos Pay What You Want aceptan un parámetro de consulta paymentAmount que fija el importe cobrado. A diferencia de la API Checkout Sessions, este parámetro utiliza unidades monetarias principales (por ejemplo, 12.5 para $12.50).
paymentAmount utiliza unidades monetarias principales (15.00 equivale a $15.00). El campo de la API Checkout Sessions, product_cart[].amount, utiliza la unidad monetaria más pequeña (1500 equivale a $15.00). Consulta la guía de integración para obtener más información.

Patrones habituales

Precios escalonados por segmento de clientes

Cobra importes diferentes a distintos tipos de clientes utilizando el mismo producto:

Precios basados en la cantidad

Ajusta el precio unitario según la cantidad comprada. amount es un precio por unidad y el total es amount × quantity:

Precios promocionales

Aplica precios por tiempo limitado:
Utiliza metadatos para registrar por qué se eligieron determinados importes (por ejemplo, pricing_tier, discount_code, user_segment). Esto te ayuda a analizar los patrones de precios y el comportamiento de los clientes.

Validar importes

Comprueba que el importe sea igual o superior al precio mínimo de tu producto antes de crear una sesión de checkout. maxAmount es tu propio límite comercial; Dodo Payments no tiene una configuración de precio máximo.

Solución de problemas

Verifica que:
  • El producto tenga Pay What You Want habilitado en el dashboard
  • El producto sea de pago único y no una suscripción
  • El importe tenga el formato correcto (unidad monetaria más pequeña: centavos para USD, peniques para GBP y centavos para EUR)
La API rechaza las sesiones de checkout cuyo importe sea inferior al precio mínimo de tu producto. Valida los importes antes de crear las sesiones u omite el campo amount para permitir que los clientes elijan.
Si no aparece el campo de importe, asegúrate de haber omitido el campo amount del carrito del producto. Cuando se proporciona amount, el checkout utiliza ese importe exacto.

Checkout Sessions API

Referencia completa de la API para las sesiones de checkout.

Checkout Sessions Guide

Explora las funciones avanzadas de las sesiones de checkout y las opciones de personalización.

Pay What You Want Feature

Obtén más información sobre el modelo de precios Pay What You Want.
Última modificación el 26 de septiembre de 2026