用于多种货币的脚本
创建支持以多种货币进行销售的脚本。
固定金额或基于百分比的折扣
查看在以多种货币进行销售时 脚本折扣 的工作方式。营销固定金额折扣可能比较困难,因为折扣金额可能会随货币换算率而波动。
方法
您可以使用以下方法将折扣限制或扩展到特定货币:
购物车对象有一个新方法
presentment_currency。此方法会返回客户显示币种的货币代码。例如,您可以使用此方法检查客户的显示币种,并根据结果筛选脚本。Money 对象有一个新方法
Money.derived_from_presentment(customer_cents: X)。此方法返回商店货币的价值。X代表客户显示币种的金额(以分为单位)。此方法将客户显示币种的金额转换为商店货币的等值金额。例如,您可以使用此方法以客户的显示币种向他们显示折扣。
货币换算
Shopify 脚本以您的商店货币运行,而不是以客户的显示币种运行:
- 在脚本运行之前,您购物车中的金额会转换为您的商店货币。
- 脚本完成后,这些金额会转换回客户的显示币种。
这两次换算都不会导致您被收取换算费。只有在获取付款时,您才需要支付换算费。
在以多种货币销售前,请检查您的脚本
当您启用以多种货币销售时,请检查您的脚本以确保它们仍按预期方式工作:
- 提供百分比折扣的脚本 - 无论使用何种货币,这些脚本都提供相同的百分比折扣。
- 提供固定金额折扣的脚本 - 这些脚本中的金额以您商店的货币为单位。提供固定金额折扣的脚本可能难以推广,因为折扣金额会随着货币换算率而波动。
- 依赖于给定价格阈值才能运行的脚本 - 这些脚本中的金额以您商店的货币为单位。
示例
以下示例将在客户的显示币种与您的商店货币不同时,隐藏除 Shopify Payments 之外的所有支付服务提供商:
Output.payment_gateways = Input.payment_gateways.delete_if do |payment_gateway|
Input.cart.presentment_currency != Input.cart.shop_currency && payment_gateway.name != "Shopify Payments"
end