Conversão de Moeda: Preços Dinâmicos para Mercados Globais
Este artigo explica como exibimos preços em múltiplas moedas com base na localização e preferência do usuário.
O Problema: Preços Globais
Usuários de diferentes países esperam preços em sua moeda local:
-
Índia: ₹ (INR)
-
EUA: $ (USD)
-
Europa: € (EUR)
-
Reino Unido: £ (GBP)
-
Japão: ¥ (JPY)
Mostrar apenas preços em INR confunde clientes internacionais.
Estratégia de Detecção
Detectamos a preferência de moeda a partir de:
1. Parâmetro de URL (?curr=USD)
2. Sessão (armazenada após a primeira detecção)
3. Cookie (currency)
4. Detecção de país (a partir de geolocalização por IP)
5. Padrão (INR)
Moedas Suportadas
Suportamos 10 moedas principais:
-
INR (Rupia Indiana) - ₹
-
USD (Dólar Americano) - $
-
EUR (Euro) - €
-
GBP (Libra Esterlina) - £
-
JPY (Iene Japonês) - ¥
-
AUD (Dólar Australiano) - A$
-
CAD (Dólar Canadense) - C$
-
SGD (Dólar de Singapura) - S$
-
AED (Dirham dos Emirados) - د.إ
-
SAR (Riyal Saudita) - ﷼
Troca de Moeda
Os usuários podem trocar a moeda via:
Parâmetro de URL: /p/Treo-N100?curr=USD
Seletor de moeda: Menu suspenso na navegação
Detecção automática: Baseada no país do IP
Processo de Conversão
Preço Base (INR)
Todos os produtos têm preço base em INR:
base_price = get_the_price(sku) # Retorna o preço em INR
Conversão em Tempo Real
Os preços são convertidos usando taxas de câmbio ao vivo:
local_price = convert_the_amount(base_price, "INR", user_currency)
As taxas de câmbio são atualizadas diariamente a partir de uma API externa.
Arredondamento
Os preços convertidos são arredondados para a centena mais próxima:
Exemplo: $1,234.56 → $1,200
Benefício: Preços mais limpos, comparação mais fácil
Formato de Exibição
Os preços são exibidos com símbolo da moeda e formatação:
INR: ₹1,23,456 (agrupamento indiano)
USD: $1,234 (agrupamento ocidental)
EUR: €1.234 (agrupamento europeu)
JPY: ¥123,456 (sem decimais)
Exibição Condicional de Preços
Os preços são mostrados apenas em contextos específicos:
Tráfego do Google Shopping
Usuários vindos do Google Shopping veem preços:
Detecção: gclid, gbraid ou wbraid na URL
Cookie: show_pricing=1 (definido para a sessão)
Benefício: Cumprir os requisitos do Google Shopping
Tráfego Regular
Usuários regulares não veem preços por padrão:
Razão: Foco em B2B, preços baseados em orçamento
Exceção: Os usuários podem ativar os preços via seletor de moeda
Moeda do Carrinho
O carrinho armazena a moeda no momento da criação:
Campo: Currency (padrão: INR)
Bloqueada: A moeda é bloqueada quando o carrinho é criado
Conversão: Todos os itens são convertidos para a moeda do carrinho
Benefício: Preços consistentes durante todo o checkout
Moeda de Pagamento
Os pagamentos são processados na moeda do carrinho:
Razorpay: Suporta INR, USD, EUR, GBP
Outras moedas: Convertidas para INR para pagamento
Exibição: Mostra tanto a moeda do carrinho quanto o equivalente em INR
Cache de Preços
Os preços convertidos são armazenados em cache para reduzir chamadas à API:
Chave de cache: {sku}_{currency}_{date}
TTL: 24 horas
Invalidação: Diariamente à meia-noite
Benefício: Carregamento rápido de páginas, redução de custos de API
Referências
Artigos Relacionados
-
Detecção de Idioma - Estratégia de detecção similar
-
Páginas de Produto - Onde os preços são exibidos
Resumo
A conversão de moeda permite preços globais:
Detecção:
-
Parâmetro de URL (
?curr=USD) -
Sessão (durante a navegação)
-
Cookie (30 dias)
-
Detecção de país (a partir do IP)
-
Padrão (INR)
Suportado:
-
10 moedas principais
-
Taxas de câmbio em tempo real
-
Formatação regional
-
Arredondamento para a centena mais próxima
Exibição condicional:
-
Tráfego do Google Shopping (sempre mostra)
-
Tráfego regular (ativação via seletor)
Gerenciamento do carrinho:
-
Moeda bloqueada na criação do carrinho
-
Todos os itens na mesma moeda
-
Consistente durante o checkout
Isso permite uma experiência de compra internacional perfeita.