> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Precios psicológicos

> Redondea automáticamente los precios convertidos a terminaciones limpias y ajustadas psicológicamente, como 49.99, en todas las divisas, sin establecer manualmente un precio por mercado.

Charm Pricing redondea el precio convertido a un final atractivo, como **49.99**, en cada checkout. Configuras la regla una sola vez. Dodo Payments la aplica en la moneda de cada cliente.

## ¿Qué es Charm Pricing?

[Adaptive Currency](/features/adaptive-currency) convierte tu precio base según los tipos de cambio actuales. El resultado es preciso, pero rara vez atractivo: un producto de \$47.00 puede aparecer hoy como **€43.12** y mañana como **€43.47**.

Charm Pricing toma ese importe convertido y lo ajusta al final atractivo más cercano. El cliente ve **49,99 €**, no 43,12 €. El final se mantiene estable mientras fluctúan los tipos de cambio.

No estableces un precio por mercado. Eliges una regla de redondeo y esta se aplica a todas las divisas.

<Note>
  Charm Pricing requiere [Adaptive Currency](/features/adaptive-currency). Activa primero Adaptive Currency.
</Note>

## Ventajas principales

* **Precios atractivos en todas las monedas** — Una sola regla cubre todos los mercados. No tienes que mantener una lista de precios.
* **Finales estables** — El final no cambia cuando el tipo de cambio varía unos pocos puntos porcentuales.
* **Sin artefactos de conversión** — Los clientes nunca ven 43,12 ni 1043,87.
* **Automático para nuevos mercados** — Una moneda para la que nunca hayas definido un precio también obtiene un importe atractivo.

<Info>
  Para establecer manualmente un precio exacto para un mercado, usa [Localized Pricing](/features/localized-pricing). Un precio localizado siempre tiene prioridad sobre Charm Pricing para ese producto.
</Info>

## Activar Charm Pricing

