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

# Personalizar el formato de moneda en Upcart

> Controla cómo se muestra la moneda en tu carrito usando Shopify Markets y configuraciones con scripts personalizados.

<div id="overview">
  # Descripción general
</div>

Esta personalización te permite cambiar cómo aparecen los símbolos y códigos de moneda en el cajón del carrito de Upcart. Puedes controlar si mostrar el símbolo de moneda (por ejemplo `$`), el código de moneda (por ejemplo `USD`), dónde aparecen y cómo se espacian.

Esta configuración requiere que:

* Tu tienda esté usando **Shopify Markets**, o
* Estés trabajando con un **solo mercado**

***

<div id="where-to-add-the-script">
  ## Dónde agregar el script
</div>

1. Ve a **Upcart > Cart Editor > Settings > Custom HTML**
2. En el menú desplegable **Select HTML Location**, elige **Scripts (Before load)**
3. Pega el script de abajo en el campo de entrada
4. Guarda tus cambios

***

<div id="currency-formatting-script">
  ## Script de formato de moneda
</div>

```html theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
<!-- Upcart Currency Formatting Script -->
<script>
// ~~~~~~START OF MERCHANT SETTINGS~~~~~~
let useCurrencySymbol = true;
let useCurrencyCode = true;
let currencySymbolPlacement = 'left';     // 'left' or 'right'
let currencyCodePlacement = 'right';      // 'left' or 'right'
let currencySymbolSpacing = false;
let currencyCodeSpacing = true;
let currencyFormat = "{{amount}}";        // Use Shopify's currency format
// ~~~~~~END OF MERCHANT SETTINGS~~~~~~

formatCurrency();

function formatCurrency() {
  let currencyMap = fillCurrencyMap(new Map());
  let currencyCode = Shopify.currency.active;
  let currencySymbol = currencyMap.get(currencyCode);

  if (currencySymbolPlacement == 'left' && currencyCodePlacement == 'left') {
    window.upcartMoneyFormat =
      (useCurrencyCode ? currencyCode : "") +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat;

  } else if (currencySymbolPlacement == 'left' && currencyCodePlacement == 'right') {
    window.upcartMoneyFormat =
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "");

  } else if (currencySymbolPlacement == 'right' && currencyCodePlacement == 'right') {
    window.upcartMoneyFormat =
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "");

  } else if (currencySymbolPlacement == 'right' && currencyCodePlacement == 'left') {
    window.upcartMoneyFormat =
      (useCurrencyCode ? currencyCode : "") +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      currencyFormat +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "");

  } else {
    console.warn("Unexpected placement configuration. Falling back to default.");
    window.upcartMoneyFormat =
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "");
  }
}

function fillCurrencyMap(map) {
  map.set('EUR', '€');
  map.set('GBP', '£');
  map.set('JPY', '¥');
  map.set('AUD', '$');
  map.set('CAD', '$');
  map.set('CHF', 'CHF');
  map.set('CNY', '¥');
  map.set('INR', '₹');
  map.set('RUB', '₽');
  map.set('BRL', 'R$');
  map.set('ZAR', 'R');
  map.set('MXN', '$');
  map.set('SGD', '$');
  map.set('NZD', '$');
  map.set('HKD', 'HK$');
  return map;
}
</script>
```

***

<div id="settings-explained">
  ## Explicación de la configuración
</div>

Dentro del script, busca esta sección:

```
// ~~~~~~START OF MERCHANT SETTINGS~~~~~~
```

Puedes ajustar estos valores para controlar cómo aparece la moneda en el carrito:

|                             |                                                                      |                                                                                           |
| --------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Configuración               | Descripción                                                          | Opciones                                                                                  |
| **useCurrencySymbol**       | Muestra u oculta el símbolo de moneda (ejemplo: `$`)                 | `true` / `false`                                                                          |
| **useCurrencyCode**         | Muestra u oculta el código de moneda (ejemplo: `USD`)                | `true` / `false`                                                                          |
| **currencySymbolPlacement** | Dónde aparece el símbolo                                             | `'left'` / `'right'`                                                                      |
| **currencyCodePlacement**   | Dónde aparece el código                                              | `'left'` / `'right'`                                                                      |
| **currencySymbolSpacing**   | Agrega un espacio entre el símbolo y el importe (ejemplo: `$ 10.00`) | `true` / `false`                                                                          |
| **currencyCodeSpacing**     | Agrega un espacio entre el código y el importe (ejemplo: `10 USD`)   | `true` / `false`                                                                          |
| **currencyFormat**          | Controla el formato del número                                       | `{{amount}}`, `{{amount_no_decimals}}`, etc. (consulta las opciones de moneda de Shopify) |

***

<div id="final-result">
  ## Resultado final
</div>

Una vez que el script está agregado y guardado:

* Los símbolos y códigos de moneda se muestran exactamente como se configuraron
* Funciona en todas las partes del cajón de Upcart, incluidas las recompensas y los upsells
* Se adapta automáticamente a **Shopify Markets** si están habilitados

***

<div id="need-help">
  ## ¿Necesitas ayuda?
</div>

Para personalizaciones avanzadas, recomendamos trabajar con un **Shopify Expert**. El equipo de soporte de Upcart no ayuda a escribir ni depurar código personalizado.

[Ver Shopify Experts](https://www.shopify.com/partners/directory)
