什么是本地化定价?
每个产品都有一个基础货币的基础价格。本地化定价允许您通过为每种货币或国家设置的固定价格来覆盖该基础价格。通过在产品上设置pricing_mode 来开启此功能,然后为每个市场附加一条规则。
这是用于国际定价的三个独立杠杆之一,每个都解决不同的问题:
本地化定价和自适应货币共同运作。当没有匹配的本地化规则时,产品会回落到其基础价格——如果客户已经使用您的基础货币,会直接收费,否则通过自适应货币转换。
用例
Purchasing Power Parity (PPP)
在价格敏感市场收取更低的费用,而不对本国市场打折。一个
by_country 规则可以让一款$20的基础产品以 ₹999在印度 销售——调整到当地购买力,而不是简单的FX转换。推荐的、本地化的PPP运行方式。Charm Pricing
$19.99的实时FX转换可能会落到一个不便的数字上,比如€18.43。一个
by_currency 规则可以将其设置为客户期望的整洁、心理价格——€9.99、¥1000、₹499——精确如您输入的那样。Reversible Market-Entry Promotions
在一个新的国家推出?添加一个
by_country 规则,设置促销价格,然后在促销结束后归档它,以回落到基础/自适应定价。规则会被归档,而不被删除,所以您可以保留一个清晰的记录,记下何时上线以及何时结束。Competitive Price-Matching
将单一市场的价格与本地竞争对手匹配。一个
by_country 规则可以让 英国的价格为£9.00 保持不变,而不受GBP/USD汇率变化的影响。核心概念
- 定价模式 — 一个产品在任何时候都只处于一种模式,由其
pricing_mode设置:by_currency:每种货币一个价格,与国家无关。所有使用欧元支付的人都看到€9.99。by_country:特定于一个国家的价格(印度₹999),即使多个国家使用同一种货币。
- 以最小单位固定金额 — 规则的
amount是该货币最小单位的整数,与API其他地方相同:99900是₹999.00,999是€9.99。它是您设置的价格,而不是转换的值。 - 当没有规则匹配时 — 产品保持其现有行为:在您的基础货币中支付基础价格的客户;其他人通过自适应货币转换。
- 费用在规则匹配时包含在内 — 客户支付您设定的确切金额。自适应货币外汇费用由您吸收(视为费用已包含在内),而不是加在上面,因此您声明的本地价格始终是收取的价格。
在仪表板中设置
1
Open the product form
在您的商家仪表板中,转到 产品 并创建一个产品(或打开现有产品进行编辑)。像往常一样设置基础价格和货币。
2
Enable Localized Pricing and choose a mode
在 定价 部分勾选 本地化定价,然后选择 按国家 或 按货币。

3
Add a price for each market
点击 添加国家价格 或 添加货币价格,填入 本地化定价 面板,然后点击 添加。您添加的每个市场都会出现在覆盖表中,您可以稍后编辑或删除它。
- By Country
- By Currency
选择一个国家,选择货币,输入金额(例如印度的₹999),然后点击 添加。
该国家现在出现在 国家覆盖 表中,您可以在其中编辑或删除它。


4
Save the product
使用 添加产品 保存。本地化价格立即适用于未来的结账。
使用具有规则的计费国家进行测试结账,并确认显示了本地化金额。
通过API管理
本地化定价完全可通过API使用。首先设置产品的定价模式,然后附加规则。设置定价模式
设置pricing_mode 当您创建产品(或更新现有产品)时。null 意味着仅基础的现有行为。
添加本地化价格
给产品附加一条规则。在by_country 模式下,需要 country_code;在 by_currency 模式下则必须省略此项。
by_currency 产品,省略 country_code。例如,对所有使用EUR支付的人实行固定 €9.99 (currency: 'EUR',amount: 999)。
列出、更新和存档
您只能更新规则的amount;货币和国家一旦创建就固定。存档是一个幂等软删除,因此规则停止匹配但留在您的记录中。
API Reference
查看完整的产品本地化价格端点:创建、列出、检索、更新和存档。
结账时如何应用
本地化定价会根据每个购物车行项目进行解析,仅适用于设置了pricing_mode 的产品。Dodo Payments从请求中读取两个信号:客户的计费国家,以及可选的**billing_currency**(如果省略,则根据计费国家推导出货币)。
- 按国家:查找与计费国家匹配的规则。如果存在,该客户会按规则的货币收取该规则的金额。
- 按货币:查找与客户货币匹配的规则(
billing_currency,或根据其国家推导出的货币)。如果存在,该客户会按该货币收取规则的金额。 - 无匹配或无
pricing_mode:适用基础价格,当客户的货币等于基础货币时直接收费,否则通过自适应货币转换。
订阅计划变更时的应用方式
本地化定价会在订阅者切换计划时随之生效。当现有订阅变更计划并切换到包含pricing_mode 的产品时,新计划的价格会按照与结账相同的规则确定,并使用订阅中已经锁定的账单国家/地区和货币:
- 按国家/地区:应用与订阅账单国家/地区匹配的规则。如果规则的货币与订阅计费所用的货币不同,则按照实时 FX 汇率转换规则金额——规则会被应用,而不是跳过。
- 按货币:应用与客户计费货币匹配的规则,并向客户收取与规则金额完全一致的金额。
- 无匹配项或无
pricing_mode:应用新计划的基础价格,并在需要时通过 Adaptive Currency 进行转换——这与结账时使用的回退机制相同。
- 预览结果准确无误。 Preview Change Plan 会返回实际变更收费时使用的相同本地化金额。
- 续订会保留本地化价格。 变更后,新计划会以其本地化金额续订,并继续包含费用——与以该价格创建的订阅完全一致。
- 按实际金额计算按比例分摊。 升级时,未使用时间的抵扣金额基于客户实际支付的旧计划金额;新计划则根据其本地化规则定价。
- 安排的变更会在安排时锁定价格。 安排在计费周期结束时生效的变更,会收取安排时计算的金额,即使你在此期间编辑了规则也是如此。
- 计费货币不会改变。 计划变更不会切换订阅结算所使用的货币;其他货币的规则会通过 FX 转换为该货币。
- 附加项不会本地化。 新计划中的附加项价格始终使用其基础定价。
重要行为
本地化规则变更不会触发专属 webhooks。解析后的金额会像其他任何价格一样,出现在生成的付款或订阅中。
最佳实践
- 设置合理的基础价格。 对于没有规则的每个市场,基础价格都是回退价格,并通过 Adaptive Currency 进行转换。
- 取整为本地吸引力定价。 固定金额的意义在于设置 ₹999、€9.99 或 ¥1000 这样的整洁数字,而不是得到 FX 转换结果。
- 根据用途选择模式。 使用
by_country进行购买力定价;当每个货币区域使用一个价格即可满足需求时,使用by_currency。 - 针对促销进行归档,而不是重新创建。 归档规则会在保留历史记录的同时,将市场恢复为基础/自适应定价;之后可根据需要重新创建规则或重新定价。
- 在宣传总价前注意税费。 对于不含税产品,客户需要支付本地化金额加上税费,因此不要在广告中将其报价为最终价格。
相关内容
Purchasing Power Parity
原生本地化定价与基于位置的 PPP 折扣码。
Adaptive Currency
自动 FX 转换,以及本地化定价所依赖的费用处理机制。
Tax-Inclusive Pricing
控制价格是否含税。
Pay What You Want
让客户选择金额。本地化规则不适用于此处。

