You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopify店铺仅支持Bitcoin支付,寻求修改货币小数位数显示方案

解决Shopify店铺Bitcoin支付显示更多小数位的方案

我之前帮几个做加密货币支付的Shopify商家处理过这个问题,分享几个经过验证的可行方案:

1. 修改主题Liquid代码(最直接的方法)

Shopify默认通过money过滤器格式化价格,强制显示两位小数。你可以找到主题中处理价格的Liquid文件(通常是sections/product-template.liquid、snippets/price.liquid或components/product-price.liquid这类文件),替换默认的价格格式化逻辑:

  • 原来的代码可能是这样:
    {{ product.price | money }}
    
  • 改成支持8位小数(Bitcoin的标准小数位数)的格式:
    {% assign btc_price = product.price | divided_by: 100000000.0 %}
    {{ btc_price | number: '%.8f' }} BTC
    
    这里的100000000是因为1 BTC等于1亿聪(Bitcoin的最小单位),如果你的Shopify后台是按BTC为单位录入价格(不是聪),可以直接用:
    {{ product.price | number: '%.8f' }} BTC
    

2. 自定义Shopify后台货币格式

如果不想改代码,可以尝试在Shopify后台调整货币显示格式:

  • 进入设置 > 货币,找到Bitcoin(BTC)货币
  • 点击「更改格式」,在“金额格式”和“金额格式(不含货币)”中,替换默认的{{ amount }}为{{ amount | number: '%.8f' }}
  • 例如,把格式改成:{{ amount | number: '%.8f' }} BTC

注意:部分主题可能会忽略后台的自定义格式,这时候还是需要用方法1修改代码。

3. 用JavaScript动态修正前端显示

如果主题代码修改起来麻烦,可以添加一段自定义JS脚本,在页面加载后自动把两位小数的价格转换成8位:

document.addEventListener('DOMContentLoaded', function() {
  // 匹配所有显示价格的元素,根据你的主题调整选择器
  const priceElements = document.querySelectorAll('.product-price, .price-item');
  
  priceElements.forEach(el => {
    // 提取数字部分,去除货币符号和千分位分隔符
    const priceText = el.textContent.replace(/[^0-9.]/g, '');
    const originalPrice = parseFloat(priceText);
    
    // 如果是有效的数字,转换成8位小数并重新显示
    if (!isNaN(originalPrice)) {
      el.textContent = `${originalPrice.toFixed(8)} BTC`;
    }
  });
});

把这段代码添加到主题的theme.liquid文件的</body>标签之前即可。

注意事项

  • 确保你的支付网关支持对应小数位的Bitcoin交易(Bitcoin标准是8位小数,不要超过这个范围)
  • 产品价格录入时要和显示逻辑对应:如果后台按聪录入,前端要转换成BTC;如果按BTC录入,直接格式化即可
  • 测试所有页面的价格显示(产品页、购物车页、结算页),确保一致性

内容的提问来源于stack exchange,提问作者nino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:05:37