複数通貨に対応したスクリプト

複数の通貨での販売をサポートするスクリプトを作成します。

固定額ディスカウントと定率ディスカウント

複数通貨で販売する場合に、スクリプトのディスカウントがどのように機能するかを確認してください。固定額のディスカウントは、通貨換算レートによって金額が変動する可能性があるため、マーケティングが困難な場合があります。

メソッド

以下のメソッドを使用して、特定の通貨にディスカウントを限定または拡張できます。

  • Cartオブジェクトには、新しいメソッドの presentment_currency があります。このメソッドは、お客様の現地通貨 (表示通貨) の通貨コードを返します。たとえば、このメソッドを使用すると、お客様の表示通貨を確認し、その結果に基づいてスクリプトを絞り込むことができます。

  • Moneyオブジェクトには、新しいメソッドの Money.derived_from_presentment(customer_cents: X) があります。このメソッドは、ストア通貨での値を返します。X は、お客様の現地通貨 (表示通貨) での金額 (セント単位) を表します。このメソッドは、お客様の現地通貨 (表示通貨) での金額を、ストア通貨での同等の金額に換算します。たとえば、このメソッドを使用すると、お客様の現地通貨 (表示通貨) でディスカウントを表示できます。

通貨換算

Shopify スクリプトは、お客様の現地通貨 (表示通貨) ではなく、ストアの通貨で実行されます。

  • スクリプトが実行される前に、カート内の金額がストアの通貨に換算されます。
  • スクリプトの実行が終了すると、これらの金額は、お客様の現地通貨 (表示通貨) に換算されて戻されます。

これら2つの換算のどちらについても、換算手数料が請求されることはありません。換算手数料は、決済が確定した場合にのみ請求されます。

複数通貨で販売する前にスクリプトを確認する

複数通貨での販売を有効にした場合は、スクリプトが引き続き意図したとおりに機能するかどうかを確認してください。

  • 割合ディスカウントを提供するスクリプト - このタイプのスクリプトは、通貨にかかわらず同じ割引率を適用します。
  • 固定額ディスカウントを提供するスクリプト - このスクリプトの値はストアの通貨で設定されています。割引額が為替レートによって変動する場合があるため、固定額ディスカウントを提供するスクリプトは、マーケティングが難しい場合があります。
  • 特定の価格しきい値に基づいて実行されるスクリプト - このスクリプトの値は、ストアの通貨で設定されています。

以下の例では、お客様の現地 (表示) 通貨がストアの通貨と異なる場合に、Shopify ペイメント以外のすべての決済サービスを非表示にします。

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

詳しくはこちら