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

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.


← Voltar ao Índice de Documentação