Magento2 多通貨

Magentoできるもん!:></head> タグの前にコードを追加 Magento2 多通貨

Magento2 + Stripe決済の連携エクステンション

By |2019-07-12T16:51:16+09:002019年6月24日|Categories: Magentoの設定, Magento2エクステンション|Tags: , , , , , , , |

1. Stripeについて

Stripe(ストライプ)は、オンラインの決済システムを提供する、アメリカ サンフランシスコのフィンテック企業によるAPIサービスです。現在、日本も含め、世界30カ国以上の地域で提供されています。

Stripe あなたの国へ
https://stripe.com/global

いわゆる「決済代行業者」とも言えますが、開発環境もサービス提供エリアもグローバルなため、単なる「決済代行」という捉え方にとどまらず、ビジネスをグローバルに展開するためのバンキング的な基盤として、Stripeを導入する企業が増えています。
Stripe Atlas というサービスでは、アメリカでの法人設立を代行し、Amazon USAなどで海外販売を展開する事業者が、ドルの売上をアメリカの銀行口座で受け取ることのできる体勢を、税務処理まで含めてサポートしてくれます。

日本事業者としてのアカウント登録は、Stripe日本のサイトからオンラインで申し込みをするだけです。
アカウント作成後に事業者情報を入力する必要はありますが、基本的にはオンライン作業だけで多通貨での国際カード決済(Visa/Master/Amex/JCB*要審査)に対応し、Apple Pay、Google Pay などを簡単に導入することができます。

また、オプションとして、定期購読決済(Subscription)、さらに、Alipay(支付宝)やWeChat Pay(微信支付)などの中国向けモバイル決済を導入することができます。
ただし、中国向け決済については、Stripeを窓口として、アリババとテンセントの担当部署による一定の審査があります。導入前には、それぞれの利用条件をご確認ください。

Alipay Terms of Service
https://stripe.com/alipay/legal

WeChat Payment System User Service Agreement
http://weixin.qq.com/cgi-bin/readtemplate?lang=en_US&check=false&t=weixin_agreement&s=pay

Stripeアカウントで収納可能な決済例

Stripe導入にあたっての初期費用や月額料金はなく、使用した分だけの手数料(3.6%)が利用料金となり、中規模〜大規模のストアは、手数料率をStripe社と個別契約することもできます。
また、代金回収タームは原則として1週間となり、日本国内の登録銀行口座に日本円での振込になります。ドルでの売上があっても、自動的に日本円に換算されて入金となるため、為替手数料(仲直+2%ほど)が発生します。PayPalのようにドルのままプールしておくことができないのでご注意ください。

Magento2には、標準でPayPal連携の機能が搭載されています。
なので、PayPalの他にこのStripeを導入しておけば、越境EC・海外販売のB2Cサイトにおいては、メインとなる決済手段をほぼカバーできると考えていいのではないかと思います。

また、セキュリティ面に関しても、StripeにはRadarという不正注文を防ぐ機能があり、なにより、Stripeの決済システム全体が、PCI DSS(Payment Card Industry Data Security Standard)に準拠したプラットフォームとなっています。
カード情報の入力フォームはStripe側の要素がサイト内に組み込まれますので、購入者のカード情報がストア側のデータベースに保存されることはなく、ハッキング対策としても極めて有効なものになっています。

2. Magento2+Stripeエクステンションを探す

Magento2にStripeを導入するためには、Stripeアカウントの作成の他に、Magento2+Stripeの連携エクステンションをインストールする必要があります。
Magentoエクステンションのページでもご紹介していますが、Magento2のエクステンションを探すには、先ず、Magento Marketplaceで検索をしてみるのがファーストステップになります。

Magento MarketplaceでStripe連携エクステンションを探す
https://marketplace.magento.com/

Marketplaceには、Stripe公式の無料エクステンションがありますが、現状、レビューやコメントを見るとやや微妙な感じの評価になっていますので、他の有料エクステンションを検討してもいいかもしれません。

