コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
Billing
概要Billing API について
サブスクリプション
Invoicing
従量課金
高度な従量課金型請求
見積もり
顧客管理
Billing と他のプロダクトの連携
売上回収
オートメーション
実装内容をテストする
税金
概要
Stripe Tax を利用する
    Tax の仕組み
    徴収を設定
    動作を設定
    テスト
    決済タイプを検索
    事業形態を検索
      Connect
      チケット販売
      物品
      カスタム実装
    対応可能な国
法規制の遵守・対応管理
レポート機能
概要
レポートの選択
レポートを設定
複数のアカウントのレポート
Reports API
収益認識
データ
概要
ビジネスデータのクエリ
Sigma
Data Pipeline
外部データをインポート
アメリカ
日本語
ホーム売上管理Use Stripe TaxFind your business type

税金の徴収

Stripe Tax API を使用して、カスタムのシステムに税額計算を実装します。

Stripe Tax API を使用すると、カスタム決済フローで税金を計算できます。顧客が決済を完了した後で、取引を記録して Stripe Tax のレポートに表示されるようにします。このガイドの例では Stripe の Payment API を使用していますが、任意の決済代行業者や複数の決済代行業者で Tax API を使用することもできます。

ほとんどの統合では、Checkout Sessions API with Stripe Tax を使用することをお勧めします。

あるいは、Stripe Tax を Payment Links、Checkout、Billing、Invoicing に導入することもできます。ノーコードまたはローコードの設定です。

Stripe Tax API を使用すると、カスタム決済フローで税金を計算できます。顧客が決済を完了した後で、取引を記録して Stripe Tax のレポートに表示されるようにします。このガイドの例では Stripe の Payment API を使用していますが、任意の決済代行業者や複数の決済代行業者で Tax API を使用することもできます。

カスタム決済フローが Payment Intents API を使用している場合は、カスタム決済フローでの税金計算を参照してください。この連携機能は自動債務追跡、領収書、ダッシュボードに対応しています。また、納税者番号 Element を使用して顧客から納税者番号を収集できる公開プレビュー機能もご提供しています。詳しくは、顧客の納税者番号の収集をご覧ください。

あるいは、Stripe Tax を Payment Links、Checkout、Billing、Invoicing に導入することもできます。ローコードの設定です。

始める

この短い動画では、Payment Intents API と Payment Element を使用する Stripe Tax API の導入手順を説明しています。

動画コンテンツの読み込み中...

登録を追加する

Stripe Tax は、税金徴収の登録をしている管轄区域でのみ税金を計算します。ダッシュボードで 登録を追加 する必要があります。

オプション顧客住所を収集する
クライアント側

ほとんどの場合、回収する税金は顧客の場所によって決まります。顧客の住所全体を収集することで、税金の計算の正確性を確実に向上させることができます。住所の収集前に、IP アドレス に基づく見積もりを顧客に示すことができます。

メモ

以下の例では単純なカスタム住所フォームを使用していますが、Address Element を使用して、オートコンプリートやローカライゼーションの機能によって顧客から住所を収集することもできます。

以下のフォームにより、詳細な住所が収集されます。

checkout.html
<form> <label for="address_line1">Address Line 1</label> <input type="text" id="address_line1" /> <label for="address_city">City</label> <input type="text" id="address_city" /> <label for="address_state">State</label> <select id="address_state"> <option value="WA">Washington</option> <!-- add more states here --> </select> <label for="address_postal_code">Postal code</label> <input type="text" id="address_postal_code" /> <label for="address_country">Country</label> <select id="address_country"> <option value="US">United States</option> <option value="DE">Germany</option> <option value="IE">Ireland</option> <!-- add more countries here --> </select> </form>

サーバーエンドポイントに住所を渡すには、以下のようにします。

checkout.js
const address = { line1: document.getElementById('address_line1').value, city: document.getElementById('address_city').value, state: document.getElementById('address_state').value, postal_code: document.getElementById('address_postal_code').value, country: document.getElementById('address_country').value, }; var response = fetch('/preview-cart', { method: 'POST', body: JSON.stringify({address: address}), headers: {'Content-Type': 'application/json'}, }).then(function(response) { return response.json(); }).then(function(responseJson) { // Handle errors, or display calculated tax to your customer. });

税金を計算するために必要な住所情報は、顧客の国 によって異なります。

  • アメリカ: 少なくとも顧客の郵便番号が必要です。最も正確な税金の計算結果を得るには、正確な住所を指定することをお勧めします。
  • カナダ: 顧客の郵便番号または州が必要です。
  • その他の国: 顧客の国コードのみが必要です。

税額計算
サーバー側

課税 するタイミングと頻度を選択できます。たとえば、以下を実行できます。

  • 顧客が決済フローに 顧客の IP アドレス に基づく]税金の見積もりを表示する
  • 顧客が請求先住所または配送先住所を入力するときに税金を再計算する
  • 顧客が住所の入力を完了したときに、徴収する最終的な税額を計算する

Stripe は課税する税金計算の API コールごとに手数料を請求します。課税する税金計算の API コールを抑制して、コストを管理できます。

下記の例は、さまざまなシナリオで税金を計算する方法を示しています。Stripe Tax では、税金を徴収するために登録した管轄区域の税金のみを計算し、ダッシュボードで 登録を追加 する必要があります。

この例では、アメリカの配送先住所に課税される税金を計算します。ライン項目の価格は 10 USD で、アカウントの 事前設定の税コード を使用しています。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][line1]"="920 5th Ave" \ -d "customer_details[address][city]"=Seattle \ -d "customer_details[address][state]"=WA \ -d "customer_details[address][postal_code]"=98104 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=shipping

計算の応答 には、顧客に表示し、支払いを受けるのに使用できる金額が含まれます。

属性説明
amount_total課税した後の合計。顧客への支払いに PaymentIntent の金額 を設定します。
tax_amount_exclusiveラインアイテムの金額と配送料金に追加される税金の金額。この税額は amount_total を増額します。これを使用して、取引の小計に追加される税額を顧客に示します。
tax_amount_inclusive項目の金額と配送料金に含まれている税金の金額 (内税価格を使用している場合)。この税額は amount_total を増額しません。これを使用して、決済金額の合計に含まれている税金を顧客に示します。
tax_breakdown国や州の税率ごとに分類された税額のリスト。これを使用して、徴収している特定の税金を顧客に示します。

