Passer au contenu principal

Qu’est-ce que la Tarification Localisée ?

Chaque produit a un prix de base dans une devise de base. La Tarification Localisée vous permet de remplacer cette base par des prix fixes que vous définissez par devise ou par pays. Activez-la en définissant un pricing_mode sur le produit, puis attachez une règle par marché. C’est l’un des trois leviers indépendants pour la tarification internationale, chaque résolvant un problème différent :
MécanismeCe qu’il faitLe montant affiché au client
Tarification LocaliséeUn prix fixe que vous définissez par devise ou paysPrécisément le montant que vous avez défini
Devise AdaptativeConvertit automatiquement votre prix de base aux taux de change en directPrix de base converti au taux de change actuel
Codes de réductionUne réduction en pourcentage ou forfaitaire sur le prix de basePrix de base moins la remise
La Tarification Localisée et la Devise Adaptative fonctionnent ensemble. Lorsqu’aucune règle localisée ne correspond, le produit revient à son prix de base — facturé directement si le client est déjà dans votre devise de base, ou converti via Devise Adaptative sinon.

Cas d’utilisation

Purchasing Power Parity (PPP)

Facturez moins dans les marchés sensibles aux prix sans réduire votre marché principal. Une règle by_country permet à un produit à 20$ de se vendre ₹999 en Inde — ajusté au pouvoir d’achat local, pas une conversion FX directe. La méthode native recommandée pour appliquer le PPP.

Charm Pricing

Une conversion FX en direct de 19,99$ aboutit à un nombre non rond comme 18,43€. Une règle by_currency fixe le prix net, psychologiquement ajusté que les clients attendent — 9,99€, ¥1000, ₹499 — exactement tel qu’il est saisi.

Reversible Market-Entry Promotions

Lancement dans un nouveau pays ? Ajoutez une règle by_country avec un prix d’introduction, puis archivez-la une fois la promotion terminée pour revenir à base/adaptatif. Les règles sont archivées, jamais supprimées, ce qui vous permet de conserver un enregistrement clair de ce qui était en ligne et quand.

Competitive Price-Matching

Fixez un marché unique pour égaler un concurrent local. Une règle by_country pour £9,00 au Royaume-Uni maintient ce prix exact quel que soit le mouvement du taux GBP/USD.

Concepts de Base

  • Modes de tarification — Un produit est dans exactement un mode à la fois, défini par son pricing_mode :
    • by_currency : un prix par devise, indépendamment du pays. Tout le monde payant en EUR voit 9,99€.
    • by_country : un prix spécifique à un pays (₹999 en Inde), même lorsque plusieurs pays partagent une devise.
  • Montants fixes, dans la plus petite unité — Le amount d’une règle est un entier dans la plus petite unité de la devise, comme partout ailleurs dans l’API : 99900 est ₹999,00, 999 est 9,99€. C’est un prix que vous définissez, jamais une valeur convertie.
  • Quand aucune règle ne correspond — Le produit conserve son comportement existant : les clients dans votre devise de base paient directement le prix de base ; tous les autres le reçoivent converti via Devise Adaptative.
  • Les frais sont inclusifs lorsqu’une règle correspond — Le client paie exactement le montant que vous avez défini. Le frais de FX Devise Adaptative est à la charge de vous (traité comme inclus dans les frais pour cette transaction) plutôt que d’être ajouté au-dessus, donc votre prix local affiché est toujours le prix facturé.

Configurer dans le Tableau de Bord

1

Open the product form

Dans votre Tableau de Bord Marchand, allez à Produits et créez un produit (ou ouvrez un existant pour le modifier). Définissez le Prix de base et la devise comme d’habitude.
2

Enable Localized Pricing and choose a mode

Dans la section Tarification, cochez Tarification Localisée, puis choisissez Par Pays ou Par Devise.
Tarification Localisée activée sur le formulaire produit avec Par Pays sélectionné
3

Add a price for each market

Cliquez sur Ajouter un Prix par Pays ou Ajouter un Prix par Devise, remplissez le panneau Tarification localisée et cliquez sur Ajouter. Chaque marché que vous ajoutez apparaît dans le tableau des exceptions, où vous pouvez le modifier ou le supprimer plus tard.
Choisissez un pays, sélectionnez la devise et entrez le montant (par exemple ₹999 pour l’Inde), puis cliquez sur Ajouter.
Ajout d'une exception de 999 INR pour l'Inde
Le pays apparaît désormais dans le tableau des Exceptions par Pays, où vous pouvez le modifier ou le supprimer.
Tableau d'exceptions par pays montrant l'Inde à 999 INR
4

Save the product

Sauvegardez avec Ajouter un produit. Les prix localisés s’appliquent immédiatement aux prochains paiements.
Effectuez un achat de test avec un pays de facturation qui a une règle, et confirmez que le montant localisé apparaît.

Gérer via l’API

La Tarification Localisée est entièrement disponible via l’API. Commencez par définir le mode de tarification du produit, puis attachez des règles.

Définir le mode de tarification