私自身は、Magento1.9の頃から、Cryozonicというイギリスのベンダーが開発したStripeエクステンションを使用しています。
当初からネット上での評判が良く、いくつかのベンダーを検討した結果、Cryozonicのエクステンションを購入しました。

決め手となったのは、Cryozonicが、Magento専用のStripeエクステンションしか開発しないという、極めてマニアック、且つ職人気質のある開発者チームだったことです。
実際に使ってみて感じるのは、細部まできちんと検証され、緻密に構成・設計されている安定感です。数年使ってきて大きな不具合もなく、サポート対応もしっかりしているので、おすすめできます。

Cryozonic Magento+Stripeエクステンションストア

しかも、先月5月に、CryozonicはStripeと協業し、それまで有料だったすべてのエクステンションが突如として無料化され、Stripeドキュメント内でダウンロードの可能な、準公式的なエクステンションとして公開されました。
(2019年6月現在、Cryozonicストアにアクセスしても、以下のStripeDocsのページにリダイレクトされます。)

Cryozonic Modules for Magento(Stripe docs
https://stripe.com/docs/magento/cryozonic

このページをはじめて見た時、私は(それまでン万円をこのCryozonicに費やしてきたので)、喜んでいいのか、悲しんでいいのか、あるいは怒るべきなのか、しばらくわけも分からず、画面を見つめて、ただ呆然としておりました。。

とにかく、このCryozonicのエクステンションの質は高く、向後Magento Marketplaceにおいても、Stripeの新しい公式エクステンションとして置き換えられるのではないかと憶測しています。

(*2019年7月2日、CryozonicのStripe連携エクステンションが、Stripe公式エクステンションとして、Magento Marketplaceでもリリースされました。https://marketplace.magento.com/catalog/product/view/id/130365/  Marketplaceで購入した場合のインストール方法は、このブログ記事下欄の追記をご参照ください。)

3. Cryozonic Stripeエクステンションのインストール

それでは、CryozonicのStripeエクステンションをMagento2にインストールしてみましょう。
上記でもご紹介した、Stripe Docs内のCryozonic Modulesページにアクセスしてください。

Cryozonic Stripeエクステンション

Magento2のモジュール/エクステンションとして、5つがリストされています。

  • Stripe Payments
  • Stripe Express
  • Stripe Subscriptions
  • Stripe Euro Payments
  • Stripe China Payments

Stripe Paymentsは、このエクステンションの本体メイン機能になります。カード決済と、Appple Pay、Google Payが導入できます。
Stripe Expressは、アドオン(追加機能)の一つで、商品ページ、またはカート画面にて、Apple PayやGoogle Payのボタンが、ワンクリック支払い方式で表示されます。
Stripe Subscriptionsは、定額支払い(月額料金など)の機能を追加できるアドオンです。
Stripe Euro Paymentsは、SEPA Direct DebitやSOFORT、Giropayなどユーロ圏での決済を追加できるアドオンです。(ただし、Stripe日本アカウントでは有効化できません。)
Stripe China Paymentsは、AlipayやWeChatPayなど、中国向け決済を追加できるアドオンです。(日本アカウントでの有効化には審査があります。)

以下、エクステンション本体のStripe Paymentsのインストール手順を説明いたします。

先ずは、Stripe Payments の横の、「Download」 というテキストをクリックしてください。

Stripe Paymentsダウンロード

すると、パソコンに cryozonic-m2-stripe-2.5.0.tgz という名前のtgzファイルがダウンロードされます。(2.5.0はエクステンションのバージョン数です。)
このtgzファイルを、FilezillaやFilemanagerなどのFTPソフトで、Magento2のルート階層へとアップロードをしてください。(Magento2ルート階層のパスは、インストール環境により異なりますので、下の画像は参考例としてお考えください。)

Stripeエクステンションファイルのアップロード

ファイルがアップロードできましたら、PuTTYやターミナルなどで、Magento2ルートにSSHアクセスをし、以下のコマンドを実行してください。

tgzファイルの解凍

Copy to Clipboard

Cryozonicファイル内のPHPライブラリの削除

Copy to Clipboard

ComposerでStripeのPHPライブラリをダウンロード

Copy to Clipboard
Copy to Clipboard

*上のコマンドは共用サーバーなど、下のコマンドはsudo権限のあるVPSやCloud用です。Composerが入っていない場合は、作業環境に先にComposerをインストールしてください。(ご参考:Magento2コマンド集

Magento2のキャッシュクリア

Copy to Clipboard
Copy to Clipboard
Copy to Clipboard
Copy to Clipboard

Magento2のセットアップ

Copy to Clipboard
Copy to Clipboard
Copy to Clipboard
Copy to Clipboard

以上のコマンドにて、Cryozonic_StripePayments というStripeエクステンション本体のモジュールが有効化されます。

インストール方法や初期設定、トラブルシューティングなどの詳細は、Stripe Docsのモジュールリストの 「Documentation」 をクリックすると、PDFファイル(英語)で確認することができます。
また、他のアドオンモジュールを追加する場合も、以上と同様の手順、tgzファイルのダウンロード→Magento2ルートへのアップロード→コマンドで有効化の流れにて、アドオンのインストールを行うことができます。

4. Cryozonic Stripeエクステンションの設定

エクステンションのインストール後は、Magento2の管理画面にて、Stripe決済を導入するための設定をいたします。
管理画面 Stores > Configration > Sales > Payment Method に進みます。

Stripe Magento2管理画面

エクステンションが正しくインストールされていると、OTHER PAYMENT METHODS: の項目の中に、Stripe Payments by Cryozonic を見つけることができます。
vマークのアイコンかテキストをクリックすると、Stripe Paymentsの設定画面が開きます。

StripeエクステンションMagento2管理画面設定

各設定項目の簡単な説明は以下になります。

  • Enabled:「Yes」でエクステンションが有効化されます。
  • Title:カート画面に表示するお支払方法としての項目名を編集できます。
  • Mode:「Test」モードと、「Live」モードの切り換えができます。
  • Publishable Key:Stripeダッシュボードで取得したAPI Keyを入力します。「Test」モードと、「Live」モード、それぞれ別のKeyがあります。
  • Private Key:Stripeダッシュボードで取得したAPI Keyを入力します。「Test」モードと、「Live」モード、それぞれ別のKeyがあります。
  • Apple Pay:「Enabled」にすると、Apple PayとGoogle Payを導入することができます。
  • Apple Pay Button Location:カート画面での、Apple Payのボタンの表示位置を、「Inside the Stripe payment form」か、「Above all payment methods」から選べます。
  • Payment Action:「Authorize and Capture」では、お客様のご購入と同時に与信枠での決済が完了します。「Authorize Only」では、ご購入時に与信枠を押さえ、決済処理は店舗側でInvoiceを発行したタイミングで完了します。
  • Stripe Radar:「Enabled」で、Radar(不正注文防止機能)が有効化されます。
  • Save Customer Cards:購入者のカード情報を、Stripeのサーバーに保存するかどうかを選択できます。「Disabled」では無効化、「Ask the customer」では、カード情報を保存するかどうかを購入者に尋ねます。また、「Save without asking」では、カード情報がStripeサーバーに保存され、次回購入でカード情報の入力が不要となります。
  • Optional Statement Descriptor:カート画面お支払い欄に備考的な記述を挿入できます。
  • Pay in store currency:多通貨のマルチストア構成の場合、基本通貨での決済ではなく、表示通貨での決済を行うかどうか選択できます。通貨についてはMagentoマルチストアのページをご参照ください。
  • New Order Status:新規注文のステイタスを選べますが、通常はMagento2のシステムに準拠し、空欄とします。
  • Enable Stripe email receipts:Stripeのシステムから、購入者に請求者メールを送信するかどうかを選択できます。Stripeからのメールは、Stripeのダッシュボードで内容を編集します。
  • Payment From Applicable Countries:Stripe決済を特定国の購入者のみ利用できるようにするには、「Specific Countries」を選択します。
  • Payment From Specific Countries:上記の「Specific Countries」を国リストから選択します。
  • Sort Order:Stripe決済の、カート画面お支払方法欄での表示順を指定できます。

アドオンモジュールをインストールすると、やはり、この管理画面に、該当の設定項目が追加されます。

基本的に、インストール/アップデート時のコマンド作業さえクリアすれば、後は管理画面での設定を進めるだけで、Magento2にStripe決済を簡単に、しかも無料で導入することができます。
Stripeのドキュメントを見ると、開発者向けの説明(コード)が多く、かなり難しく感じてしまいますが、その部分はエクステンションのインストールで補うことができます。

5. Stripeダッシュボードでのいくつかの設定

Stripeのダッシュボードは、何度かレイアウトが更新・刷新され、主要な設定画面では、ほとんどのページで日本語で表示されるようになりました。サポートも日本語対応しており、かなり使いやすい状態になっています。

ご参考:Stripeダッシュボードの概要
https://stripe.com/docs/dashboard

この記事では、Stripeダッシュボードの全般な使い方や設定方法は割愛させていただきますが、Magento2管理画面での設定と合わせて、API Keysの取得と、Apple Payのドメイン認証、Webhookの設定についてご説明いたします。

API Keysは、上記のMagento2管理画面での設定で、Publishable Key と、Private Key と呼ばれている二つのキーペアのことになります。
先ず、Stripeダッシュボードにログインし、左メニューの 開発者 > APIキー をクリックしてください。

StripeダッシュボードAPIキー

アカウント作成直後の場合は、テスト環境でのAPIキーが自動で作成されています。「公開可能キー」が、Publishable Key のことで、「シークレットキー」が、Private Key のことになります。
シークレットキーは伏字になっていますが、「キーを表示」のボタンをクリックすると、キーのトークンが表示されます。

StripeダッシュボードAPIキー

このトークンをコピペして、Magento2管理画面 Stores > Configration > Sales > Payment MethodPublishable Key と Private Key に入力します。

決済のテストには、Stripeがしているテスト用のカード番号をご利用ください。
https://stripe.com/docs/testing

Stripeダッシュボードで本番環境が利用できるようになると、テスト ⇔ 本番 を切り替えることができるようになります。本番環境のAPI Keysは、上記のMagento2管理画面にて、Modeを「Live」にし、同じようにコピペ入力します。

また、Apple Payを利用するためには、Stripeダッシュボードで、ストアのドメインURLを登録します。

ご注意いただくのは、Magento2のストアURLがサブフォルダで終わる場合、Apple Pay用のドメイン登録・認証ができない、Apple Payが利用できない、ということです。
例えば、www.yourdomain.com や、 store.yourdomain.com はドメイン認証ができますが、www.yourdomain.com/store/ と、Magento2ストアURLがサブフォルダで表示される環境では、ドメイン認証ができません。
Apple Pay導入を検討されている場合は、ストアURLやマルチストア構成を決める段階で、この点にご留意ください。

ストアURLは、Stripeダッシュボードの 設定 > ビジネス設定 > Apple Pay から登録します。

Stripe Apple Payドメイン登録

ドメイン登録画面が開くので、「新しいドメインを追加」のボタンをクリックします。

Stripe Apple Payドメイン登録

すると、以下の画像のようなドメイン入力欄と、確認ファイルのダウンロードリンクのウィンドウが開きます。

Stripe Apple Payドメイン登録

www.yourdomain.com や、 store.yourdomain.com などのストアドメインを入力し、その後、「確認ファイルをダウンロード」ボタンをクリックしてください。

すると、パソコンに、apple-developer-merchantid-domain-association という名前のファイルがダウンロードされます。
このファイルを、ウィンドウ下部の案内通りの階層 https://example.com/.well-known/apple-developer-merchantid-domain-association という配置になるように、FTPにてアップロードします。
.well-known のフォルダがMagento2ルート直下に存在していない場合は、その名称で新規でフォルダを作成し、その中へファイルをアップロードしてください。(フォルダ名の冒頭は、. になります。)

そして、右下の「追加」ボタンをクリックします。
無事にドメインが追加されると、以下の画像のように、リンクアイコンと、緑色テキストでドメインが表示されます。

Stripe Apple Payドメイン追加

また、もう一つ、Stripeダッシュボードで設定する項目として、Webhooks があります。
Webhookは、Stripe側でのイベント(データ処理)を、Magento2の管理画面側に送信するためのメカニズムで、ストアでのカードやApple Payなどの受注では必要ではないのですが、Subscription(定期購入) や China Payments(Alipay/WeChatPay) などのアドオンモジュールをインストールしている場合は、必須の設定になります。

Magento2の管理画面では、Cryozonicのエクステンションをインストール後、次のようなメッセージが画面上部に表示されるようになります。

Stripe Webhookメッセージ

Stripe Webhooks have not yet been configured これは、「Stripe Webhooksが設定されていません」というメッセージで、Stripeダッシュボード側にて、Wenhooksを設定する必要があります。

Stripeダッシュボード左メニューから 開発者 > Webhook に進んでください。

Stripe Webhookの設定

「エンドポイントを追加」のボタンをクリックすると、WebhookのエンドポイントURLを入力するウィンドウが開きます。

Stripe Webhookの設定

エンドポイントURLには、https://www.yourdomain.com/cryozonic-stripe/webhooks のパスを、ご自身にストアURLドメインにて入力してください。
送信イベントは、一般的には、欄中央にある「すべてのイベントを受信」のテキストをクリックして、すべてのイベントを選択してください。(画像はすでに選択済みの状態です。)
そして、右下の「エンドポイントを追加」ボタンをクリックします。

無事にWebhookが設定されると、以下画像のように、エンドポイントURLが表示され、緑色の「有効」マークがつきます。

StripeエンドポイントWebhook追加

通常、Webhook設定後も、Magento2管理画面では、黄色背景のメッセージが表示されたままになっています。
これは、このメッセージの表示が、Webhookの受信履歴がMagento2のキャッシュフォルダに存在しているかどうかで判別されるためです。テスト受注後には、キャッシュに情報が残りますので、管理画面のメッセージが消えます。
ただし、Magento2の作業で、/var/ フォルダ以下のキャッシュをクリアした場合には、再びメッセージが表示されるようになります。再表示されても、Webhook自体の設定はStripe側で完了していますので、ご安心ください。

今回は、CryozonicのStripe準公式の無料エクステンションをベースに、Magento2とStripe決済の連携について説明いたしました。決済まわりは慎重な設定作業が求められますので、様々なデバイスのテスト環境で試してから、本番環境へと移行するようにしてください。

追記:
2019年7月2日、この記事でご紹介したCryozonicのStripe連携エクステンションが、Stripe公式エクステンション(Stripe Payments SCA Ready)として、Magento Marketplaceでもリリースされました。以下より無料で入手が可能です。
https://marketplace.magento.com/catalog/product/view/id/130365/

Magento2 Stripe公式エクステンション by Cryozonic

Marketplaceにて購入(無料)した場合は、この記事でご案内しているZipファイルの手動作業は不要となり、以下のコマンド一行で、Stripe Payments、Stripe Express、Stripe Euro Payments、Stripe China Payments をインストールすることができます。(Subscription/定期購読のモジュールのみ外れています。)

上がVPS/Cloud環境でのコマンド、下が共用サーバー環境でのコマンドになります。

Copy to Clipboard
Copy to Clipboard

上記コマンドを実行後、Magento2のセットアップ、コンパイル、キャッシュクリアのコマンドを実行してください。

また、Composerでインストールした場合、管理画面 > Stores > Configration > Sales > Payment Methods では、Stripe連携エクステンションの設定欄が、以下のように、目立つポジションに(Stripeのロゴつきで)入ります。

Magento2 Stripe公式エクステンション

「Configure」ボタンをクリックすると、それぞれの項目設定が開きます。

Stripe連携エクステンション Magento2管理画面

Composerでのインストール方法について、詳細は以下ガイドをご参照ください。
https://marketplace.magento.com/media/catalog/product/stripe-stripe-payments-1-1-2-ce/installation_guides.pdf

Magento2の通貨設定と為替レート自動アップデートについて

By |2019-05-03T10:59:44+09:002018年6月10日|Categories: Magentoの設定|Tags: , , |

1. Magento2のベース決済通貨の設定について

Magento2では、商品価格の表示や決済回収となる通貨を複数設定することができます。
マルチストアにして、各ストアで別の通貨を設定することもできますし、シングルストアで複数の通貨を設定し、ストアに通貨切り換えスイッチを表示することもできます。また、マルチストアで、それぞれストアごとに違った通貨(一つでも複数でも)を設定することもできます。

ただ、決済のベースとなる通貨は、マルチストアの構成に関係するので、詳細はMagentoマルチストアもご参照ください。
決済ベースの通貨を基準に、任意の為替レートを手動で入力したり、APIで外部からレートを取り入れたり、またそのAPIにより自動でレートを更新したりすることができます。
さらに、支払い方法によっては、ベース通貨での決済が固定となるか、あるいは、ベース通貨での決済かストア上での表示通貨での決済か選択できるものもあります。

Magento2通貨設定

上の画像は、Magento公式ドキュメントから拝借したもので、Magento2における通貨設定のイメージになります。

ポイントとなるのは、base currency scope(決済ベース通貨の設定)を、global(default)の層で固定するか、websiteの層で固定するか、自由に選択ができる点です。

globalの層でベース通貨を設定すると、Magentoで構成するすべてのストア(すべてのwebsite > すべてのstore > すべてのstore view)の決済が、一つのベース通貨に固定され、商品の値付けは一つの通貨でしか行えません。もちろん、ストアに表示する通貨は多通貨を設定し、デフォルトの表示通貨を別の通貨にすることもできますが、商品価格の基準はベース通貨となります。
上の公式ドキュメントの画像では、globalでアメリカドルを設定している図と解釈できます。右下のstore viewは日本円表示ですが、websiteのベース通貨がアメリカドルなので、store viewの日本円は、ドル円の為替レートにより変動的に(もしくは固定レートで)表示されることになります。

一方、websiteの層でベース通貨を設定すると、websiteごとに決済ベース通貨を選ぶことができます。そのMagentoが二つのwebsiteを持つのなら、wesiteAはアメリカドル、websiteBは日本円というふうに、仮に同じ商品を販売するとしても、それぞれ別の通貨で値付けを行うことができます。それにより、為替レートの変動を気にすることなく、商品登録画面上から、直接日本円で商品価格を設定できます。
上の公式ドキュメントの画像でいうと、右側のwebsiteのベース通貨を日本円で設定し、その下層のstoreも日本円、store viewも日本円(+多通貨表示)というイメージになります。こうすることで、商品の値付けを日本円で行うことができます。

Magento2のベース通貨の設定

このbase currency scope(決済ベース通貨の設定)は、Magento2の管理画面 Stores > Configration > Catalog > Catalog > Price の Catalog Price Scope で設定します。
上記画像の欄で、プルダウンで、Global(default)か、Websiteか、自由に選択ができます。
Globalに(Magento全体に)ベース通貨を統一してしまうか、それとも、Websiteごとにベース通貨を設定するかが選択できるのです。

2. Magento2の多通貨の設定について

Magento2の管理画面で具体的に通貨を設定するには、上記の Base Currencyに加えて、Default Display Currency、Allowed Currencies と、合計三つの項目で通貨を選択します。
これは、以下の画像のように、管理画面 Stores >Configration > General > Currency Setup の Currency Options で設定をいたします。

Magento2での多通貨の設定

Base Currencyは、上記でも説明いたしましたように、Magento2での決済ベースとなる通貨です。
Catalog Price Scopeを「Global」にしている場合は、Magento2のDefaultの層でのみ設定できます。Catalog Price Scopeを「Website」にしている場合は、Magento2に構成している各Websiteの層でそれぞれ設定できます。

Default Display Currecnyは、そのストアのデフォルトで表示する通貨で、各Store viewの層で設定ができます。
例えば、WebsiteのBase Currencyが日本円であったとしても、そのStore viewのDefault Display Currencyがアメリカドルであれば、ユーザーがそのストアにアクセスすると、商品価格はアメリカドルで表示されます。商品の値付けは日本円ですが、為替レートにより計算されたアメリカドルの価格がストアに表示されます。

Allowed Currenciesは、そのストアで表示のできる通貨リストのすべてで、複数を選択することができます。画面で複数通貨を選択する際には、キーボードの「Ctrl」(Macの場合は「command」キー)を押しながら選択すると、選択された通貨がすべてブルーで反転して、同時に設定できます。
一般的に、Allowed Currenciesで複数通貨を設定すると、ストアのヘッダー部に通貨スイッチャーが表示され、ユーザーが任意で表示通貨を切り換えることができるようになります。
例えば、WebsiteのBase Currencyが日本円で、Default Display Currencyがアメリカドル、そしてAllowed Currenciesに日本円、アメリカドル、ユーロが設定されていると、ユーザーがアクセスすると、商品価格はアメリカドルで表示されます。しかし、ユーザーは通貨スイッチャーにより、商品価格を日本円かユーロに切り換えることができます。その際、表示される日本円価格は、ストア運営者が商品の値付けを行った日本円と同じ価格になります。アメリカドルとユーロの表示価格は、為替レートにより計算された価格となります。

マルチストア構成で、Store viewにより異なる通貨を設定、表示させる場合には、下の画像のように、管理画面左上のStore viewの切り換えスコープで該当のストアを選択し、それぞれ設定をいたします。マルチストアの場合、Store viewの切り換えで、そのストアに適用される管理画面が開きますので、ストアごとにそれぞれ設定を分けることができます。これは通貨設定に関わらず、他の設定でも同じ仕様です。

Magento2 Store viewの切り換え設定

また、通貨の設定で注意していただくことは、Allowed Currenciesの選択リストには、Base CurrencyとDefault Currencyが含まれている必要があるということです。
例えば、Base Currencyがアメリカドルで、Default Currencyにイギリスポンドを選ぼうとしても、Allowed Currencyの項目で「イギリスポンド」を選択してないと、Default Currencyの保存でエラーになってしまいます。なので、先ずはAllowed Currencyに「イギリスポンド」を追加し、その後にDefault Currencyで「イギリスポンド」を設定する流れになります。

Magento2の通貨スイッチャー

上記は、Magentoデモ・事例でご紹介しているZENVAVAというサイトですが、ヘッダーの右上に通貨スイッチャーがあります。
このサイトは、WebsiteでBase Currencyをアメリカドルで設定し、Store viewでDefault Display Currencyもそのままアメリカドルにし、Allowed Currenciesで、AUD(オーストラリアドル)、GBP(イギリスポンド)、CAD(カナダドル)、EUR(ユーロ)、USD(アメリカドル)を設定しています。

インストールしているデザインテーマによって、スイッチャーの位置は違いがありますが、おおよそ上記のイメージになります。マウスオーバーすると、通貨リストのプルダウンが現われます。
また、有料/無料のエクステンション(Geo IP等の名称)を入れると、ユーザーのアクセスしたIPアドレスからユーザーの滞在国/地域を特定し、該当通貨を自動でデフォルト表示させることもできるようになります。エクステンションの導入については、Magentoエクステンションもご参照ください。

2. Magento2の通貨レート自動アップデート方法

Magento2には、デフォルトで、三つの通貨レートプロバイダーとの連携モジュールが入っています。Yahoo financeとWebservicex、そしてFixer.ioです。
APIで通貨レートをワンクリックで取り込んだり、時間を決めて自動でレート更新を行うことができるようになっています。

ところが、この連携モジュール、三つもあるのですが、2018年6月現在、Magento2のプラットフォームできちんと動作するものがありません。
唯一、Fixer.ioは動いていたのですが、先日の6月5日に、Fixerで大きなシステム変更があり、無料プランではEuroベースの為替レートしか取り込むことができなくなってしまいました。
現在、Fixer.ioの月額10ドルのプランを購入すると、すべてのベース通貨でのレートを読み込むことができるようになります。

ただ、この状況がずっと続くのは考えづらいので、いずれ近いうちに、安定的に為替レートをインポートできる無料サービスが、またMagento2で簡単に使えるようになるのではないかと思います。

Free currency converter fixer.io stopped working
https://magento.stackexchange.com/questions/228588/free-currency-converter-fixer-io-stopped-working

例えば、上記のMagentoフォーラムのページでは、有志の開発者が無料で新しい自作モジュールを公開しています。
これを自分でフォルダに整理し、app/code/以下に手作業でアップロードすれば、通常のエクステンションのマニュアルインストールと同じ要領で、無料の為替レートモジュールをMagento2に入れることができます。
(実際にご利用される場合は、テスト環境で試していただき、自己責任にてお使いください。私も試しましたが、きちんと動作しています。)

このように、Magentoコミュニティで自然発生的に生まれる解決策が、様々な検証の後、Magentoのコアコードに(そのままではないにしても)採用されるようになることもあります。(*)

Magento2通貨レート取り込み

この通貨レート取り込みツールは、上記画像のように、管理画面 Stores > Configration > General > Currency Setup の Scheduled Import Settings で設定をいたします。

画像では、コミュニティで公開されている無料モジュール(Free Currency Converter)を選択しています。
レートの更新スケジュールは、時刻と、頻度(毎日/毎週/毎月)の二項目で設定することができます。ここで設定する時刻は、Magento2にとっての時刻で、それは、Stores > Configration > General >General > Locale Options > Timezone で指定されたタイムゾーンの時刻になります。

Magento2通貨レート

自動更新スケジュールで取り込んだ通貨レートは、上記画像のように、Stores > Currency Rates で確認をすることができます。
また、自動更新を使わず、この画面から手作業で最新のレートをインポートすることもできます。その場合は、Import Serviceで、APIツールを選び、下の[Import]ボタンをクリックし、右上のオレンジ色の[Save Currency Rates]をクリックすると、新しい通貨レートを保存、適用することができます。
あるいは、ツールを使わずに、この画面上で手作業で直接にレートを入力し、保存することも可能です。自社の固定レートを採用する際にも、ここでレートを入力したり、変更したりすることができます。

以上、Magento2での通貨の設定についてご説明いたしました。

追記(2019年5月3日):
Free Currency Converter APIは、Magento2.3よりデフォルトで連携モジュールが搭載されるようになりましたが、2019年2月末頃より、APIキーの設定が必須となり、現在、通貨レートの読み込みができない状況になっています。時期Magento2.3.2では、修正が施される可能性があります。
https://github.com/magento/magento2/pull/22461
https://github.com/magento/magento2/issues/21487