Magento用Stripe Tax公式エクステンションを試す

Magento(Adobe Commerce / Magento Open Source / Mage-OS共通という意味で扱います)に限らず、越境ECを含めた他国展開するEC事業で手間のかかる作業といえば、「税率の管理」ではないでしょうか。
もちろんMagentoには標準機能として税率の管理機能が備わっていますが、すべての地域の税率を常時管理するのは意外と面倒なものです。
今回、Stripe公式からStripe Tax連携用エクステンション(RC版)がリリースされましたので、早速試してみました。

Stripe Taxとは

Stripe Taxは、Stripeが提供するサービスのひとつです。

Stripe Tax

  • 購入者住所と品目からの税率判定と計算(50カ国以上とアメリカのすべての州に対応)
  • 税申告と納税のアシスト

などを行えるサービスです。
Magentoに対応した税率計算サービスは

などがありますが、これらと似たサービスとなっています。

課金体系について

Stripe公式サイトによるとStripe Taxの料金体系は2通りあるとされています。
このエクステンションが利用するのはAPI実装の方なので、

  • Transaction API @0.05USD
  • Calculation API @0.05USD

が都度かかることになります。
Stripeとの通信履歴を見る限りではCalculation APIのほうが多い印象なので、実サービス投入時には注意したほうが良いかもしれません。

Stripe Taxエクステンションを試してみよう

では、Stripe Taxエクステンションをインストールしてみましょう。
現時点ではcomposer経由のインストールはできないので、以下の手順でインストールを行います。

  1. GithubからStripe Taxエクステンションのアーカイブをダウンロード
  2. ダウンロードしたアーカイブを展開
  3. app/code/StripeIntegration下にアップロード
  4. composer require stripe/stripe-php を実行し、最新版のStripeライブラリをインストール(ここ重要)
  5. php bin/magento module:enable StripeIntegration_Tax
  6. php bin/magento setup:upgrade

これでインストールは完了です。

stripe/stripe-phpライブラリが古いバージョンの場合、うまく動作しないことがあるので注意しましょう。

初期設定の方法

エクステンションのインストール後は初期設定を行います。
Stripe Taxエクステンションの設定は大きく分けて2箇所あります。

  • システム設定
  • 税区分設定

それぞれ順番に設定していきましょう。

システム設定

まずはシステム設定を行います。
Stripe Taxの設定は、

ストア > 設定 > 税

にあります。

Stripe Tax設定

設定に際しては、

  • 公開可能キー
  • シークレットキー

が必要です。あらかじめ用意しておきましょう。
その他の設定は導入する環境に応じて調整します。

それから、Stripe側でTaxのロケーション設定が必要です。
未設定の場合は、「Register a new tax location」からお使いのStripeアカウントの管理画面に移動して、設定を行いましょう。

税区分設定

ここまで設定ができたら、あとはMagento上の商品税区分とStripe Tax上の区分のマッピングを行います。

ストア > 税 > Stripe Tax Classes

にアクセスします。
Magento上で定義済みの商品税区分がある場合は、初期状態でこの画面に表示されます。

Stripe Tax税区分マッピング

ただし、Stripe Tax上の区分との紐づけはできていないので、アクション列で「Set Category」を選んでStripe Taxの区分との紐づけを行います。
現時点のバージョンではStripe Tax上の税区分はすべて英文で表示されるため、日本の消費税法の定める軽減税率対象の商品を選ぶのは少し大変かもしれません。

Stripe Tax税区分

新規構築のサイトの場合は、Stripe Taxの区分とMagento上の商品税区分を揃えておくと混乱が少ないかもしれません。
いずれにしても、マッピングができたら「Save changes」で保存しておきます。

実際に動かしてみよう

では、実際にStripe Tax連携が有効な状態で購入テストをしてみましょう。
適当な商品をカートに入れ、購入画面に進んでいきます。

購入画面

税額のところに「Japanese consumption tax」と出ていますね。「consumption tax」が要は「消費税」のことです。
このまま注文を確定すると、注文詳細画面では次のように表示されます。

注文詳細画面

 

Stripe Taxを導入する際の注意点

さて、ここまでMagento用Stripe Tax連携エクステンションについてご紹介してきました。
ここからはこのエクステンションを導入する際に注意するポイントについて取り上げたいと思います。

税計算式が変更になる

Stripe Taxを導入すると、標準のMagentoが持っている税計算処理は無効化されます。
Stripe Taxを使うかどうかはストアビューレベルで設定が可能なので、

  • 日本国内は標準機能 or 独自計算式
  • 日本国外はStripe Tax

という使い分けが可能です。
事業者によっては税額の計算に独自の計算式を使用していることがあります。この場合、Stripe Taxの税計算結果が従来の計算結果と異なってくる可能性があります。事前に十分検証したうえでご使用ください。
また、日本のインボイス制度の計算式に合致しているかどうかについても十分検証が必要でしょう。

API呼び出しに伴うコスト

Stripe Taxはサービスの性質上、API呼び出し毎に課金が発生します。
顧客が頻繁に注文金額の合計を更新するような場合、Stripe TaxのAPI呼び出しが大量に発生してしまい、利益を圧迫する可能性が予想されます。

大規模なトラフィックが予想される事案の場合は、あらかじめStripe側に相談をしておくと良いかもしれません。

日本向けの課題

現時点でわかっている日本国内向けの課題としては、

  • 軽減税率と通常税率を分けて表示できない
  • Stripe側で判定した税率の名称を翻訳できない

という点でしょうか。
Stripe Taxから得られた税額を税率別に表示すればよいはずなので、モジュールの改良で対処できそうな気がします。
もちろん、Stripe Taxエクステンション自体がまだRC版であることを踏まえると、今後の改良余地はありそうですね。

翻訳に関しては、翻訳辞書を作るかStripe側で翻訳できるようにしてもらえれば済むような気がするので、ここもある程度どうにかなりそうな気がします。

まとめ

今回はStripeの1サービスである、Stripe TaxとMagentoを連携するためのエクステンションをご紹介しました。
Stripeを利用している事業者であれば、別途サービスの契約が不要ですぐ導入できるという点は魅力的です。

ただし、このエクステンションはまだ正式版ではありませんし、細かいところでは物足りないところや使い勝手の良くないところがあります。
今後段階的に改善されていくと思われますが、導入を検討される際は十分理解したうえでご使用されることをおすすめします。