O que é Preço Localizado?
Todo produto tem um preço base em uma moeda base. O Preço Localizado permite substituir essa base com preços fixos que você define por moeda ou por país. Ative-o configurando umpricing_mode no produto, e então anexe uma regra por mercado.
É uma de várias alavancas independentes para preços internacionais, cada uma resolvendo um problema diferente:
Preço Localizado e Moeda Adaptativa funcionam juntos. Quando não há regra localizada correspondente, o produto retorna ao seu preço base — cobrado diretamente se o cliente já estiver na sua moeda base, ou convertido por Moeda Adaptativa se não estiver.
Casos de Uso
Exact Prices for One Market
Exact Prices per Currency Zone
Reversible Market-Entry Promotions
Competitive Price-Matching
Conceitos principais
- Modos de precificação — Um produto está exatamente em um modo por vez, definido por seu
pricing_mode:by_currency: um preço por moeda, independentemente do país. Todos que pagam em EUR veem €9,99.by_country: um preço específico para um país (₹999 na Índia), mesmo quando vários países compartilham uma moeda.
- Valores fixos, na menor unidade — O
amountde uma regra é um inteiro na menor unidade da moeda, assim como em todo o restante da API:99900corresponde a ₹999,00, e999corresponde a €9,99. É um preço definido por você, nunca um valor convertido. - Uma regra correspondente prevalece sobre a precificação automática — Quando uma regra localizada se aplica a uma linha, Purchasing Power Parity e Charm Pricing são ignorados para essa linha. No checkout, o cliente paga o valor definido por você, sem alterações. Em uma mudança de plano de assinatura, uma regra em uma moeda diferente da assinatura é convertida; consulte How It Applies on Subscription Plan Changes.
- Quando nenhuma regra corresponde — O produto mantém seu comportamento existente: clientes na sua moeda base pagam o preço base diretamente; todos os demais têm o valor convertido por meio de Adaptive Currency.
- As tarifas são incluídas quando uma regra corresponde — O cliente paga exatamente o valor definido por você. A tarifa de câmbio de Adaptive Currency é absorvida por você (tratada como tarifas incluídas nessa transação), em vez de ser adicionada ao valor, para que o preço local informado seja sempre o preço cobrado.
Configurar no Dashboard
1
Open the product form
No Merchant Dashboard, acesse Products e crie um produto (ou abra um produto existente para editá-lo). Defina o Price base e a moeda normalmente.
2
Enable Localized Pricing and choose a mode
Na seção Pricing, marque Localized Pricing e escolha By Country ou By Currency.

3
Add a price for each market
Clique em Add Country Price ou Add Currency Price, preencha o painel Localized pricing e clique em Add. Cada mercado adicionado aparece na tabela de substituições, onde você pode editá-lo ou removê-lo posteriormente.
- By Country
- By Currency
Escolha um país, selecione a moeda e informe o valor (por exemplo, ₹999 para a Índia); depois, clique em Add.
O país agora aparece na tabela Country overrides, onde você pode editá-lo ou removê-lo.


