多幣別指令碼
建立支援多種幣別銷售的指令碼。
本頁內容
固定或百分比折扣
瞭解在多幣別銷售時,指令碼折扣的運作方式。由於金額會隨匯率波動,固定金額折扣較難行銷。
方法
您可以使用下列方法,將折扣限制在特定幣別,或擴大至其他幣別:
Cart object 新增了方法
presentment_currency。此方法會回傳顧客本地 (顯示) 幣別的幣別代碼。例如,您可以用它檢查顧客的顯示幣別,並依結果篩選要套用的指令碼。Money object 新增了方法
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