顧客の場所エラーの処理

顧客の住所が無効な場合や、税金の計算に使用できるほど精度が高くない場合は、計算で customer_tax_location_invalid エラーが返されます。

{ "error": { "doc_url": "https://docs.stripe.com/error-codes#customer-tax-location-invalid", "code": "customer_tax_location_invalid", "message": "We could not determine the customer's tax location based on the provided customer address.", "param": "customer_details[address]", "type": "invalid_request_error" } }

このエラーを受け取った場合は、顧客に入力した住所を確認し、入力ミスを修正するように求めます。

別の代行業者で計算を使用する

Stripe 外で取引を処理する場合は、次の手順をスキップして、計算を外部で処理された取引に適用できます。

税取引を作成する
サーバー側

税取引を作成すると、顧客から徴収した税金が記録されるため、後でエクスポートをダウンロードして、納税申告に役立つレポートを生成できます。作成から 90 日後の expires_at タイムスタンプまでの計算から取引を作成できます。この期間を過ぎてから使用しようとすると、エラーが返されます。

メモ

取引は create_from_calculation が呼び出された日付に有効であると見なされ、税額は再計算されません。

税取引を作成する際は、税取引とラインアイテムごとの一意の reference を指定する必要があります。この参照番号は、税金のエクスポート結果に表示され、徴収した税金をシステムの注文と照合するのに役立ちます。

たとえば、税取引の参照番号が pi_123456789、ラインアイテムの参照番号が L1 と L2、配送料金がある場合、項目別の税金のエクスポートは次のようになります。

IDline_item_idタイプ通貨transaction_date
pi_123456789L1外付けのUSD2023-02-23 17:01:16
pi_123456789L2外付けのUSD2023-02-23 17:01:16
pi_123456789配送外付けのUSD2023-02-23 17:01:16

顧客が決済する際に、計算 ID を使用して徴収した税金を記録します。これを行うには 2 つの方法があります。

  • 顧客が注文を送信するエンドポイントがサーバーにある場合は、注文が正常に送信された後で税取引を作成できます。
  • payment_intent.succeeded Webhook イベントをリッスンします。PaymentIntentメタデータ から計算 ID を取得します。

以下の例では、取引を作成して、PaymentIntent ID を一意の参照番号として使用します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/transactions/create_from_calculation \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d calculation={{TAX_CALCULATION}} \ -d reference=
"{{PAYMENT_INTENT_ID}}"
\ -d "expand[]"=line_items

