> ## 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.

# Personnaliser le formatage des devises dans Upcart

> Contrôlez la façon dont la devise s'affiche dans votre panier à l'aide de Shopify Markets et de paramètres de script personnalisés.

<div id="overview">
  # Aperçu
</div>

Cette personnalisation vous permet de modifier la façon dont les symboles et les codes de devise apparaissent dans votre tiroir de panier Upcart. Vous pouvez contrôler l'affichage du symbole de devise (par exemple `$`), du code de devise (par exemple `USD`), leur emplacement et leur espacement.

Cette configuration exige que :

* Votre boutique utilise **Shopify Markets**, ou
* Vous travaillez avec un **marché unique**

***

<div id="where-to-add-the-script">
  ## Où ajouter le script
</div>

1. Allez dans **Upcart > Cart Editor > Settings > Custom HTML**
2. Dans le menu déroulant **Select HTML Location**, choisissez **Scripts (Before load)**
3. Collez le script ci-dessous dans le champ de saisie
4. Enregistrez vos modifications

***

<div id="currency-formatting-script">
  ## Script de formatage des devises
</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">
  ## Explication des paramètres
</div>

À l'intérieur du script, recherchez cette section :

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

Vous pouvez ajuster ces valeurs pour contrôler la façon dont la devise apparaît dans le panier :

|                             |                                                                       |                                                                                               |
| --------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Paramètre                   | Description                                                           | Options                                                                                       |
| **useCurrencySymbol**       | Affiche ou masque le symbole de devise (exemple : `$`)                | `true` / `false`                                                                              |
| **useCurrencyCode**         | Affiche ou masque le code de devise (exemple : `USD`)                 | `true` / `false`                                                                              |
| **currencySymbolPlacement** | Où apparaît le symbole                                                | `'left'` / `'right'`                                                                          |
| **currencyCodePlacement**   | Où apparaît le code                                                   | `'left'` / `'right'`                                                                          |
| **currencySymbolSpacing**   | Ajoute un espace entre le symbole et le montant (exemple : `$ 10.00`) | `true` / `false`                                                                              |
| **currencyCodeSpacing**     | Ajoute un espace entre le code et le montant (exemple : `10 USD`)     | `true` / `false`                                                                              |
| **currencyFormat**          | Contrôle le formatage des nombres                                     | `{{amount}}`, `{{amount_no_decimals}}`, etc. (reportez-vous aux options de devise de Shopify) |

***

<div id="final-result">
  ## Résultat final
</div>

Une fois le script ajouté et enregistré :

* Les symboles et codes de devise s'affichent exactement comme configurés
* Fonctionne dans toutes les parties du tiroir Upcart, y compris les récompenses et les upsells
* S'adapte automatiquement à **Shopify Markets** si cette option est activée

***

<div id="need-help">
  ## Besoin d'aide ?
</div>

Pour une personnalisation avancée, nous vous recommandons de travailler avec un **expert Shopify**. L'équipe d'assistance d'Upcart ne fournit pas d'aide pour écrire ou déboguer du code personnalisé.

[Voir les experts Shopify](https://www.shopify.com/partners/directory)