4
Save the product
Salve com Add product. Os preços localizados se aplicam imediatamente a checkouts futuros.
Execute um checkout de teste usando um país de cobrança que tenha uma regra e confirme se o valor localizado aparece.
Gerenciar pela API
Localized Pricing está totalmente disponível pela API. Primeiro, defina o modo de precificação do produto e depois anexe as regras.Definir o modo de precificação
Definapricing_mode ao criar o produto (ou atualizar um existente). null significa apenas base, que é o comportamento existente.
Adicionar um preço localizado
Anexe uma regra ao produto. No modoby_country, country_code é obrigatório; no modo by_currency, ele deve ser omitido.
by_currency, omita country_code. Por exemplo, um €9.99 fixo para todos que pagam em EUR (currency: 'EUR', amount: 999).
Listar, atualizar e arquivar
Você pode atualizar apenas oamount de uma regra; a moeda e o país são fixos depois que ela é criada. O arquivamento é uma exclusão lógica idempotente, portanto a regra deixa de corresponder, mas permanece no seu histórico.
API Reference
Como se aplica no checkout
A precificação localizada é resolvida por linha do carrinho e somente para produtos que tenhampricing_mode definido. Dodo Payments lê dois sinais da solicitação: o billing country do cliente e um billing_currency opcional (quando omitido, uma moeda é derivada do país de cobrança).
- By Country: procura uma regra correspondente ao país de cobrança. Se existir, o cliente será cobrado pelo valor da regra na moeda da regra.
- By Currency: procura uma regra correspondente à moeda do cliente (o
billing_currencyou a moeda derivada do país). Se existir, o cliente será cobrado pelo valor da regra nessa moeda. - Sem correspondência ou sem
pricing_mode: o preço base se aplica, cobrado diretamente quando a moeda do cliente for igual à moeda base; caso contrário, será convertido por meio de Adaptive Currency.
Como se aplica a mudanças de plano de assinatura
A precificação localizada acompanha seus assinantes quando eles trocam de plano. Quando uma assinatura existente changes plan para um produto que tenhapricing_mode, o preço do novo plano é resolvido com as mesmas regras do checkout, usando o país e a moeda de cobrança já definidos na assinatura:
- By Country: aplica-se uma regra correspondente ao país de cobrança da assinatura. Se a moeda da regra for diferente da moeda em que a assinatura é cobrada, o valor da regra será convertido pelas taxas de câmbio em tempo real — a regra é aplicada, não ignorada.
- By Currency: aplica-se uma regra correspondente à moeda em que o cliente é cobrado, e o cliente paga exatamente o valor da regra.
- Sem correspondência ou sem
pricing_mode: aplica-se o preço base do novo plano, convertido por meio de Adaptive Currency quando necessário — o mesmo fallback do checkout.
- As prévias são exatas. Preview Change Plan retorna o mesmo valor localizado cobrado pela mudança efetiva.
- As renovações mantêm o preço localizado. Após a mudança, o novo plano é renovado pelo valor localizado — e continua com as tarifas incluídas — exatamente como uma assinatura criada por esse preço.
- O rateio usa valores reais. Em um upgrade, o crédito pelo tempo não utilizado é baseado no que o cliente realmente pagou pelo plano antigo, enquanto o novo plano é precificado pela regra localizada.
- As mudanças agendadas fixam o preço no momento do agendamento. Uma mudança agendada para o fim do período de cobrança cobra o valor calculado no momento do agendamento, mesmo que você edite a regra nesse intervalo.
- A moeda de cobrança nunca muda. Uma mudança de plano nunca altera a moeda em que uma assinatura é liquidada; uma regra em outra moeda é convertida por câmbio para essa moeda.
- Add-ons não são localizados. Os preços de add-ons no novo plano sempre usam a precificação base.
Comportamentos importantes
Alterações em regras localizadas não geram seus próprios webhooks. O valor resolvido aparece no pagamento ou na assinatura resultante, exatamente como qualquer outro preço.
Práticas recomendadas
- Mantenha um preço base sensato. Ele é o fallback para todos os mercados sem uma regra, convertido por meio de Adaptive Currency.
- Digite valores simples. O objetivo de um valor fixo é ter um preço organizado, como ₹999, €9,99 ou ¥1000, e não um resultado de câmbio. Para arredondamento automático em todas as moedas, consulte Charm Pricing.
- Escolha o modo adequado. Use
by_countrypara precificação baseada no poder de compra; useby_currencyquando um preço por zona monetária for suficiente. - Arquive em vez de recriar para promoções. Arquivar uma regra reverte o mercado para a precificação base/adaptativa e preserva o histórico; recrie ou defina um novo preço posteriormente, conforme necessário.
- Considere os impostos antes de anunciar um total. Para produtos com impostos não incluídos, o cliente paga o valor localizado mais os impostos; portanto, não o informe como preço final em anúncios.

