> ## 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 a formatação de moeda no Upcart

> Controle como a moeda é exibida no seu carrinho usando Shopify Markets e configurações de script personalizado.

<div id="overview">
  # Visão geral
</div>

Esta personalização permite alterar como os símbolos e códigos de moeda aparecem no seu cart drawer do Upcart. Você pode controlar se o símbolo da moeda (por exemplo, `$`) e o código da moeda (por exemplo, `USD`) são exibidos, onde eles aparecem e como são espaçados.

Esta configuração exige que:

* Sua loja use o **Shopify Markets**, ou
* Você trabalhe com um **único mercado**

***

<div id="where-to-add-the-script">
  ## Onde adicionar o script
</div>

1. Vá para **Upcart > Cart Editor > Settings > Custom HTML**
2. No menu suspenso **Select HTML Location**, escolha **Scripts (Before load)**
3. Cole o script abaixo no campo de entrada
4. Salve as alterações

***

<div id="currency-formatting-script">
  ## Script de formatação de moeda
</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">
  ## Explicação das configurações
</div>

Dentro do script, procure esta seção:

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

Você pode ajustar estes valores para controlar como a moeda aparece no carrinho:

|                             |                                                                   |                                                                                      |
| --------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| Configuração                | Descrição                                                         | Opções                                                                               |
| **useCurrencySymbol**       | Mostra ou oculta o símbolo da moeda (exemplo: `$`)                | `true` / `false`                                                                     |
| **useCurrencyCode**         | Mostra ou oculta o código da moeda (exemplo: `USD`)               | `true` / `false`                                                                     |
| **currencySymbolPlacement** | Onde o símbolo aparece                                            | `'left'` / `'right'`                                                                 |
| **currencyCodePlacement**   | Onde o código aparece                                             | `'left'` / `'right'`                                                                 |
| **currencySymbolSpacing**   | Adiciona um espaço entre o símbolo e o valor (exemplo: `$ 10.00`) | `true` / `false`                                                                     |
| **currencyCodeSpacing**     | Adiciona um espaço entre o código e o valor (exemplo: `10 USD`)   | `true` / `false`                                                                     |
| **currencyFormat**          | Controla a formatação numérica                                    | `{{amount}}`, `{{amount_no_decimals}}` etc. (consulte as opções de moeda da Shopify) |

***

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

Depois que o script for adicionado e salvo:

* Os símbolos e códigos de moeda são exibidos exatamente como configurado
* Funciona em todas as partes do drawer do Upcart, incluindo recompensas e upsells
* Adapta-se automaticamente ao **Shopify Markets**, se ele estiver ativado

***

<div id="need-help">
  ## Precisa de ajuda?
</div>

Para personalizações avançadas, recomendamos trabalhar com um **Shopify Expert**. A equipe de suporte do Upcart não ajuda a escrever ou solucionar problemas de código personalizado.

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