Conversion de devises : Tarification dynamique pour les marchés mondiaux
Cet article explique comment nous affichons les prix en plusieurs devises en fonction de la localisation et des préférences de l'utilisateur.
Le problème : Tarification mondiale
Les utilisateurs de différents pays s'attendent à voir les prix dans leur devise locale :
-
Inde : ₹ (INR)
-
États-Unis : $ (USD)
-
Europe : € (EUR)
-
Royaume-Uni : £ (GBP)
-
Japon : ¥ (JPY)
Afficher uniquement les prix en INR déroute les clients internationaux.
Stratégie de détection
Nous détectons la préférence de devise à partir de :
1. Paramètre d'URL (?curr=USD)
2. Session (stockée après la première détection)
3. Cookie (currency)
4. Détection du pays (à partir de la géolocalisation IP)
5. Par défaut (INR)
Devises prises en charge
Nous prenons en charge 10 devises majeures :
-
INR (Roupie indienne) - ₹
-
USD (Dollar américain) - $
-
EUR (Euro) - €
-
GBP (Livre sterling) - £
-
JPY (Yen japonais) - ¥
-
AUD (Dollar australien) - A$
-
CAD (Dollar canadien) - C$
-
SGD (Dollar de Singapour) - S$
-
AED (Dirham des Émirats arabes unis) - د.إ
-
SAR (Riyal saoudien) - ﷼
Changement de devise
Les utilisateurs peuvent changer de devise via :
Paramètre d'URL : /p/Treo-N100?curr=USD
Sélecteur de devise : Menu déroulant dans la navigation
Détection automatique : Basée sur le pays de l'adresse IP
Processus de conversion
Prix de base (INR)
Tous les produits ont un prix de base en INR :
base_price = get_the_price(sku) # Renvoie le prix en INR
Conversion en temps réel
Les prix sont convertis en utilisant les taux de change en direct :
local_price = convert_the_amount(base_price, "INR", user_currency)
Les taux de change sont mis à jour quotidiennement depuis une API externe.
Arrondi
Les prix convertis sont arrondis à la centaine la plus proche :
Exemple : $1,234.56 → $1,200
Avantage : Tarification plus claire, comparaison plus facile
Format d'affichage
Les prix sont affichés avec le symbole de la devise et un formatage adapté :
INR : ₹1,23,456 (groupement indien)
USD : $1,234 (groupement occidental)
EUR : €1.234 (groupement européen)
JPY : ¥123,456 (pas de décimales)
Affichage conditionnel des prix
Les prix ne sont affichés que dans des contextes spécifiques :
Trafic Google Shopping
Les utilisateurs provenant de Google Shopping voient les prix :
Détection : gclid, gbraid, ou wbraid dans l'URL
Cookie : show_pricing=1 (défini pour la session)
Avantage : Se conformer aux exigences de Google Shopping
Trafic régulier
Les utilisateurs réguliers ne voient pas les prix par défaut :
Raison : Orientation B2B, tarification sur devis
Exception : Les utilisateurs peuvent activer l'affichage des prix via le sélecteur de devise
Devise du panier
Le panier enregistre la devise au moment de sa création :
Champ : Currency (par défaut : INR)
Verrouillée : La devise est verrouillée à la création du panier
Conversion : Tous les articles sont convertis dans la devise du panier
Avantage : Tarification cohérente tout au long du processus de paiement
Devise de paiement
Les paiements sont traités dans la devise du panier :
Razorpay : Prend en charge INR, USD, EUR, GBP
Autres devises : Converties en INR pour le paiement
Affichage : Affiche à la fois la devise du panier et l'équivalent en INR
Mise en cache des prix
Les prix convertis sont mis en cache pour réduire les appels API :
Clé de cache : {sku}_{currency}_{date}
TTL : 24 heures
Invalidation : Tous les jours à minuit
Avantage : Chargement rapide des pages, coûts API réduits
Références
Articles connexes
-
Détection de la langue - Stratégie de détection similaire
-
Pages produit - Où les prix sont affichés
Résumé
La conversion de devises permet une tarification mondiale :
Détection :
-
Paramètre d'URL (
?curr=USD) -
Session (pendant la navigation)
-
Cookie (30 jours)
-
Détection du pays (à partir de l'IP)
-
Par défaut (INR)
Pris en charge :
-
10 devises majeures
-
Taux de change en temps réel
-
Formatage régional
-
Arrondi à la centaine la plus proche
Affichage conditionnel :
-
Trafic Google Shopping (toujours affiché)
-
Trafic régulier (activation via le sélecteur)
Gestion du panier :
-
Devise verrouillée à la création du panier
-
Tous les articles dans la même devise
-
Cohérence pendant le processus de paiement
Cela permet une expérience d'achat internationale transparente.