後で返金を記録するために、tax transaction ID を保存します。取引 ID は、データベースまたは PaymentIntent のメタデータに保存できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents/
{{PAYMENT_INTENT_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "metadata[tax_transaction]"={{TAX_TRANSACTION}}

返金を記録する
サーバー側

顧客への売上を記録するために税取引を作成した後で、返金の記録が必要になる場合があります。これらは、type=reversal の税取引としても表されます。差戻し取引は、逆の符合の金額を指定することで前の取引を相殺します。たとえば、50 USD の売上を記録した取引に、後から -50 USD の全額差戻しを指定できます。

返金を発行 (Stripe を使用、または Stripe の外部で) する際には、一意の reference を指定して税の差戻し取引を作成する必要があります。一般的には以下のような方法があります。

  • 元の参照番号にサフィックスを追加します。たとえば、元の取引の参照番号が pi_123456789 の場合は、参照番号 pi_123456789-refund の差戻し取引を作成します。
  • Stripe 返金 する ID、またはご使用のシステムの返金する ID を使用します (re_3MoslRBUZ691iUZ41bsYVkOg や myRefund_456 など)。

顧客の注文を 課税するエクスポート と照合するための最適な方法を選択します。

売上を全額返金する

システムで売上を全額返金するには、mode=full を指定して差戻し取引を作成します。

以下の例の tax_1MEFAAI6rIcR421eB1YOzACZ は、顧客への売上を記録する税金取引です。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/transactions/create_reversal \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=full \ -d original_transaction=tax_1MEFAAI6rIcR421eB1YOzACZ \ -d reference=pi_123456789-cancel \ -d "expand[]"=line_items

これにより、作成された全額差戻し取引が返されます。

{ "id": "tax_1MEFtXI6rIcR421e0KTGXvCK", "object": "tax.transaction", "created": 1670866467, "currency": "eur", "customer": null, "customer_details": { "address": { "city": null, "country": "IE",

取引を全額差戻しても以前の一部差戻しには影響しません。全額差戻しを記録するときは、返金の重複を避けるために、同じ取引に対する以前の一部差戻しがすべて完了していることを確認してください。

売上を一部返金する

顧客に 返金し たら、mode=partial を指定して税の差戻し課税する取引を作成します。これにより、返金されたラインアイテムの金額を指定して一部返金を記録できます。売上ごとに最大 30 件の一部差戻しを作成できます。徴収した税額より多く差戻すと、エラーが返されます。

以下の例では、元の取引の最初のラインアイテムのみの返金が記録されます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/transactions/create_reversal \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=partial \ -d original_transaction=tax_1MEFAAI6rIcR421eB1YOzACZ \ -d reference=pi_123456789-refund_1 \ -d "line_items[0][original_line_item]"=tax_li_MyBXPByrSUwm6r \ -d "line_items[0][reference]"=L1 \ -d "line_items[0][amount]"=-4999 \ -d "line_items[0][amount_tax]"=-1150 \ -d "metadata[refund]"=
"{{REFUND_ID}}"
\ --data-urlencode "metadata[refund_reason]"="Refunded line 1 of pi_123456789 (customer was unhappy)" \ -d "expand[0]"=line_items

これにより、作成された一部差戻し取引が返されます。

{ "id": "tax_1MEFACI6rIcR421eHrjXCSmD", "object": "tax.transaction", "created": 1670863656, "currency": "eur", ... "line_items": { "object": "list", "data": [ {

差戻されるライン項目のそれぞれについて、差戻される amount と amount_tax を指定する必要があります。元の計算のライン項目が内税だった場合、amount は内税です。

amount と amount_tax は以下のように状況によって決定されます。

  • 取引のラインアイテムが常に 1 件のみの場合は、代わりに 全額差戻しを 使用します。
  • 常にラインアイテム全体を返金する場合は、マイナス記号を指定して元の取引ラインアイテムの amount と amount_tax を使用します。
  • ライン項目の一部を返金する場合は、返金額を計算する必要があります。たとえば、amount=5000 と amount_tax=500 の販売取引では、ライン項目の半分を返金した後で、amount=-2500 と amount_tax=-250 のライン項目で一部差戻しを作成します。

一部返金で課税するレポート

合計課税する額が小計に比例しなくなるような課税するを返金すると、課税する申告書の信頼性が低下する可能性があります。課税対象の対象額と課税対象外額が自動的に調整されること主張が認められたなく、課税するの差戻しの理由 (商品非課税、顧客非課税、リバースチャージなど) 主張が認められた反映されません。項目の課税するの一部を返金しないことをお勧めします。代わりに、取引を無効にし、正確な課税する計算のために適切な入力で新しい税額を作成します。

売上を定率で一部返金する

また、税額適用後に返金する定率を指定して、mode=partial を設定した差戻しを作成することもできます。金額は、それぞれに対する返金の残額に応じて、各ライン項目と配送料金に比例配分されます。

下記の例の取引には 2 つのラインアイテムがあります。1 つは 10 USD のアイテムで、もう 1 つは 20 USD のアイテムで、いずれも税率 10% で課税されています。取引の合計額は 33.00 USD です。定率の 16.50 USD の返金が記録されています。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/transactions/create_reversal \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=partial \ -d original_transaction=tax_1NVcKqBUZ691iUZ4xMZtcGYt \ -d reference=pi_234567890-refund_1 \ -d flat_amount=-1650 \ -d "metadata[refund]"=
"{{REFUND_ID}}"
\ --data-urlencode "metadata[refund_reason]"="Refunded $16.50 of pi_234567890 (customer was unhappy)" \ -d "expand[]"=line_items

これにより、作成された一部差戻し取引が返されます。

{ "id": "tax_1NVcQYBUZ691iUZ4SBPukGa6", "object": "tax.transaction", "created": 1689780994, "currency": "usd", ... "line_items": { "object": "list", "data": [ {

元の取引の各ライン項目と配送料に対して、返金額と税金が以下のように計算されます。

  1. まず、返金に利用できる取引の残額の合計を計算します。この取引には他に差戻しが記録されていないため、合計金額は 33.00 USD です。
  2. 次に、各アイテムに対する返金額の合計を計算します。この計算は返金に利用できる額と取引の残額合計の比率を基準にします。たとえば、10 USD のアイテムは、返金対象の残額合計が 11.00 USD であり、取引の残額合計の 33.33% に相当するため、返金される合計金額は -16.50 USD * 33.33% = -5.50 USD となります。
  3. 最後に、返金対象の合計金額が amount と amount_tax に分割されます。これについても、ラインアイテムでと返金対象の残額合計を比較して返金に利用できる税額に応じて比例的に計算されます。10 USD のアイテムを例にすると、税金 (1.00 USD) は返金対象の残額合計 (11.00 USD) の 9.09% に相当するので、amount_tax は -5.50 USD * 9.09% = -0.50 USD となります。

最初に記録されていた額ではなく、取引の返金対象の_残額_に応じて一定額が配分されます。たとえば、定額の 16.50 USD の返金を記録するのではなく、まず 10 USD の項目の合計額の部分差戻しを記録する場合を考えてみましょう。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/transactions/create_reversal \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=partial \ -d original_transaction=tax_1NVcKqBUZ691iUZ4xMZtcGYt \ -d reference=pi_234567890-refund_1 \ -d "line_items[0][original_line_item]"=tax_li_OICmRXkFuWr8Df \ -d "line_items[0][reference]"=partial_refund_l1 \ -d "line_items[0][amount]"=-1000 \ -d "line_items[0][amount_tax]"=-100 \ -d "metadata[refund]"=
"{{REFUND_ID}}"
\ --data-urlencode "metadata[refund_reason]"="Refunded line 1 of pi_234567890 (customer was unhappy)" \ -d "expand[0]"=line_items

この後に、16.50 USD の定率の金額の差戻しを記録します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/transactions/create_reversal \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=partial \ -d original_transaction=tax_1NVcKqBUZ691iUZ4xMZtcGYt \ -d reference=pi_234567890-refund_2 \ -d flat_amount=-1650 \ -d "metadata[refund]"=
"{{REFUND_ID}}"
\ --data-urlencode "metadata[refund_reason]"="Refunded $16.50 of pi_234567890 (customer was still unhappy)" \ -d "expand[]"=line_items

これで部分差戻し取引が返されます。

{ "id": "tax_1NVxFIBUZ691iUZ4saOIloxB", "object": "tax.transaction", "created": 1689861020, "currency": "usd", ... "line_items": { "object": "list", "data": [ {

取引で残っている金額の合計が 22.00 USD であり、10 USD のアイテムが全額返金されているため、16.50 USD の全体が 20 USD のアイテムに配分されます。次に、16.50 USD がステップ 3 のロジックを使用して、amount = -15.00 USD と amount_tax = -1.50 USD に配分されます。一方、取引の 10 USD のアイテムには 0 USD の返金が記録されます。

一部返金を取り消す

税金取引は変更できませんが、full reversal を作成することで一部返金をキャンセルできます。

この処理が必要になる状況を以下に示します。

  • 支払いの 返金に失敗 し、顧客に商品やサービスを提供していない場合
  • 誤った注文が返金されたか、誤った金額が返金された場合
  • 元の売上が全額返金され、一部返金が無効になった場合

以下の例の tax_1MEFACI6rIcR421eHrjXCSmD は一部返金を表す取引です。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/transactions/create_reversal \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=full \ -d original_transaction=tax_1MEFACI6rIcR421eHrjXCSmD \ -d reference=pi_123456789-refund_1-cancel \ -d "metadata[refund_reason]"="User called to cancel because they selected the wrong item" \ -d "expand[]"=line_items

これにより、作成された全額差戻し取引が返されます。

{ "id": "tax_1MEFADI6rIcR421e94fNTOCK", "object": "tax.transaction", "created": 1670863657, "currency": "eur", ... "line_items": { "object": "list", "data": [ {

テスト

本番環境と同じ応答構造である サンドボックス を使用して、本番環境へ移行する前に導入が正しく機能することを確認します。

警告

テスト環境では、計算が最新の税金結果を返すことを保証していません。税金計算は 1 日あたり 1,000 件に制限されています。上限を引き上げる必要がある場合は、Stripe サポート にお問い合わせください。テスト環境における自動テストとレート制限を回避するための戦略に関するガイダンスについては、自動テスト を参照してください。

税金取引を表示する

ダッシュボードの税取引ページで、アカウントのすべての税取引を確認できます。個々の取引をクリックすると、計算された税金の詳細な内訳が、管轄区域別および取引に含まれる個々の商品別に表示されます。

メモ

税金取引のページには 取引 のみが表示され、_計算_は表示されません。計算が表示されるはずなのにこのページにない場合は、計算によって正常に 税金取引 が作成されていることを確認してください。

オプション導入の例

決済手段の詳細を収集して PaymentIntent を作成 する前に、顧客の税金を計算できます。たとえば、顧客が郵便番号を指定したときにショッピングカートの合計を表示できます。

以下の例では、クライアント側のフォームから顧客の住所が送信される宛先の /preview-cart エンドポイントをサーバー側で定義しています。サーバーでは、カートのラインアイテムと顧客の住所を組み合わせて税金が計算されます。

server.js
Node.js
Java
Ruby
PHP
Python
Go
.NET
No results
// Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')(
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
); const express = require('express'); const app = express(); // Parse the request body as JSON. app.use(express.json()); app.post('/preview-cart', async (req, res) => {

決済を受ける準備が整ったら、税金の計算結果から PaymentIntent を作成します。PaymentIntent の metadata または独自のデータベースに税金計算 ID を保存することで、顧客が決済を完了したときに税金取引を作成できます。

以下の例は、税金を計算し、PaymentIntent を作成 (または更新) し、クライアントに結果を返すサーバーエンドポイントを示しています。その後、顧客に税金を表示できます。client_secret を使用して支払いを受け ます。

server.js
Node.js
Java
Ruby
PHP
Python
Go
.NET
No results
// Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys const stripe = require('stripe')(
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
); const express = require('express'); const app = express(); // Parse the request body as JSON. app.use(express.json()); app.post('/calculate-cart', async (req, res) => {

導入で支払い Element を使用している場合は、PaymentIntent の更新後に サーバーから更新 を取得します。

オプション配送料金の税金を計算する
サーバー側

配送料金の税金を計算するには、shipping_cost パラメーターを使用します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][line1]"="920 5th Ave" \ -d "customer_details[address][city]"=Seattle \ -d "customer_details[address][state]"=WA \ -d "customer_details[address][postal_code]"=98104 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=shipping \ -d "shipping_cost[amount]"=500 \ -d "shipping_cost[tax_code]"=txcd_92010001

既存の ShippingRate の ID を渡して、その amount、課税する tax_code、課税する tax_behavior を使用します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][line1]"="920 5th Ave" \ -d "customer_details[address][city]"=Seattle \ -d "customer_details[address][state]"=WA \ -d "customer_details[address][postal_code]"=98104 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=shipping \ -d "shipping_cost[shipping_rate]"=shr_1Mlh8YI6rIcR421eUr9SJzAD

オプションIP アドレスを使用して税金を見積もる
サーバー側

顧客の IP アドレス を指定すると、Stripe はその地理的な位置を特定し、その場所を顧客の所在地として使用します。これにより、顧客が郵便番号を入力する前に税金の見積もりを表示できます。

注意

IP アドレスの場所は顧客の実際の場所から離れている可能性があるため、徴収する 最終的な 税額を決定するのに IP アドレスを使用することはお勧めしません。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[ip_address]"="127.0.0.1"

オプション顧客の Tax ID を収集する
サーバー側

国外へのサービスの提供など、顧客に リバースチャージ に基づく税金の必要が生じる場合があります。税金を回収せず、代わりに「差戻し請求で支払われる税金」という文言を指定して請求書を発行する必要があります。これにより、購入に関連する納税が顧客の責任であることを顧客に伝えることができます。

顧客の納税者番号を指定して、リバースチャージが適用される状況を自動的に判別するには、以下のようにします。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][country]"=IE \ -d "customer_details[address_source]"=billing \ -d "customer_details[tax_ids][0][type]"=eu_vat \ -d "customer_details[tax_ids][0][value]"=DE123456789

無効な形式の納税者番号を指定すると、計算で tax_id_invalid エラーコードが返されます。

{ "error": { "code": "tax_id_invalid", "doc_url": "https://docs.stripe.com/error-codes#tax-id-invalid", "message": "Invalid value for eu_vat.", "param": "customer_details[tax_ids][0][value]", "type": "invalid_request_error" } }

Tax API では、納税者番号を政府のデータベースで自動的に検証しません。税金の計算前に納税者番号を検証するには、customer tax ID validation を使用する必要があります。

オプション内税価格
サーバー側

デフォルトでは、指定したライン項目と配送料の金額に加算して税金が計算されます。価格に含まれる税金を計算するには、line item または shipping cost の tax_behavior を inclusive に設定します。

以下の例では、顧客は常に 100 EUR を決済します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=eur \ -d "line_items[0][amount]"=10000 \ -d "line_items[0][reference]"=L1 \ -d "line_items[0][tax_behavior]"=inclusive \ -d "line_items[0][tax_code]"=txcd_10103000 \ -d "customer_details[address][country]"=IE \ -d "customer_details[address_source]"=billing

レスポンスでは税込み価格が返されます。

{ ... "amount_total": 10000, ... "tax_amount_exclusive": 0, "tax_amount_inclusive": 1870, "tax_breakdown": [ { "amount": 1870, "inclusive": true, "tax_rate_details": { "country": "IE", "percentage_decimal": "23.0", "state": null, "tax_type": "vat" }, "taxability_reason": "standard_rated", "taxable_amount": 8130 } ], ... }

オプション既存の Product オブジェクトを使用する
サーバー側

各ライン項目に Product オブジェクトを指定できます。商品に tax_code がある場合、まだ入力されていない場合はライン項目の tax_code として使用されます。tax_behavior や price など、他の商品の値は税金計算時に使用されません。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "line_items[0][product]"=
"{{PRODUCT_ID}}"
\ -d "customer_details[address][country]"=IE \ -d "customer_details[address_source]"=billing

オプション既存の Customer オブジェクトを使用する
サーバー側

Customer オブジェクトを指定すると、Stripe は、顧客の住所と納税者番号を自動的にコピーして計算に使用します。

  • 顧客の shipping が存在する場合は、customer_details.address にコピーされます。
  • そうでない場合は、顧客の address が存在していれば、それが customer_details.address にコピーされます。
  • そうでない場合は、顧客の tax.ip_address が存在していれば、それが customer_details.ip_address にコピーされます。
  • そうでない場合は、顧客の tax.tax_exempt が存在していれば、それが customer_details.taxability_override にコピーされます。

顧客の 納税者番号 が customer_details.tax_ids にコピーされます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d customer=
"{{CUSTOMER_ID}}"

オプション顧客の課税対象を上書きする
サーバー側

顧客が非課税である場合など、特定のケースでは税金を徴収する必要はありません。taxability_override パラメーターを使用して、Stripe Tax に税金免除を指定できます。

顧客の課税対象の上書きを計算に指定するには、以下のようにします。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][line1]"="920 5th Ave" \ -d "customer_details[address][city]"=Seattle \ -d "customer_details[address][state]"=WA \ -d "customer_details[address][postal_code]"=98104 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=billing \ -d "customer_details[taxability_override]"=customer_exempt

リバースチャージ

欧州連合などの一部の地域は、顧客がビジネスとして購入する場合に課税対象となる「リバースチャージ」スキームを実装しています。Stripe Tax が正確な税金処理を適用できるように、顧客から Tax IDs を収集することをお勧めします。顧客の納税者番号を収集できない場合や、リバースチャージスキームの適用を別途決定している場合があります。そのような場合は、taxability_override を使用して、Stripe Tax でリバースチャージスキームを強制的に適用できます。

顧客の課税対象の上書きを計算に指定するには、以下のようにします。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=eur \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][country]"=IE \ -d "customer_details[address_source]"=billing \ -d "customer_details[taxability_override]"=reverse_charge

オプション配送元住所を指定する
サーバー側

主たるビジネス拠点以外の場所から商品を配送する場合、配送元住所を登録して税金計算に使用できます。

発送元の所在地を指定するには、ship_from_details パラメータを使用します。この例では、ユーザーはフロリダ州に拠点を置き、顧客はイリノイ州スプリングフィールドにおり、商品はイリノイ州ネイパービルから発送されています。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "line_items[0][tax_behavior]"=exclusive \ -d "line_items[0][tax_code]"=txcd_99999999 \ -d "customer_details[address][city]"=Springfield \ -d "customer_details[address][state]"=IL \ -d "customer_details[address][postal_code]"=62704 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=billing \ -d "ship_from_details[address][city]"=Naperville \ -d "ship_from_details[address][state]"=IL \ -d "ship_from_details[address][postal_code]"=60540 \ -d "ship_from_details[address][country]"=US

このレスポンスでは、配送先 (イリノイ州スプリングフィールド) または売り手のビジネス拠点ではなく、注文の配送元 (イリノイ州ネイパービル) に基づいて計算された税金が返されます。

{ ... "amount_total": 1078, ... "tax_amount_exclusive": 78, ... "tax_breakdown": [ { "amount": 78, "inclusive": true, "tax_rate_details": { "country": "US", "percentage_decimal": "7.75", "state": "IL", "tax_type": "sales_tax" }, "taxability_reason": "standard_rated", "taxable_amount": 1000 } ], ... }

これらのシナリオにおける税金の計算方法については、Stripe Tax のドキュメント をご覧ください。

オプション小売業配送手数料の計算
サーバー側

Stripe Tax は、ミネソタ州とコロラド州の小売業配送手数料の計算をサポートしています。

サポートされている州で state_retail_delivery_fee タイプの税務登録を追加すると、小売業の配送手数料が税金計算で計算されます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/registrations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d country=US \ -d "country_options[us][state]"=CO \ -d "country_options[us][type]"=state_retail_delivery_fee \ -d active_from=now

小売業の配送手数料を計算するには、衣料品と履物を表す txcd_30011000 などの 物品商品税コード を使用して税金計算 API を呼び出します。

すべての物品が小売業の配送手数料の計算をトリガーするわけではありません。税金が適用されるタイミングについては、州のドキュメントをご覧ください。

  • 小売配送手数料 - コロラド州
  • 小売配送手数料 - ミネソタ州
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "line_items[0][tax_behavior]"=exclusive \ -d "line_items[0][tax_code]"=txcd_30011000 \ -d "shipping_cost[amount]"=400 \ -d "customer_details[address][line1]"="1437 Bannock St Room 451" \ -d "customer_details[address][city]"=Springfield \ -d "customer_details[address][state]"=CO \ -d "customer_details[address][postal_code]"=80202 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=shipping

レスポンスは、コロラド州の小売業配送手数料で計算された税金を返します。これは tax_breakdown オブジェクトの追加エントリーであり、tax_breakdown.tax_rate_details.rate_type は flat_amount に設定されています。

{ ... "amount_total": 2165, ... "tax_amount_exclusive": 165, ... "tax_breakdown": [ { "amount": 88, "inclusive": false, "tax_rate_details": { "percentage_decimal": "8.81", "rate_type": "percentage", "tax_type": "sales_tax", ... }, "taxability_reason": "standard_rated", "taxable_amount": 1000 }, ... { "amount": 29, "inclusive": false, "tax_rate_details": { "flat_amount": { "amount": 29, "currency": "usd" }, "percentage_decimal": "0.0", "rate_type": "flat_amount", "tax_type": "retail_delivery_fee", ... }, "taxability_reason": "standard_rated", "taxable_amount": 1000 } ], ... }

オプションライン項目の詳細な税金の内訳
サーバー側

最上位の tax_breakdown は常に返され、Checkout 時または領収書に税金のリストを表示するのに適したシンプルな内訳が表示されます。

taxability_reason を使用して、導入の構築時に税金が適用されない理由を把握できます。たとえば、not_collecting では、税金を徴収する国または州で税金が徴収されません。アカウント設定に tax registrations を追加すると、Stripe に税金を徴収する場所が示されます。ワシントン州の登録を追加した場合、結果に表示される課税対象の理由は standard_rated になり、これは商品が標準税率で課税されることを示します。

ライン項目の tax_breakdown 属性を展開すると、地方税や各税金の理由を説明する属性など、詳細な内訳が表示されます。

  • 課税する rate_details の tax_type フィールドは、課税する税金の種類を示す上位レベルであり、レポートや取引のエクスポートで返されるタイプとは必ずしも一致しない場合があります。たとえば、アメリカ売上税とアメリカ使用税を区別しません。
  • Checkout フローの tax_rate_details の display_name フィールドを使用して、すべての税金を表示します。税金は、顧客の場所と商品の税金情報に基づいてローカライズされます。例えば、txcd_10103001: Software as a Service (SaaS) for Business Use のように、顧客がドイツに所在して、商品が仕向地で課税されるため、ドイツに VAT が適用される場合、Umsatzsteuer (USt)と表示されます。これは、VAT のドイツ語表記です。txcd_20030000: General - Services のように、本社の住所がフランスに設定され、商品が起点で課税されるため、フランスに VAT が適用される場合、Taxe sur la valeur ajoutée (TVA) と表示されます。これは、VAT のフランス語表記です。
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][line1]"="920 5th Ave" \ -d "customer_details[address][city]"=Seattle \ -d "customer_details[address][state]"=WA \ -d "customer_details[address][postal_code]"=98104 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=shipping \ -d "expand[0]"="line_items.data.tax_breakdown"
{ ... "tax_breakdown": [ { "amount": 103, "inclusive": false, "tax_rate_details": { "country": "US", "percentage_decimal": "10.25", "state": "WA", "tax_type": "sales_tax" }, "taxability_reason": "standard_rated", "taxable_amount": 1000 } ],

オプション一般的なエラーのトラブルシューティング
サーバー側

税務インテグレーションのエラーをトラブルシューティングするには、以下のステップに従います。

無効な課税するコードのエラーを解決する

Invalid tax code エラーが表示された場合は、Product tax codes を参照して、利用可能な税コードのリストを確認してください。次に、以下の手順に従って問題を解決します。

  1. 税コードを確認する: 利用可能な税コードのリスト から、有効な税コードを使用していることを確認してください。よくある間違いは次のとおりです。

    • 課税するコードとして空の文字列または null を使用する
    • 課税するコードのスペルミス
    • 存在しない課税するコードを使用する
  2. コードを更新: TaxCalculation を作成する際には、必ず有効な課税コードを渡してください。以下に例を示します。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/tax/calculations \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "line_items[0][tax_code]"=txcd_10000000 \ -d "customer_details[address][line1]"="354 Oyster Point Blvd" \ -d "customer_details[address][city]"="South San Francisco" \ -d "customer_details[address][state]"=CA \ -d "customer_details[address][postal_code]"=94080 \ -d "customer_details[address][country]"=US \ -d "customer_details[address_source]"=shipping
  3. デフォルトの税コードを使用: Stripe Tax は、商品または税金計算リクエストに特定の税コードが指定されていない場合、計算にデフォルトの税コードを使用します。税金設定でデフォルト値を表示および更新できます。

    API を使用して、デフォルトの税コードを更新します。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/tax/settings \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d "defaults[tax_code]"=txcd_10000000
  4. 商品カタログのレビュー: Stripe 商品カタログの商品に関連付けられた税コードを使用する場合は、税コードが商品に正しく割り当てられていることを確認してください。

  5. データの不整合の確認: 税コードがデータベースまたはフロントエンドから、Stripe への API コールを行うサーバー側のコードに正しく渡されることを確認します。

課税する税額を正確に計算するには、商品またはサービスに適用される最も具体的な税コードを使用します。課税するコードが不明な場合は、課税する税コードのドキュメント をご覧ください。

問題が続く場合は、課税する API ドキュメント をレビューしてください。

顧客の Tax ID を収集する

請求書 に顧客の納税者番号と法務ビジネス名を表示することは、一般的な要件です。納税者番号 Element を使用して、この情報を回収することができます。この機能は公開プレビューです。

免責条項

Payment Intents API は事業の Tax ID を収集するように設計されています。これは、特定の管轄区域では個人の Tax ID に似た形式になる場合があります。この機能を使用する際には、このフィールドに指定された事業の Tax ID のみを提供する必要があります。

ベータを有効にする

Payment Intents API を使用する納税者番号 Element では、elements_tax_id_1 ベータを有効にする必要があります。Stripe.js の初期化にベータを追加します。

const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { betas: ['elements_tax_id_1'], });

CustomerSession を作成する (オプション)

顧客 に納税者番号を保存し、リピート顧客のために再表示する場合は、CustomerSession を作成する必要があります。CustomerSession を使用すると、シークレット API キーをクライアントに公開することなく、顧客データに安全かつ一時的にアクセスできます。

CustomerSession を使用しなくても、納税者番号 Element は機能しますが、保存と再表示の機能はありません。getValue を使用して、納税者番号値を Element から読み取り、手動で処理できます。

まず、顧客を作成または取得します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ --data-urlencode email="customer@example.com" \ -d name="Jenny Rosen"

納税者番号 Element コンポーネントを有効にして CustomerSession を作成します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/customer_sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
"{{CUSTOMER_ID}}"
\ -d "components[tax_id_element][enabled]"=true \ -d "components[tax_id_element][features][tax_id_redisplay]"=enabled \ -d "components[tax_id_element][features][tax_id_save]"=enabled

CustomerSession は client_secret を返します。これをクライアント側に渡します。

PaymentIntent または SetupIntent を作成する

サーバーで PaymentIntent または SetupIntent を作成します。CustomerSession を使用する場合は、customer パラメーターを含めて納税者番号の保存と再表示機能を有効にします。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d customer=
"{{CUSTOMER_ID}}"

メモ

PaymentIntent または SetupIntent の作成時に納税者番号固有のパラメーターを含める必要はありません。納税者番号 Element は納税者番号の回収を自動的に処理し、適切な権限を持つ CustomerSession が存在する場合に顧客に保存します。

Elements を初期化

PaymentIntent または SetupIntent の clientSecret を使用して Elements インスタンスを作成します。

顧客に納税者番号を保存し、リピート顧客に再表示できるようにするには、customerSessionClientSecret を含めます。

const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { betas: ['elements_tax_id_1'], }); // Fetch the clientSecret from your server const {clientSecret} = await fetch('/create-payment-intent', { method: 'POST', headers: { 'Content-Type': 'application/json' }, }).then((res) => res.json()); // Fetch the customerSessionClientSecret from your server const {customerSessionClientSecret} = await fetch('/create-customer-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, }).then((res) => res.json()); const elements = stripe.elements({ clientSecret, customerSessionClientSecret, appearance: { /* ... */ } });

納税者番号 Element の作成とマウント

納税者番号 Element のインスタンスを作成し、ページにマウントします。

<form id="payment-form"> <div id="tax-id-element"> <!--Stripe.js injects the Tax ID Element--> </div> <button type="submit">Pay</button> </form>
const taxIdElement = elements.create('taxId', { visibility: 'auto', // 'auto' | 'always' | 'never' }); taxIdElement.mount('#tax-id-element');

納税者番号 Element は visibility、fields、validation などのオプションを使用してカスタマイズできます。詳細については、納税者番号 Element の作成を参照してください。

Address Element とともに使用する (オプション)

納税者番号 Element を Address Element とともに使用すると、Stripe は顧客の住所に基づいて納税者番号の種類と Element の表示範囲を自動的に判別します。

支払いを完了する

顧客が支払いフォームを送信したら、confirmPayment または confirmSetup を呼び出します。Stripe は納税者番号情報を自動的に含め、支払いが成功すると顧客に保存します。

const form = document.getElementById('payment-form'); form.addEventListener('submit', async (event) => { event.preventDefault(); const {error} = await stripe.confirmPayment({ elements, confirmParams: { return_url: 'https://example.com/order/complete', }, }); if (error) { // Handle error console.error(error.message); } // Customer gets redirected to return_url if successful });

また、クライアント側で getValue を使用して、支払いを送信する前に納税者番号の値を読み取ることもできます。

実装内容をテストする

テスト環境では、サポートされている納税者番号タイプの正しい形式で英数字の文字列を入力できます (eu_vat の場合は DE123456789 など)。納税者番号のサンプルの一覧については、Stripe の顧客の納税者番号に関するガイドをご覧ください。また、テスト用納税者番号を使用して、さまざまな確認ステータスのフローをテストすることもできます。

納税者番号の検証

決済または設定の確認時に、Stripe は指定された納税者番号の形式が正しいことを確認しますが、有効かどうかは確認しません。顧客情報の有効性を確認する責任はプラットフォームにあります。これを支援するため、Stripe は欧州付加価値税 (EU VAT) およびイギリス付加価値税 (GB VAT) の番号を政府のデータベースと照合して非同期検証を自動的に実行します。Stripe が実施する検証と、これらのチェックのステータスの使用方法の詳細をご確認ください。

サポートされる納税番号の種類

納税者番号 Element は、次の国と地域での納税者番号回収をサポートしています。

国列挙値説明例
税金計算への影響
アイスランドis_vatIcelandic VAT123456はい
アイルランドeu_vatEuropean VAT numberIE1234567ABはい
アゼルバイジャンaz_tinAzerbaijan Tax Identification Number0123456789はい
アラブ首長国連邦ae_trnUnited Arab Emirates TRN123456789012345はい
アルバaw_tinAruba Tax Identification Number12345678はい
アルバニアal_tinAlbania Tax Identification NumberJ12345678Nはい
アルメニアam_tinArmenia Tax Identification Number02538904はい
アンゴラao_tinAngola Tax Identification Number5123456789いいえ
イギリスeu_vatNorthern Ireland VAT numberXI123456789はい
イギリスgb_vatUnited Kingdom VAT numberGB123456789はい
イタリアeu_vatEuropean VAT numberIT12345678912はい
インドin_gstIndian GST number12ABCDE3456FGZHはい
ウガンダug_tinUganda Tax Identification Number1014751879はい
ウクライナua_vatUkrainian VAT123456789はい
ウズベキスタンuz_tinUzbekistan TIN Number123456789いいえ
ウズベキスタンuz_vatUzbekistan VAT Number123456789012はい
ウルグアイuy_rucUruguayan RUC number123456789012はい
エクアドルec_rucEcuadorian RUC number1234567890001いいえ
エジプトeg_tinEgyptian Tax Identification Number123456789はい
エストニアeu_vatEuropean VAT numberEE123456789はい
エチオピアet_tinEthiopia Tax Identification Number1234567890はい
オーストラリアau_abnAustralian Business Number (AU ABN)12345678912はい
オーストリアeu_vatEuropean VAT numberATU12345678はい
オマーンom_vatOmani VAT NumberOM1234567890はい
オランダeu_vatEuropean VAT numberNL123456789B12はい
カーボベルデcv_nifCape Verde Tax Identification Number (Número de Identificação Fiscal)213456789いいえ
カザフスタンkz_binKazakhstani Business Identification Number123456789012はい
カナダca_bnCanadian BN123456789いいえ
カナダca_gst_hstCanadian GST/HST number123456789RT0002はい
カナダca_pst_bcCanadian PST number (British Columbia)PST-1234-5678いいえ
カナダca_pst_mbCanadian PST number (Manitoba)123456-7いいえ
カナダca_pst_skCanadian PST number (Saskatchewan)1234567いいえ
カナダca_qstCanadian QST number (Québec)1234567890TQ1234はい
カメルーンcm_niuCameroon Tax Identification Number (Numéro d'Identifiant fiscal Unique)M123456789000Lいいえ
カンボジアkh_tinCambodia Tax Identification Number1001-123456789はい
ギニアgn_nifGuinea Tax Identification Number (Número de Identificação Fiscal)123456789はい
キプロスeu_vatEuropean VAT numberCY12345678Zはい
ギリシャeu_vatEuropean VAT numberEL123456789はい
キルギスkg_tinKyrgyzstan Tax Identification Number12345678901234いいえ
クロアチアeu_vatEuropean VAT numberHR12345678912はい
ケニアke_pinKenya Revenue Authority Personal Identification NumberP000111111Aいいえ
コスタリカcr_tinCosta Rican tax ID1-234-567890いいえ
コンゴ民主共和国(キンシャサ)cd_nifCongo (DR) Tax Identification Number (Número de Identificação Fiscal)A0123456Mいいえ
サウジアラビアsa_vatSaudi Arabia VAT123456789012345はい
ザンビアzm_tinZambia Tax Identification Number1004751879いいえ
ジョージアge_vatGeorgian VAT123456789はい
シンガポールsg_gstSingaporean GSTM12345678Xはい
ジンバブエzw_tinZimbabwe Tax Identification Number1234567890いいえ
スイスch_vatSwitzerland VAT numberCHE-123.456.789 MWSTはい
スウェーデンeu_vatEuropean VAT numberSE123456789123はい
スペインes_cifSpanish NIF number (previously Spanish CIF number)A12345678いいえ
スペインeu_vatEuropean VAT numberESA1234567Zはい
スリナムsr_finSuriname FIN Number1234567890はい
スロバキアeu_vatEuropean VAT numberSK1234567891はい
スロベニアeu_vatEuropean VAT numberSI12345678はい
セネガルsn_nineaSenegal NINEA Number12345672A2いいえ
セルビアrs_pibSerbian PIB number123456789いいえ
タイth_vatThai VAT1234567891234はい
タジキスタンtj_tinTajikistan Tax Identification Number123456789はい
タンザニアtz_vatTanzania VAT Number12345678Aはい
チェコ共和国eu_vatEuropean VAT numberCZ1234567890はい
チリcl_tinChilean TIN12.345.678-Kはい
デンマークeu_vatEuropean VAT numberDK12345678はい
ドイツeu_vatEuropean VAT numberDE123456789はい
トルコtr_tinTurkish Tax Identification Number0123456789はい
ナイジェリアng_tinNigerian Tax Identification Number12345678-0001いいえ
ニュージーランドnz_gstNew Zealand GST number123456789はい
ネパールnp_panNepal PAN Number123456789はい
ノルウェーno_vatNorwegian VAT number123456789MVAはい
バーレーンbh_vatBahraini VAT Number123456789012345はい
バハマbs_tinBahamas Tax Identification Number123.456.789いいえ
バルバドスbb_tinBarbados Tax Identification Number1123456789012いいえ
ハンガリーeu_vatEuropean VAT numberHU12345678はい
バングラデシュbd_binBangladesh Business Identification Number123456789-0123はい
フィリピンph_tinPhilippines Tax Identification Number123456789012はい
フィンランドeu_vatEuropean VAT numberFI12345678はい
フランスeu_vatEuropean VAT numberFRAB123456789はい
ブルガリアeu_vatEuropean VAT numberBG0123456789はい
ブルキナファソbf_ifuBurkina Faso Tax Identification Number (Numéro d'Identifiant Fiscal Unique)12345678Aはい
ベナンbj_ifuBenin Tax Identification Number (Identifiant Fiscal Unique)1234567890123はい
ベラルーシby_tinBelarus TIN Number123456789はい
ペルーpe_rucPeruvian RUC number12345678901はい
ベルギーeu_vatEuropean VAT numberBE0123456789はい
ポーランドeu_vatEuropean VAT numberPL1234567890はい
ボスニア・ヘルツェゴビナba_tinBosnia and Herzegovina Tax Identification Number123456789012はい
ポルトガルeu_vatEuropean VAT numberPT123456789はい
マルタeu_vatEuropean VAT numberMT12345678はい
メキシコmx_rfcMexican RFC numberABC010203AB9いいえ
モーリタニアmr_nifMauritania Tax Identification Number (Número de Identificação Fiscal)12345678いいえ
モルドバmd_vatMoldova VAT Number1234567はい
モロッコma_vatMorocco VAT Number12345678はい
モンテネグロme_pibMontenegro PIB Number12345678いいえ
ラオスla_tinLaos Tax Identification Number123456789-000いいえ
ラトビアeu_vatEuropean VAT numberLV12345678912はい
リトアニアeu_vatEuropean VAT numberLT123456789123はい
リヒテンシュタインli_vatLiechtensteinian VAT number12345はい
ルーマニアeu_vatEuropean VAT numberRO1234567891はい
ルクセンブルグeu_vatEuropean VAT numberLU12345678はい
ロシアru_innRussian INN1234567891はい
ロシアru_kppRussian KPP123456789はい
北マケドニアmk_vatNorth Macedonia VAT NumberMK1234567890123はい
南アフリカza_vatSouth African VAT number4123456789はい
台湾tw_vatTaiwanese VAT12345678はい
韓国kr_brnKorean BRN123-45-67890はい

計算に ID を使用する (オプション)

国外へのサービスの提供など、顧客にリバースチャージに基づく税金の必要が生じる場合があります。税金を回収せず、代わりに「リバースチャージで支払われる税金」という文言を指定して請求書を発行する必要があります。

顧客の納税者番号をStripe Tax に提供すると、リバースチャージが適用される状況が自動的に判別されます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d "customer_details[address][country]"=IE \ -d "customer_details[address_source]"=billing \ -d "customer_details[tax_ids][0][type]"=eu_vat \ -d "customer_details[tax_ids][0][value]"=DE123456789

無効な形式の納税者番号を指定すると、計算で tax_id_invalid エラーコードが返されます。

参照情報

  • Connect で Stripe Tax を使用する
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM は llms.txt を参照してください。
  • Powered by Markdoc