Shopify 知识库 · 概念
多币种与市场定价:展示币种、汇率与舍入
说明 Shopify 多币种定价:展示币种、店铺币种与 payout 币种的区别,自动与手动汇率、舍入、按市场的固定价格与价格调整,折扣与礼品卡、税费与退款在本地币种下的行为,Liquid 与 API 的金额读取,以及各官方页面对支付网关要求的并列口径。
多币种定价让不同市场的买家在商品页、购物车与结账里看到并支付自己的本地币种,退款也以该币种发出。它解决“价格以什么币种展示、汇率与取整怎么定、哪些商品用固定价”;不解决税率与关税是否正确(见税费与关税),不替代支付网关的开通与费率条款,也不提供各国价格展示的合规结论。本文不写汇率、转换费率与任何金额数字。
本库哪些内容依赖它
- 支付与结账:网关与多币种的依赖关系,是本文网关口径的并列来源之一;支付方式:顾客侧的币种与支付说明;
- 税费与关税:含税价、按市场的税显示;
- 折扣、礼品卡:固定金额折扣与本地币种礼品卡;
- B2B:目录、价格表与币种;
- 运费费率与发货标签:运费的本地币种展示;市场与配送配置:市场作为价格与配送的共同上下文;
- 金额排查、购物车摘要:金额与币种的核对;订单管理、退货与退款;
- 通用概念:跨境电商基础、定价与折扣。
本文是该平台机制的权威来源,其他文章只写各自页面语境下的用法。
核心对象与概念
| 对象 | 含义 | 备注 |
|---|---|---|
| 展示币种(presentment currency) | 顾客看到并支付的本地币种 | Liquid 里 cart.currency 在多币种下等于顾客本地(presentment)币种;variant.price、cart.total_price 等也以该币种输出 |
| 店铺币种(store currency) | 店铺基础币种 | 报表只能按店铺币种查看;货币格式设置只作用于它 |
| payout 币种(结算币种) | 收款打给商家所用的币种 | 官方页用 payout currency;店铺币种与之不同时,本地币种与 payout 币种之间发生换算;本文的“结算币种”指它 |
| 汇率 | 自动(跟随市场)或手动 | 见下文 |
| 转换费(conversion fee) | 收款换算时 Shopify 以 payout 币种收取的费用 | 计算后会计入顾客价格以抵消成本;订单 Timeline 里可见每单的汇率与费用;不写费率 |
| 舍入(rounding) | 转换后的价格取整规则 | 按市场设置 |
| 固定价格(fixed price) | 为某个市场的目录里某商品手动定的价格 | 覆盖汇率换算与价格调整 |
| 价格调整(price adjustment) | 对目录内全部价格按百分比涨跌 | 可与手动汇率并用 |
| 国家选择器 | 让买家选国家与地区,店铺随之显示本地币种 | 官方页要求提供;可用第三方地理定位应用或自行开发 |
自动汇率下,展示价按“商品价格 × 汇率,再加转换费,再按舍入规则取整”得到,会随市场汇率变化(汇率页)。
在哪里配置
- 市场与币种:Markets > 选择市场 > 币种选择器(currency selector);汇率在其中的 Exchange Rate (FX) 区,选 Manual 后填汇率;舍入在同处的 Price rounding 区。
- 固定价格与价格调整:Markets > Catalogs(或 Markets > 市场 > Catalogs);价格调整填百分比,固定价格逐商品手填;可用 Export/Import 做 CSV 批量,但导出只含有固定价格的商品。
- 含税价显示:Markets > 市场 > Taxes and duties,Tax display 选 Dynamic tax display。
- 货币格式:Settings > General > Store defaults,点菜单图标选 Change currency formatting。
- 预览与测试:Markets > 市场 > More actions > View online store,再用测试订单与测试卡走结账。
与主题、Liquid 和 API 的连接
| 入口 | 官方页面所写 |
|---|---|
money | 按店铺“HTML without currency”格式输出,如 {{ product.price | money }};价格是最小货币单位 |
money_with_currency | 按“HTML with currency”格式输出,带币种代码 |
money_without_currency / money_without_trailing_zeros | 去掉币种符号 / 去掉小数分隔符与尾随零 |
variant.price、compare_at_price、cart.total_price、cart.items_subtotal_price | 均按顾客本地币种输出;无子单位的币种(如 JPY、KRW)会追加十分位与百分位,例如 1000 日元输出为 100000,格式化必须用 money 过滤器 |
cart.currency、shop.currency、shop.enabled_currencies、currency 对象(iso_code、name、symbol) | 购物车币种、店铺币种、店铺接受的币种、币种信息 |
localization | country、language、market(多个市场匹配时返回最具体的国家或地区市场)、available_countries;该页没有币种字段 |
| Storefront API | 查询加 @inContext(country: ...) 后返回该国家的价格,price 含 amount 与 currencyCode;购物车用 buyerIdentity.countryCode 定位预估费用;指南页写需要在支付设置里手动启用各国币种 |
货币格式设置的限制:只作用于店铺基础币种,其他币种不受影响;结账页始终显示小数位;部分币种默认无小数(货币格式页)。折扣、运费与购物车金额一律不要在前端自算,见购物车摘要。
限制、数值与易错点
核验于 2026-09-29,逐条标来源;不一致处并列。
- 网关要求(多页并列,不选边):
- Shopify Payments 多币种页写明需使用 Shopify Payments 并启用国际销售工具;
- 本地币种页写明只有使用 Shopify Payments 且能用单页结账的店铺才能使用该功能的全部能力;
- 限制页写明本地币种销售只支持 Adyen 或 Shopify Payments,第三方服务商以默认币种处理订单,并另写展示本地币种价格与手动汇率需要 Shopify Payments、多数第三方主网关不支持国际定价;
- 结账限制页写明 Shopify Payments 或 Adyen 支持带结账限制的本地币种,且需单页结账;
- 支付与结账记录的国际支付页写明只有以 Shopify Payments 或 Adyen 为主网关才能用本地货币处理付款,其他服务商显示本地价但结账转换为默认币种,发卡方可能收转换费;
- 舍入页写明需要 Shopify Payments 且所在国受支持。限制页同时写明市场定价定制对所有套餐可用。
- 汇率(汇率页):手动汇率不能用于主市场;只作用于没有国际价格的商品;国际固定价格始终优先于手动汇率;仅适用于单国家市场,或关闭了本地币种的多国家市场。
- 舍入(舍入页):选项是 “Round up to the nearest {value}”,取整基数按各币种通行值自动确定,不能自定义;作用于商品价格与运费,不作用于礼品卡;该页未写是否作用于 compare-at 价、固定价与折扣。
- 固定价格与调整(目录页):手动设的价格覆盖整体价格调整;价格调整默认也作用于 compare-at 价,要手动设 compare-at 价时关闭 Include compare-at price;多个目录同时适用时用更具体者,无更具体者时显示较低价。
- 折扣(折扣页):固定金额折扣结账时按汇率换算,金额会随汇率波动,设了手动汇率则用手动汇率;百分比折扣不带币种;折扣码不能提供按币种区分的折扣,Shopify Scripts(仅 Plus)可以。折扣本体见折扣。
- 含税价(动态含税价页):按公式 税额 = 税率 × 价格 ÷ (1 + 税率) 从标价拆出;只调整商品价格,不改运费;税覆盖被忽略;手动设的国际目录价格不被调整;商品页与购物车要显示正确,需本地币种加 Shopify Payments,或满足 Cookie 与缓存条件;不支持第三方售后加购应用。与税费与关税的含税价一节相同口径。
- 结账币种限制(结账限制页):让物理商品的结账币种与收货国一致,避免发卡方转换费;仅作用于需要收货地址的商品,数字商品不受限;没有单页结账且使用不支持的支付方式时,顾客可用店里销售的任意币种结账,即使与收货地址不符。
- 波动币种(波动币种页):官方列出 20 种,Shopify 不自动启用;须为每个国家单独建市场才能用该本地币种,理由是退货与换货可能造成大额盈亏。
- 退款(退款页):以顾客付款时的币种退款;需换算时用退款时的当前汇率而非下单时汇率,两者金额可能不同;转换费在收款换算时收取,退款时不收,转换费与银行卡费不退还。
- 其他限制(限制页):报表只能按店铺币种查看;POS 只有为该国配置了业务主体才能以本地币种销售(多币种跨地点需多个主体,仅 Plus 与 Enterprise);草稿订单为非默认币种并设延后付款时,只能用银行卡或标记为已付款;编辑国际币种订单有资格限制;部分币种转换应用与 Shopify Payments 冲突,价格可能在结账回到默认币种;顾客的银行可能收国际交易费,Shopify 不控制。
- 支持的币种:支持的币种页给出 Shopify Payments 可接受与退款的币种表(约 170 余个代码,摘要读取),法国商家对其中带星号的币种有限制;以该页为准,本文不列清单。
- 运费:本地币种启用后运费自动以本地币种显示,且该能力仅 Shopify Payments 店铺可用(设置运费页),见运费费率与发货标签。
- 礼品卡:商店币种礼品卡可在任意币种下兑换,本地币种礼品卡有币种匹配与跨币种兑换偏好,见礼品卡。
与 B2B 价格表的关系
B2B 目录页写明:目录币种不决定顾客在线上店铺看到的币种,在线商店币种取决于顾客所在市场;创建或更新目录时可改目录币种,价格输入为不带符号的数字,固定价与 compare-at 价在该目录的币种内生效。该页没有写公司位置有独立币种、各币种固定价怎样区分,也没有写价格在不同市场币种间怎样换算,本文不推断。目录与数量规则见 B2B。
验证一次
- 选一个已启用本地币种的市场,记录网关、结账是否为单页结账;
- 用国家选择器切到该市场,确认商品页、购物车、结账的币种一致,并记录
cart.currency与页面显示; - 记录一个变体的自动汇率展示价,改为手动汇率后再记录,再给它设一个固定价格,确认固定价格优先;
- 设置舍入后,对比展示价与关闭前的差异,同时看运费是否被取整;
- 建固定金额折扣与百分比折扣,分别在两个币种结账,对比折扣行;
- 开启 Dynamic tax display,对比含税与不含税市场的展示价,另在无痕窗口重复;
- 用测试订单退一部分款,确认退款币种与订单 Timeline 里的汇率与费用记录;
- 用
@inContext(country: ...)查询同一变体,核对currencyCode与 Liquid 输出; - 记录网关、套餐、主题版本与实际界面文本。
待继续完善
- shopify.dev 主题多币种与国家选择器指南的当前地址未读到,需补读;
- Shopify Payments 的 payout 币种设置与转换费页面未逐页读取;
- 舍入对 compare-at 价、固定价与折扣的作用未读到;
- 网关口径需在具体店铺核对哪一页反映当前行为;
- 各国价格展示、货币转换披露与消费者保护要求需要合规确认。