Définissez pricing_mode lorsque vous créez le produit (ou mettez à jour un existant). null signifie uniquement de base, le comportement existant.
import DodoPayments from 'dodopayments';

const client = new DodoPayments({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
});

const product = await client.products.update('pdt_premium_plan', {
  pricing_mode: 'by_country',
});

Ajouter un prix localisé

Attachez une règle au produit. En mode by_country country_code est requis ; en mode by_currency il doit être omis.
// ₹999.00 for customers in India
const localizedPrice = await client.products.localizedPrices.create('pdt_premium_plan', {
  currency: 'INR',
  country_code: 'IN',
  amount: 99900,
});
Pour un produit by_currency, omettez country_code. Par exemple, un prix forfaitaire €9.99 pour tous ceux qui paient en EUR (currency: 'EUR', amount: 999).

Lister, mettre à jour et archiver

Vous ne pouvez mettre à jour que le amount d’une règle ; la devise et le pays sont fixés une fois créés. L’archivage est une suppression douce idempotente, donc la règle cesse de correspondre mais reste dans votre historique.
// List all active rules on a product
const rules = await client.products.localizedPrices.list('pdt_premium_plan');

// Change the amount (e.g. end a promo)
await client.products.localizedPrices.update('lcp_india_price', {
  product_id: 'pdt_premium_plan',
  amount: 119900,
});

// Archive a rule
await client.products.localizedPrices.archive('lcp_india_price', {
  product_id: 'pdt_premium_plan',
});

API Reference

Voir les endpoints complets des Prix Localisés des Produits : créer, lister, récupérer, mettre à jour et archiver.

Comment cela s’applique lors du paiement

La tarification localisée est résolue par ligne de panier, et seulement pour les produits qui ont un pricing_mode défini. Dodo Payments lit deux signaux de la demande : le pays de facturation du client, et un billing_currency facultatif (lorsqu’il est omis, une devise est dérivée du pays de facturation).
  • Par Pays : cherche une règle correspondant au pays de facturation. Si elle existe, le client est facturé du montant de la règle dans la devise de la règle.
  • Par Devise : cherche une règle correspondant à la devise du client (le billing_currency, ou la devise dérivée de son pays). Si elle existe, le client est facturé du montant de la règle dans cette devise.
  • Aucune correspondance, ou pas de pricing_mode : le prix de base s’applique, facturé directement lorsque la devise du client est égale à la devise de base, sinon converti via Devise Adaptative.
Chaque ligne de panier est résolue indépendamment, donc vous pouvez localiser un produit et laisser les autres sur la tarification de base dans le même paiement. Si une ligne correspond à une règle localisée, l’ensemble de la transaction est forcé à frais inclusifs (voir Concepts de Base).

Comportements Importants

ComportementDétail
Montants hors taxesUn montant localisé est le prix avant taxe. Pour les produits hors taxes, la taxe est ajoutée au moment du paiement, donc le montant localisé n’est pas le total final. Voir Tarification Incluant les Taxes.
Pas pour Pay What You WantLes règles localisées ne s’appliquent jamais aux produits Pay What You Want, où le client choisit le montant.
Par-devise diffère de la baseUne règle by_currency doit utiliser une devise différente de la devise de base du produit.
Une règle par marchéUn produit peut avoir au maximum une règle active par devise (par-devise) ou par pays (par-pays).
Tous types de produitsS’applique aux produits à usage unique, par abonnement et basés sur la consommation.
Les modifications des règles localisées n’émettent pas leurs propres webhooks. Le montant résolu apparaît sur le paiement ou l’abonnement résultant exactement comme n’importe quel autre prix.

Bonnes Pratiques

  • Gardez un prix de base raisonnable. C’est la solution de repli pour chaque marché sans règle, convertie via Devise Adaptative.
  • Arrondissez aux prix de charme locaux. Tout l’intérêt d’un montant fixe est un nombre net comme ₹999, 9,99€, ou ¥1000, pas un résultat FX.
  • Choisissez le mode adapté à la tâche. Utilisez by_country pour une tarification basée sur le pouvoir d’achat ; utilisez by_currency lorsque un prix par zone de devise suffit.
  • Archivez, ne recréez pas, pour les promotions. Archiver une règle ramène le marché à base/adaptatif tout en préservant l’historique ; recréez ou réajustez plus tard selon les besoins.
  • Attention à la ligne fiscale avant de faire de la publicité pour un total. Pour les produits hors taxes, le client paie le montant localisé plus la taxe, alors ne l’annoncez pas comme le prix final dans les publicités.

Associé

Purchasing Power Parity

Tarification localisée native vs. codes de réduction basés sur la localisation pour le PPP.

Adaptive Currency

Conversion FX automatique et gestion des frais que la tarification localisée exploite.

Tax-Inclusive Pricing

Contrôlez si vos prix incluent la taxe.

Pay What You Want

Laissez les clients choisir le montant. Les règles localisées ne s’y appliquent pas.
Dernière modification le 26 juin 2026