<Steps>
  <Step title="Enable Adaptive Currency">
    Ve a **Settings → Business**. En **Business Settings**, activa **Adaptive Currency**. Charm Pricing no funciona sin esta opción.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/adaptive-currency-toggle.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=a9d847b5ee912ddf416bba76f7f75994" alt="Adaptive Currency toggle in Business Settings" style={{ maxHeight: '360px', width: 'auto' }} width="927" height="581" data-path="images/charm-pricing/adaptive-currency-toggle.png" />
    </Frame>
  </Step>

  <Step title="Turn on Charm Pricing">
    En la misma sección de **Business Settings**, activa **Charm Pricing** — «Redondea los precios a importes más limpios y atractivos». El tipo de redondeo actual aparece debajo del interruptor.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/charm-toggle.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=e8038d1b4c0df6a0ed246af73e83011c" alt="Charm Pricing enabled in Business Settings" style={{ maxHeight: '400px', width: 'auto' }} width="895" height="392" data-path="images/charm-pricing/charm-toggle.png" />
    </Frame>

    <Warning>
      Los cambios solo se aplican a transacciones futuras. Las suscripciones existentes conservan la regla de redondeo con la que comenzaron. Consulta [Subscriptions](#subscriptions).
    </Warning>
  </Step>

  <Step title="Set the rounding type and steps">
    Haz clic en **Edit** para abrir **Set up Charm Pricing**. Elige un **Rounding type** y ajusta el **Rounding step** para cualquier rango de precios. Haz clic en **Save Changes**.

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/rounding-type.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=52b3cac8b3644aa2e129019cc989b617" alt="Set up Charm Pricing dialog with the rounding type selector and the Try it preview" style={{ maxHeight: '620px', width: 'auto' }} width="1122" height="404" data-path="images/charm-pricing/rounding-type.png" />
    </Frame>

    Usa **Try it** para comprobar un valor antes de guardarlo. Introduce un importe y una divisa, y el cuadro de diálogo muestra el resultado y el paso utilizado.

    Dodo Payments incluye un paso predeterminado para cada rango. Consulta [Rounding types](#rounding-types) y [Rounding steps](#rounding-steps).

    <Frame>
      <img src="https://mintcdn.com/dodopayments/Ovz6j1aDoP1Nl_kB/images/charm-pricing/bands.png?fit=max&auto=format&n=Ovz6j1aDoP1Nl_kB&q=85&s=49814c0af4e7d120d4ae64c868943a84" alt="Rounding step table, one step for each price range" style={{ maxHeight: '440px', width: 'auto' }} width="527" height="485" data-path="images/charm-pricing/bands.png" />
    </Frame>
  </Step>

  <Step title="Confirm at checkout">
    <Check>
      Abre un checkout de prueba con un país de facturación que utilice otra divisa. Confirma que el precio muestra la terminación esperada.
    </Check>
  </Step>
</Steps>

## Cómo se calcula el precio

Dodo Payments aplica **Charm Pricing** al precio de lista **por unidad**, después de la conversión de moneda, antes de cualquier descuento y antes de impuestos. Después, se deduce un descuento del precio de lista al que se aplicó Charm Pricing; consulta [Descuentos y Charm Pricing](#discounts-and-charm-pricing).

1. **Encuentra el intervalo.** El precio de lista selecciona un intervalo de la tabla de pasos de redondeo. Un precio de \$47 se encuentra en el intervalo 10–99, por lo que el paso es **10**. El paso se elige según el precio de lista, así que un producto queda en el mismo intervalo independientemente del código de descuento que tenga el cliente.
2. **Elige el objetivo.** El paso proporciona dos candidatos: **40** y **50**. El tipo de redondeo determina cuál se elige. Con **Nearest**, 47 está más cerca de 50.
3. **Ajusta la terminación.** Dodo Payments resta una milésima del paso, por lo que 50 se convierte en **49.99**. El ajuste nunca es inferior a una unidad menor. **Whole** omite este paso.

### Tipos de redondeo

| Tipo | Qué selecciona | \$47 se convierte en |
| :- | :- | :- |
| **Nearest** | El más cercano de los dos candidatos. En caso de empate, redondea hacia arriba. | \$49.99 |
| **Floor** | Siempre el candidato inferior al precio. | \$39.99 |
| **Ceiling** | Siempre el candidato superior al precio. | \$49.99 |
| **Whole** | El candidato más cercano, sin recorte. | \$50.00 |

<Warning>
  **Floor** puede reducir un precio casi un paso completo. Un precio de \$47 se convierte en \$39.99, una reducción del 15 %. Comprueba el efecto en tus rangos de precios antes de elegirlo.
</Warning>

### Incrementos de redondeo

El paso depende del tamaño del precio, en la unidad principal de la divisa. Estos son los valores predeterminados. Puedes cambiar el **Rounding step** para cualquier rango. No puedes cambiar los rangos.

| Rango de precios | Incremento |
| :- | :- |
| 1–9 | 1 |
| 10–99 | 10 |
| 100–999 | 100 |
| 1.000–9.999 | 1.000 |
| 10.000–99.999 | 10.000 |
| 100.000–999.999 | 10.000 |
| 1.000.000–9.999.999 | 10.000 |
| 10.000.000 y superiores | 10.000 |

El paso deja de aumentar en 10,000. Esto mantiene pequeño el cambio para importes grandes y es importante para divisas con muchas unidades por dólar, como IDR y VND.

<Note>
  Un paso grande desplaza mucho el precio. Con el paso predeterminado de 1,000, un precio convertido de **\$1,234** se convierte en **\$999.00**. Reduce el paso para ese rango si el cambio es demasiado grande para tu catálogo.
</Note>

### Ejemplos prácticos

| Precio convertido | Divisa | Paso | Tipo de redondeo | Paga el cliente |
| :- | :- | :- | :- | :- |
| \$47.00 | USD | 10 | Nearest | **\$49.99** |
| \$47.00 | USD | 10 | Whole | **\$50.00** |
| \$47.00 | USD | 10 | Floor | **\$39.99** |
| \$5.00 | USD | 1 | Nearest | **\$4.99** |
| ¥4,700 | JPY | 1,000 | Nearest | **¥4,999** |
| ¥5 | JPY | 1 | Nearest | **¥4** |

<Info>
  Las monedas sin decimales, como JPY, no tienen finales fraccionarios: el descuento es el incremento dividido entre 1.000, redondeado a unidades enteras, con un mínimo de una unidad. El final es ¥4.999, no ¥4.999,99.
</Info>

### Cuándo no se aplica Charm Pricing

Dodo Payments mantiene sin cambios el precio convertido en estos casos:

* El paso es mayor que el precio. El precio no puede desplazarse menos de un paso completo.
* El resultado sería cero o menos.
* Ningún paso coincide con el importe.

## Cómo se aplica en el checkout

Charm Pricing establece el precio que ve el cliente antes de deducir cualquier descuento. Para un producto sin precio localizado, el orden es el siguiente:

1. **Precio base** — el precio que estableces para el producto.
2. **[Purchasing Power Parity](/features/purchasing-power-parity)** — si el producto se incluye, se aplica el porcentaje del país.
3. **[Conversión de moneda](/features/adaptive-currency)** — el importe se convierte a la moneda del cliente al tipo de cambio actual.
4. **Redondeo de Charm Pricing** — el precio de lista convertido se ajusta a la terminación correspondiente. Este es el precio que el cliente ve como subtotal.
5. **Descuentos** — cualquier descuento del producto y [código de descuento](/features/discount-codes) se deduce del precio de lista al que se aplicó Charm Pricing.
6. **Impuestos** — se calculan a partir del importe posterior al descuento. Consulta [Precios con impuestos incluidos](/features/tax-inclusive-pricing).

Cada línea del carrito se calcula por separado. El redondeo de Charm Pricing se ejecuta una vez, sobre el precio de lista. El importe con descuento no se vuelve a redondear.

### Descuentos y Charm Pricing

Charm Pricing se encarga de la etiqueta de precio, y un descuento se deduce de esa etiqueta. En un plan de \$199.00/mes con un paso de 100 y redondeo **Nearest**:

```text theme={null}
list  199.00 → charm → 199.90     (Subtotal)
10% of the charmed list  19.99    (Discount)
paid  199.90 − 19.99 = 179.91     (Total)
```

La forma en que el descuento se aplica al precio de lista al que se aplicó Charm Pricing depende de su tipo:

| Descuento en la línea | Lo que se aplica | Motivo |
| :- | :- | :- |
| Solo códigos porcentuales, sin máximo | La **tasa** | Una tasa es una proporción del precio, por lo que sigue al precio. |
| Cualquier código de importe fijo o un código porcentual con un máximo | El **importe** | Un código fijo especifica un importe, por lo que este no debe escalar con el paso. |

<Info>
  Una línea con descuento no termina en una terminación de Charm Pricing. El precio de lista al que se aplicó Charm Pricing conserva la terminación `.99` o `.90`; no hay motivo para que se aplique a un porcentaje descontado. En el ejemplo anterior, al cliente se le cobran **\$179.91**, no un número ajustado por Charm Pricing.
</Info>

Un producto con un precio tachado (de comparación) muestra una fila de descuento real, ya que el precio tachado se aplica como una deducción de la misma manera. Una línea con un descuento total sigue siendo gratuita, y un código de importe fijo superior al precio de lista al que se aplicó Charm Pricing se limita a cero en lugar de dar un resultado negativo.

<Warning>
  **Las suscripciones existentes a las que se aplicó Charm Pricing y que tienen un descuento pueden cambiar de precio en su próxima renovación.** Los precios de renovación se calculan sobre el precio de lista al que se aplicó Charm Pricing, no sobre un precio con descuento al que se haya vuelto a aplicar Charm Pricing. Con **Nearest** o **Ceiling**, el precio de lista ajustado se encuentra en el precio de lista o por encima de este, por lo que un código porcentual normalmente cobra un poco más que antes. Con **Floor**, puede quedar bastante por debajo, por lo que el mismo código puede cobrar menos.
</Warning>

<Warning>
  **Una línea con Charm Pricing hace que toda la transacción incluya las comisiones.** El cliente paga exactamente el final que vio, por lo que la comisión de conversión de Adaptive Currency no se puede añadir aparte. Tú absorbes esa comisión. Consulta [Activar la inclusión de comisiones](/features/adaptive-currency#enable-fees-inclusive).
</Warning>

## Suscripciones

Una suscripción registra su paso y tipo de redondeo cuando el cliente se suscribe. Dodo Payments repite esa misma decisión en cada renovación.

**Lo que se mantiene fijo:** el paso y el tipo de redondeo. Si editas un paso o cambias el tipo de redondeo, una suscripción existente no se vuelve a valorar. El cliente conserva la regla que aceptó.

**Lo que puede cambiar:** el importe. En cada renovación, el precio se convierte al tipo de cambio actual y, después, se aplica la regla fija. Un movimiento importante del tipo de cambio puede cambiar el importe de renovación, aunque la regla no haya cambiado.

<Warning>
  **Un cambio de plan elimina Charm Pricing de esa suscripción.** Cuando un suscriptor [cambia de plan](/features/subscription#subscription-plan-changes), el nuevo plan factura el importe que mostraba la cotización del cambio de plan. Dodo Payments no aplica Charm Pricing a ese importe ni a las renovaciones posteriores de esa suscripción.
</Warning>

## Comportamientos importantes

| Comportamiento | Detalle |
| :- | :- |
| **Requiere Adaptive Currency** | Charm Pricing no hace nada mientras Adaptive Currency esté desactivado. |
| **Los precios localizados tienen prioridad** | Un producto con una regla de [precios localizados](/features/localized-pricing) coincidente nunca usa Charm Pricing. Se aplica el importe exacto que hayas definido. |
| **Se aplica por unidad** | Se aplica Charm Pricing al precio unitario y, después, se multiplica por la cantidad. |
| **Antes de los descuentos** | Charm Pricing redondea el precio de lista convertido. Después se deduce un descuento de ese precio con Charm Pricing. Consulta [Descuentos y Charm Pricing](#discounts-and-charm-pricing). |
| **Antes de impuestos** | El impuesto se calcula después del redondeo de Charm Pricing y de cualquier descuento, para que los totales coincidan. |
| **Obliga a incluir las comisiones** | Tú absorbes la comisión de conversión de moneda en una transacción con Charm Pricing. |
| **No se aplica a Pay What You Want** | El cliente elige el importe, por lo que nunca se aplica Charm Pricing. Consulta [Pay What You Want](/features/pay-what-you-want). |
| **Solo comisiones fijas para precios basados en el uso** | Los cargos por uso medido nunca usan Charm Pricing. |
| **Sin webhook propio** | El importe con Charm Pricing aparece en el pago o la suscripción como cualquier otro precio. |

## Prácticas recomendadas

* **Empieza con Nearest.** Es el que menos modifica el precio. Usa Floor solo cuando aceptes el descuento que crea.
* **Comprueba tus productos más caros y más baratos.** El paso cambia según el intervalo de precios, por lo que un producto de \$5 y uno de \$1,200 se comportan de forma distinta.
* **Revisa el paso para las monedas con unidades de valor alto.** Los precios en IDR, VND y KRW se encuentran en los intervalos superiores, donde el paso está fijado en 10,000.
* **Establece el precio de tus suscripciones antes del lanzamiento.** Editar un paso más adelante no vuelve a valorar las suscripciones existentes.
* **Ten en cuenta la comisión de conversión.** Una línea a la que se aplicó Charm Pricing incluye las comisiones, por lo que la comisión se descuenta de tus ingresos.

## Relacionado

<CardGroup cols={2}>
  <Card title="Adaptive Currency" icon="money-bill-transfer" href="/features/adaptive-currency">
    La conversión aplica el redondeo de Charm Pricing. Es necesario para Charm Pricing.
  </Card>

  <Card title="Purchasing Power Parity" icon="money-bill-trend-up" href="/features/purchasing-power-parity">
    Cobra menos en países sensibles a los precios. Se ejecuta antes del redondeo de Charm Pricing.
  </Card>

  <Card title="Localized Pricing" icon="earth-americas" href="/features/localized-pricing">
    Establece un precio exacto por país o moneda. Anula Charm Pricing.
  </Card>

  <Card title="Tax-Inclusive Pricing" icon="receipt" href="/features/tax-inclusive-pricing">
    Controla si tus precios incluyen impuestos.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.