# イベントの場所に基づいてチケット販売に課税する Stripe Tax を導入して、入場料とチケットの税金を計算します。 イベント (コンサート、会議、美術館訪問、スポーツイベントなど) の入場料を販売する場合、VAT と売上税は、顧客の居住地ではなく、イベントが行われる場所に基づいて決まります。アメリカでは、州税と地方売上税に加えて、特定の地方税 (接待税や遊興税など) が適用される場合があります。 このガイドを使用して、入場料とチケットの税金を自動計算します。 ## 実装を選択する Stripe で決済を受け付ける方法に最も適した導入パスを選択します。*Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients) を使用するプラットフォームまたはマーケットプレイスの場合は、チケットの税設定については、[プラットフォームとマーケットプレイス](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#configure-tax)のセクションをご覧ください。 | | [Payment Intent の導入](https://docs.stripe.com/tax/payment-intent.md) | [Checkout Session 連携](https://docs.stripe.com/tax/checkout.md) | [Custom Tax Calculation API 連携](https://docs.stripe.com/tax/payment-intent/custom.md) | | ----- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | 最適 | Stripe が管理する税取引による決済フローのフルコントロール | 最小限のセットアップでローコードの Stripe ホスト型決済 | サードパーティの決済代行業者または完全にカスタマイズされた決済フロー | | メリット | - API コールの削減 - 返金処理の自動化 - テストに特に役立つダッシュボードサポート - 領収書のサポート | - API コールの削減 - ローコードの決済連携機能、Stripe ホスト型 - サブスクリプションに対応 - テストに特に役立つダッシュボードサポート | - 決済フローを完全に制御 - PayPal などの他の決済代行業者をサポート | | デメリット | - プレビュー機能では SDK の更新が必要になる場合がある - PayPal など、その他の決済代行業者のサポートが限定的 | - プレビュー機能では SDK の更新が必要になる場合がある - UI と UX に対する制御が相対的に低い - 柔軟性に欠け、特定のユースケースに合わない場合がある | - 返金にはカスタム実装が必要 - 限定的なダッシュボードのサポート - テストには API が必要 - 領収書の自動生成なし | ## Stripe SDK を更新する イベントの税金計算は公開プレビューであり、[公開プレビュー API バージョン ](https://docs.stripe.com/sdks/versioning.md#public-preview-release-channel)(`2026-03-25.preview` 以降)が必要です。SDK リリースノートを確認して、イベントの税金に対応するバージョンを確認してください。 ## Stripe Tax の設定 チケット販売に [ Stripe Tax を設定](https://docs.stripe.com/tax/set-up.md)する場合、デフォルトの商品税コードを`txcd_20030000`、`General - Services`に設定してください。[イベント税コード](https://docs.stripe.com/tax/tax-codes.md?type=events#all-tax-codes) をデフォルトの商品税コードに設定することはできません。 ダッシュボードまたは Tax [Registrations API](https://docs.stripe.com/tax/registrations-api.md) を使用して、テスト用の登録を追加します。 #### ダッシュボード 1. ダッシュボードの[納税地](https://dashboard.stripe.com/tax/locations)で、 **登録を追加** をクリックします。 1. イベントの開催地に該当する登録を追加します。以下に例を示します。 - アメリカ - コロラド、売上税 - アメリカ - コロラド州、ボルダー入場税 #### Registrations API サポートされている[すべての登録タイプと管轄区域](https://docs.stripe.com/tax/registering.md?registrationTypeRegion=united-states#registration-types)のリストを参照してください。 ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=CO" \ -d "country_options[us][type]=admissions_tax" \ -d "country_options[us][admissions_tax][jurisdiction]=07850" \ -d active_from=now ``` *サンドボックス* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)環境では、Stripe Tax の計算に手数料は発生しません。税務登録を追加した後、本番環境で税金を計算すると手数料が発生します。 チケット販売の税金計算は、顧客の請求先住所や配送先住所ではなく、公演場所に基づいているため、一般的な税金計算とは異なります。 ## 公演場所を作成する [課税場所](https://docs.stripe.com/api/tax/location/create.md?lang=curl&api-version=preview)を作成し、タイプを `performance` に設定して、イベント会場の住所を指定します。 販売タイプが`All Sales`である[サポート対象国](https://docs.stripe.com/tax/supported-countries.md#supported-countries) の [TaxCalculation](https://docs.stripe.com/api/tax/calculations.md) の対象となる住所であれば、すべて使用できます。 国ごとに、店舗に必要な[住所の形式](https://docs.stripe.com/tax/customer-locations.md#supported-formats)は異なります。 ```curl curl https://api.stripe.com/v1/tax/locations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d type=performance \ --data-urlencode "address[line1]=Folsom and, Pearl St" \ -d "address[city]=Boulder" \ -d "address[state]=CO" \ -d "address[postal_code]=80302" \ -d "address[country]=US" \ -d "description=Greenleaf Park" ``` 応答では、公演場所の一意の識別子として `id` が返されます。この値を保存して、この場所での売上に対する[税金を計算](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#apply-tax-locations)する場合の取引で使用します。 ```json { "id": "taxloc_yB7b4tVHRb", // ... other fields omitted } ``` この例のデータベースエントリは次のとおりです。 | **id** | **venue\_name** | **capacity** | **seatplan** | **stripe\_location\_id** | | -------------------- | --------------- | ------------ | ------------------------------------ | ------------------------ | | `` | グリーンリーフ・パーク | 500 | https://example.com/seating-plan.png | `taxloc_yB7b4tVHRb` | 表: your_business.venues ### 所在地住所の検証エラー 納税地の住所に問題がある場合、Tax Location API はエラーを返します。 ``` { "error": { "message": "MESSAGE", "param": "address", "request_log_url": "https://dashboard.stripe.com/test/logs/req_eSIK4gvAqUmW26?t=1747141000", "type": "invalid_request_error" } } ``` - `param` プロパティは、可能な限り具体的な住所属性を特定します。 - `message` プロパティは、エラーの具体的な理由を次のいずれか 1 つ指定します。 #### 住所が無効です `The address is not supported by Stripe Tax for a tax location. Please use a valid address.` 住所を確認できませんでした。住所の要件については、[サポートされている住所の形式](https://docs.stripe.com/tax/customer-locations.md#supported-formats)をご覧ください。 #### 未対応国または除外対象地域 `The address is not supported by Stripe Tax for a tax location. Please use a location that is supported by Stripe Tax.` この国は [サポート](https://docs.stripe.com/tax/supported-countries.md) 対象外、または住所が [除外対象地域](https://docs.stripe.com/tax/zero-tax.md#excluded-territories) にある。 ## 商品を作成する 決済セッションで使用するイベント税コードと公演場所を指定して製品を作成します。 #### ダッシュボード \**[商品カタログ](https://dashboard.stripe.com/products?create=product)\**でイベント税コードと開催地を指定して商品を作成することもできます。 #### Product API 商品を作成する際に、税金の詳細としてイベント税コードと開催地を渡します。 ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d name=Ticket \ -d "tax_details[tax_code]=txcd_50010001" \ -d "tax_details[performance_location]=taxloc_yB7b4tVHRb" ``` ### エラー イベント税コードと開催地を指定して商品を作成すると、次のエラーが発生する場合があります。 | エラー | 説明 | 提案 | | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `Unknown tax location being passed. Please use a valid tax location.` | パフォーマンスの場所 ID は、Stripe アカウントがアクセスできるパフォーマンスの場所に属していません。連結アカウントとプラットフォームアカウントごとにパフォーマンスの場所を個別に作成する必要があります。 | Connect プラットフォームとして連結アカウントに代わって API コールを行う場合は、プラットフォーム側ではなく連結アカウントにおいて開催地を作成してください。 | | `Tax code txcd_50010001 requires a tax location to be passed of the type`performance`.` | リクエストに、指定された商品税コードで必要とされる[公演場所](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#tax-location-api-usage)パラメーターがありません。 | 商品税コードを変更するか、開催地を含めてください。 | | `税コード txcd_99999999 はタイプ`performance_.` の納税地に対応していません。 | リクエストに開催地が含まれていましたが、渡された商品税コードは開催地に対応していません。 | 商品税コードを変更するか、開催地を削除してください。 | ## 決済セッションを作成する [Checkout セッション](https://docs.stripe.com/api/checkout/sessions/create.md)を作成するときは、イベント税コードと開催地を指定して作成した商品を使用します。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "automatic_tax[enabled]=true" \ -d "line_items[0][quantity]=1" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][unit_amount]=8500" \ -d "line_items[0][price_data][product]={{PRODUCT_ID}}" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` ## Optional: イベントチケットと一緒にグッズを販売できます。 イベントチケットと実物商品の両方を同じ取引に含めることができます。各項目への課税方法は異なります: - **イベントチケット**: 公演場所 (イベント開催地)に基づいて課税され、`txcd_50010001` などのイベント税コードを使用します。 - **物理的な商品**: 顧客の配送先住所に基づいて課税され、[`txcd_99999999`](https://docs.stripe.com/tax/tax-codes.md?type=physical#all-tax-codes) などの有形物品税コードを使用します。 例えば、シカゴの顧客がコロラド州ボルダーで開催されるランニングイベントのチケットと、シカゴの住所に配送される T シャツを同じ決済で購入できます。チケットにはコロラド州ボルダーの税率が適用され、_かつ_T シャツにはイリノイ州 (シカゴ) の税率が適用されます。 > 取引ごとにサポートされる配送先住所は 1 件のみです。カート内のすべての物理的な商品は、その単一の配送先住所に基づいて課税されます。 ### 登録の手続き 混合カート取引を作成する前に、税金が回収されるすべての管轄区域で有効な税務登録があることを確認してください。この例では、以下が必要です: - コロラド州の売上税登録 (イベントチケット用) - コロラド州ボルダーの入場税登録 (イベントチケット用) - イリノイ州の売上税登録 (シカゴに出荷される物理商品用) #### ダッシュボード Dashboard の[税務登録](https://dashboard.stripe.com/tax/registrations)ページで、**登録を追加** を選択して以下を追加します: - アメリカ合衆国・コロラド州、売上税 - アメリカ合衆国・コロラド州、ボルダー入場税 - アメリカ合衆国・イリノイ州、売上税 #### Registrations API ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=CO" \ -d "country_options[us][type]=state_sales_tax" \ -d active_from=now ``` ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=CO" \ -d "country_options[us][type]=admissions_tax" \ -d "country_options[us][admissions_tax][jurisdiction]=07850" \ -d active_from=now ``` ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=IL" \ -d "country_options[us][type]=state_sales_tax" \ -d active_from=now ``` ### カートが混在する決済セッションを作成する 各項目の `product_data` に `tax_details` をインラインで指定します。イベントチケットには、`performance_location`([ 作成したパフォーマンスの場所](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#tax-location-api-usage)から)と `tax_code` の両方を含めます。物理的な商品には `tax_code` のみを含めます。Stripe Tax は顧客の配送先住所を使用して適用税率を決定します。 決済セッションを完了する際に、顧客の配送場所として次のテスト用住所を使用します。 | フィールド | 値 | | --------- | ------------------ | | 住所 (1 行目) | `350 N Orleans St` | | 市区町村 | `Chicago` | | 州 | `IL` | | 郵便番号 | `60654` | | 国 | `US` | ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ --data-urlencode "success_url=https://example.com/success" \ -d "automatic_tax[enabled]=true" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][unit_amount]=1000" \ -d "line_items[0][price_data][tax_behavior]=inclusive" \ -d "line_items[0][price_data][product_data][name]=Admission to Event" \ -d "line_items[0][price_data][product_data][tax_details][performance_location]=taxloc_1TDA9FPaA8XsHwniqeKUZJvr" \ -d "line_items[0][price_data][product_data][tax_details][tax_code]=txcd_50010001" \ -d "line_items[0][quantity]=1" \ -d "line_items[1][price_data][currency]=usd" \ -d "line_items[1][price_data][unit_amount]=5000" \ -d "line_items[1][price_data][tax_behavior]=inclusive" \ -d "line_items[1][price_data][product_data][name]=T-Shirt" \ -d "line_items[1][price_data][product_data][tax_details][tax_code]=txcd_99999999" \ -d "line_items[1][quantity]=1" \ -d mode=payment ``` ## プラットフォームとマーケットプレイス [Stripe Connect](https://docs.stripe.com/connect.md) を使用して連結アカウントの代理として決済を処理する場合は、[税金の徴収と申告の義務を負う法人を決定します](https://docs.stripe.com/tax/connect.md)。ビジネスモデルに応じて、プラットフォームまたは連結アカウントのいずれかになります。 | | [ソフトウェアプラットフォーム](https://docs.stripe.com/tax/tax-for-platforms.md) | [マーケットプレイス](https://docs.stripe.com/tax/tax-for-marketplaces.md) | | ------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | 納税義務者 | お客様の連結アカウント | お客様のマーケットプレイス | | 導入する方法 | このガイドに従いますが、すべての API コールの `Stripe-Account` ヘッダーで[連結アカウントの ID](https://docs.stripe.com/connect/authentication.md) を渡します。 | マーケットプレイスのアカウントを使用してこのガイドに従います。連結アカウントへの入金から[徴収した税額を差し引きます](https://docs.stripe.com/tax/tax-for-marketplaces.md#tax-withholding)。 | | 税の設定と登録 | 各連結アカウントは、独自に税の設定と登録を行います。 | マーケットプレイスが税の設定と登録を設定します。連結アカウントは、独自の設定は必要ありません。 | | 公演場所と製品 | 連結アカウントごとに公演場所と製品を作成します。`Stripe-Account` ヘッダーを使用します。 | マーケットプレイスアカウントで公演場所と製品を作成します。 | ### ソフトウェアプラットフォームの導入 連結アカウントが納税義務を負う場合は、標準の導入手順に従いますが、次のような違いがあります。 - **すべての API コール**: 税登録、公演場所、製品、税金の計算、決済セッションまたは Payment Intent を作成する際に、`Stripe-Account` のヘッダーで[連結アカウントの ID](https://docs.stripe.com/connect/authentication.md) を渡します。 - **税登録**: 連結アカウントごとに独自の税登録が必要です。連結アカウントとプラットフォームアカウントごとに個別の登録を作成します。 - **公演場所**: 連結アカウントごとに独自の公演場所が必要です。連結アカウントとプラットフォームアカウントごとに別々の場所を作成します。 - **製品**: 連結アカウントごとに製品を個別に作成します。プラットフォームではなく、連結アカウントに属する公演場所 ID を使用します。 たとえば、連結アカウントに税金の計算を作成するには、`Stripe-Account` ヘッダーを渡します。 ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d currency=usd \ -d "line_items[0][amount]=2500" \ -d "line_items[0][reference]=Outdoor concert - L1" \ -d "line_items[0][tax_behavior]=exclusive" \ -d "line_items[0][tax_code]=txcd_50010001" \ -d "line_items[0][performance_location]=taxloc_yB7b4tVHRb" \ -d "customer_details[address][country]=IE" \ -d "customer_details[address_source]=billing" ``` ## Stripe SDK を更新する イベントの税金計算は公開プレビューであり、[公開プレビュー API バージョン ](https://docs.stripe.com/sdks/versioning.md#public-preview-release-channel)(`2026-03-25.preview` 以降)が必要です。SDK リリースノートを確認して、イベントの税金に対応するバージョンを確認してください。 ## Stripe Tax の設定 チケット販売に [ Stripe Tax を設定](https://docs.stripe.com/tax/set-up.md)する場合、デフォルトの商品税コードを`txcd_20030000`、`General - Services`に設定してください。[イベント税コード](https://docs.stripe.com/tax/tax-codes.md?type=events#all-tax-codes) をデフォルトの商品税コードに設定することはできません。 ダッシュボードまたは Tax [Registrations API](https://docs.stripe.com/tax/registrations-api.md) を使用して、テスト用の登録を追加します。 #### ダッシュボード 1. ダッシュボードの[納税地](https://dashboard.stripe.com/tax/locations)で、 **登録を追加** をクリックします。 1. イベントの開催地に該当する登録を追加します。以下に例を示します。 - アメリカ - コロラド、売上税 - アメリカ - コロラド州、ボルダー入場税 #### Registrations API サポートされている[すべての登録タイプと管轄区域](https://docs.stripe.com/tax/registering.md?registrationTypeRegion=united-states#registration-types)のリストを参照してください。 ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=CO" \ -d "country_options[us][type]=admissions_tax" \ -d "country_options[us][admissions_tax][jurisdiction]=07850" \ -d active_from=now ``` *サンドボックス* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)環境では、Stripe Tax の計算に手数料は発生しません。税務登録を追加した後、本番環境で税金を計算すると手数料が発生します。 チケット販売の税金計算は、顧客の請求先住所や配送先住所ではなく、公演場所に基づいているため、一般的な税金計算とは異なります。 ## 公演場所を作成する [課税場所](https://docs.stripe.com/api/tax/location/create.md?lang=curl&api-version=preview)を作成し、タイプを `performance` に設定して、イベント会場の住所を指定します。 販売タイプが`All Sales`である[サポート対象国](https://docs.stripe.com/tax/supported-countries.md#supported-countries) の [TaxCalculation](https://docs.stripe.com/api/tax/calculations.md) の対象となる住所であれば、すべて使用できます。 国ごとに、店舗に必要な[住所の形式](https://docs.stripe.com/tax/customer-locations.md#supported-formats)は異なります。 ```curl curl https://api.stripe.com/v1/tax/locations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d type=performance \ --data-urlencode "address[line1]=Folsom and, Pearl St" \ -d "address[city]=Boulder" \ -d "address[state]=CO" \ -d "address[postal_code]=80302" \ -d "address[country]=US" \ -d "description=Greenleaf Park" ``` 応答では、公演場所の一意の識別子として `id` が返されます。この値を保存して、この場所での売上に対する[税金を計算](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#apply-tax-locations)する場合の取引で使用します。 ```json { "id": "taxloc_yB7b4tVHRb", // ... other fields omitted } ``` この例のデータベースエントリは次のとおりです。 | **id** | **venue\_name** | **capacity** | **seatplan** | **stripe\_location\_id** | | -------------------- | --------------- | ------------ | ------------------------------------ | ------------------------ | | `` | グリーンリーフ・パーク | 500 | https://example.com/seating-plan.png | `taxloc_yB7b4tVHRb` | 表: your_business.venues ### 所在地住所の検証エラー 納税地の住所に問題がある場合、Tax Location API はエラーを返します。 ``` { "error": { "message": "MESSAGE", "param": "address", "request_log_url": "https://dashboard.stripe.com/test/logs/req_eSIK4gvAqUmW26?t=1747141000", "type": "invalid_request_error" } } ``` - `param` プロパティは、可能な限り具体的な住所属性を特定します。 - `message` プロパティは、エラーの具体的な理由を次のいずれか 1 つ指定します。 #### 住所が無効です `The address is not supported by Stripe Tax for a tax location. Please use a valid address.` 住所を確認できませんでした。住所の要件については、[サポートされている住所の形式](https://docs.stripe.com/tax/customer-locations.md#supported-formats)をご覧ください。 #### 未対応国または除外対象地域 `The address is not supported by Stripe Tax for a tax location. Please use a location that is supported by Stripe Tax.` この国は [サポート](https://docs.stripe.com/tax/supported-countries.md) 対象外、または住所が [除外対象地域](https://docs.stripe.com/tax/zero-tax.md#excluded-territories) にある。 ## Optional: 商品を作成する イベント税コードと開催地を指定して商品を作成することができます。作成された商品はチケット販売に対応しているすべての Stripe Tax 連携機能で共通して使用できます。 #### ダッシュボード \**[商品カタログ](https://dashboard.stripe.com/products?create=product)\**でイベント税コードと開催地を指定して商品を作成することもできます。 #### Product API 商品を作成する際に、税金の詳細としてイベント税コードと開催地を渡します。 ```curl curl https://api.stripe.com/v1/products \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d name=Ticket \ -d "tax_details[tax_code]=txcd_50010001" \ -d "tax_details[performance_location]=taxloc_yB7b4tVHRb" ``` ### エラー イベント税コードと開催地を指定して商品を作成すると、次のエラーが発生する場合があります。 | エラー | 説明 | 提案 | | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `Unknown tax location being passed. Please use a valid tax location.` | パフォーマンスの場所 ID は、Stripe アカウントがアクセスできるパフォーマンスの場所に属していません。連結アカウントとプラットフォームアカウントごとにパフォーマンスの場所を個別に作成する必要があります。 | Connect プラットフォームとして連結アカウントに代わって API コールを行う場合は、プラットフォーム側ではなく連結アカウントにおいて開催地を作成してください。 | | `Tax code txcd_50010001 requires a tax location to be passed of the type`performance`.` | リクエストに、指定された商品税コードで必要とされる[公演場所](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#tax-location-api-usage)パラメーターがありません。 | 商品税コードを変更するか、開催地を含めてください。 | | `税コード txcd_99999999 はタイプ`performance_.` の納税地に対応していません。 | リクエストに開催地が含まれていましたが、渡された商品税コードは開催地に対応していません。 | 商品税コードを変更するか、開催地を削除してください。 | ## 税額を計算する チケットの売上税の計算には、次の情報が必要です。 - [Stripe Tax の設定](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#configure-stripe-tax)時に指定された事業所の所在地 - [場所の作成](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#tax-location-api-usage)応答で返される公演場所 ID - 顧客の請求先住所 ([B2B リバースチャージ](https://docs.stripe.com/tax/zero-tax.md#reverse-charges) の場合) - 商品コード (チケット、商品など)。例: `txcd_50010001–-Admission to Amusement, Entertainment and Recreation Venues--Participant`。 ### 顧客住所を収集する 1. 決済に [Address Element](https://docs.stripe.com/elements/address-element.md) を使用して住所フォームを組み込み、顧客から[必要な住所の詳細](https://docs.stripe.com/tax/customer-locations.md#supported-formats)を収集します。 1. 請求先住所が [Stripe Tax で有効](https://docs.stripe.com/tax/customer-locations.md#other)であることを確認します。本番環境で検証のために[税金計算](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#calculate-tax-location)手数料が発生しないようにするには、導入でこの検証を直接実行します。 1. 回収と検証が完了するまで決済ボタンを無効にします。 > - **アメリカ**: 少なくとも顧客の郵便番号が必要です。最も正確な税金計算結果を得るには、完全な住所を指定することをお勧めします。 - **カナダ**: 顧客の郵便番号または州が必要です。 - **インド**: 顧客の州または連邦直轄領が必要です。 - **その他のすべての国**: 通常、顧客の国コードのみが必要です。特定の国の詳細については、[対象国](https://docs.stripe.com/tax/supported-countries.md)を参照してください。 ### 製品の種類 [税コード](https://docs.stripe.com/tax/tax-codes.md) には、次の所在地要件を設定できます。 - `optional`: 公演場所を渡すことが *できます*。 - `required`: 公演場所を渡す *必要があります*。 - `not supported`: 税コードが公演場所に対応していません。 `txcd_50010001`、`Admission to Amusement, Entertainment and Recreation Venues – Participant` などのチケット用税コードは、Stripe の[商品税コードレファレンス](https://docs.stripe.com/tax/tax-codes.md?type=events#all-tax-codes)ページに掲載されています。 ### 公演場所を適用する 税計算 API コール内で必要なすべてのデータを渡す必要があります。この例では、アイルランドに拠点を置く顧客が、コロラド州ボルダーのグリーンリーフ公園にある公演場所でイベントのチケットを購入した場合の税金を計算します。 該当する[商品](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#create-product)を作成済みであれば、その `id` をラインアイテムに含めて渡すことで、[税額計算を実行](https://docs.stripe.com/api/tax/calculations/create.md)できます。 ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d currency=usd \ -d "line_items[0][amount]=2500" \ -d "line_items[0][reference]=Outdoor concert - L1" \ -d "line_items[0][tax_behavior]=exclusive" \ -d "line_items[0][tax_code]=txcd_50010001" \ -d "line_items[0][performance_location]=taxloc_yB7b4tVHRb" \ -d "customer_details[address][country]=IE" \ -d "customer_details[address_source]=billing" ``` > 計算エンドポイントが `customer_tax_location_invalid` エラーコードを返す場合には、入力した住所が正確で抜けなどがないかを確認するよう顧客に要請します。 イベントチケットと一緒に商品 (T シャツなど) を販売するには、税額計算リクエストに別の品目を追加し、正しい商品税コードを選択します。 ### 計算結果を支払いに適用する Calculation API コールは、イベントの公演場所で税金を計算します。この例では、コロラド州ボルダーのグリーンリーフ公園となっています。 [最上位レベルの税金の内訳](https://docs.stripe.com/tax/standalone-tax-api.md#tax-breakdowns)を使用すると、請求されるすべての税金を表示できます。この場合、レスポンスは次のようになります。 ```json { "id": "taxcalc_fQSaHNaU", "amount_total": 2697, // ... other fields omitted "tax_breakdown": [ // ... other entries omitted { "amount": 125, "inclusive": false, "tax_rate_details": { // ... other entries omitted "country": "US", "state": "CO", "percentage_decimal": "5.0", // This is an example. The Stripe Tax calculation API returns the correct tax rate. "tax_type": "admissions_tax" }, "taxability_reason": "standard_rated", "taxable_amount": 2500 } ] } ``` `calculation`オブジェクトには ID が含まれています。4 つの入力パラメーター (事業所在地、顧客住所、公演場所、または商品タイプ) のいずれかが変更されるたびに、新しい計算を実行する必要があります。 最新の計算 ID を保存して、後で税取引を確定します。これは、コンプライアンスに準拠したレポート作成に必要です。 決済インターフェイスでは、Tax Calculation API コールのレスポンスの `tax_breakdown` オブジェクトに基づいて、次の例のような税金をプレビューとして表示できます。 **2025 年 1 月 1 日 (月) にローズボウルで行われる 2023 カレッジフットボールローズボウルゲーム** | 決済プレビュー行 | 金額 | | ----------- | ------------- | | 合計額面金額 | 25 USD | | 売上税 (2.90%) | 0.72 USD | | 入場税 (5.0%) | 1.25 USD | | **小計** | **26.97 USD** | ### 税金計算エラー 課税計算リクエストがエラーを返した場合は、`param` と `message` プロパティを確認してください。 #### 納税地が不明 `Unknown tax location being passed. Please use a valid tax location.` 指定された公演場所 ID は当該 Stripe アカウントからアクセスできる範囲内に存在しません。公演場所データは各アカウントに紐付く固有の情報であるため、連結アカウントやプラットフォームと共有することはできません。 #### 課税コードには、納税地が必要です `Tax code txcd_50010001 requires a tax location to be passed of the type`performance`.` 税金計算に、チケット発行に必要な[公演場所](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#tax-location-api-usage)が指定されていません。商品税コードを変更するか、公演場所を含める必要があります。 #### 税コードが税の場所をサポートしていません `Tax code txcd_99999999 does not support a tax location with the type` パフォーマンス `.` リクエストに履行店舗を含めましたが、商品税コードは履行店舗に対応していません。商品税コードを変更するか、履行店舗を削除する必要があります。 ## 決済の作成 支払いは、税金計算の `amount_total` を使用して作成されます。 支払いが成功すると、税取引を作成できます。この記録は、レポート作成と法令遵守のために使用します。 #### Tax Payment Intent の導入 (推奨) Tax Payment Intent の導入では、Payment Intents API を使用する必要があります。`hooks` フィールドを定義することにより、税金計算 ID を支払いインテントに渡すことができます。 これにより、支払いインテントが作成され、バックグラウンドで税取引が作成されます。 ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=2697 \ -d currency=usd \ -d "automatic_payment_methods[enabled]=true" \ -d "hooks[inputs][tax][calculation]={{TAXCALCULATION_ID}}" ``` 詳細については、[税支払いインテントの導入ガイド](https://docs.stripe.com/tax/payment-intent.md)をご覧ください。 #### Manual Tax Calculation API の導入 Stripe を使用して支払いを処理するかどうかにかかわらず、支払いが成功したら、課税取引を作成する必要があります。 ```curl curl https://api.stripe.com/v1/tax/transactions/create_from_calculation \ -u "<>:" \ -d calculation={{TAX_CALCULATION}} \ -d "reference={{PAYMENTINTENT_ID}}" \ -d "expand[]=line_items" ``` 後で返金を記録するために、[税取引 ID](https://docs.stripe.com/api/tax/transactions/object.md#tax_transaction_object-id) を保存します。Stripe Payments を使用するときは、データベース (サードパーティーの支払い取引の近く) または PaymentIntent のメタデータに取引 ID を保存します。 ```curl curl https://api.stripe.com/v1/payment_intents/{{PAYMENTINTENT_ID}} \ -u "<>:" \ -d "metadata[tax_transaction]={{TAX_TRANSACTION}}" ``` [Tax Transaction API](https://docs.stripe.com/tax/standalone-tax-api.md) の詳細を表示。 ## Optional: イベントチケットと一緒にグッズを販売できます。 イベントチケットと実物商品の両方を同じ取引に含めることができます。各項目への課税方法は異なります: - **イベントチケット**: 公演場所 (イベント開催地)に基づいて課税され、`txcd_50010001` などのイベント税コードを使用します。 - **物理的な商品**: 顧客の配送先住所に基づいて課税され、[`txcd_99999999`](https://docs.stripe.com/tax/tax-codes.md?type=physical#all-tax-codes) などの有形物品税コードを使用します。 例えば、シカゴの顧客がコロラド州ボルダーで開催されるランニングイベントのチケットと、シカゴの住所に配送される T シャツを同じ決済で購入できます。チケットにはコロラド州ボルダーの税率が適用され、_かつ_T シャツにはイリノイ州 (シカゴ) の税率が適用されます。 > 取引ごとにサポートされる配送先住所は 1 件のみです。カート内のすべての物理的な商品は、その単一の配送先住所に基づいて課税されます。 ### 登録の手続き 混合カート取引を作成する前に、税金が回収されるすべての管轄区域で有効な税務登録があることを確認してください。この例では、以下が必要です: - コロラド州の売上税登録 (イベントチケット用) - コロラド州ボルダーの入場税登録 (イベントチケット用) - イリノイ州の売上税登録 (シカゴに出荷される物理商品用) #### ダッシュボード Dashboard の[税務登録](https://dashboard.stripe.com/tax/registrations)ページで、**登録を追加** を選択して以下を追加します: - アメリカ合衆国・コロラド州、売上税 - アメリカ合衆国・コロラド州、ボルダー入場税 - アメリカ合衆国・イリノイ州、売上税 #### Registrations API ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=CO" \ -d "country_options[us][type]=state_sales_tax" \ -d active_from=now ``` ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=CO" \ -d "country_options[us][type]=admissions_tax" \ -d "country_options[us][admissions_tax][jurisdiction]=07850" \ -d active_from=now ``` ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d country=US \ -d "country_options[us][state]=IL" \ -d "country_options[us][type]=state_sales_tax" \ -d active_from=now ``` ### 混合カートの税金計算 税金計算のリクエストに複数の明細を追加します。イベントチケットには `performance_location`([ 作成したパフォーマンスロケーション](https://docs.stripe.com/tax/tax-for-tickets/integration-guide.md#tax-location-api-usage)から取得)と `tax_code` の両方を含めます。物理的な商品については `tax_code` のみを含めます。Stripe Tax は顧客の配送先住所を使用して適用される税率を決定します。配送先住所は `customer_details` に、`address_source` を `shipping` に設定して指定します。 顧客の配送先として以下のテスト住所を使用します: | フィールド | 値 | | --------- | ------------------ | | 住所 (1 行目) | `350 N Orleans St` | | 市区町村 | `Chicago` | | 州 | `IL` | | 郵便番号 | `60654` | | 国 | `US` | ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -d currency=usd \ -d "line_items[0][amount]=1000" \ -d "line_items[0][reference]=Admission to Event" \ -d "line_items[0][tax_behavior]=inclusive" \ -d "line_items[0][tax_code]=txcd_50010001" \ -d "line_items[0][performance_location]=taxloc_1TDA9FPaA8XsHwniqeKUZJvr" \ -d "line_items[1][amount]=5000" \ -d "line_items[1][reference]=T-Shirt" \ -d "line_items[1][tax_behavior]=inclusive" \ -d "line_items[1][tax_code]=txcd_99999999" \ -d "customer_details[address][line1]=350 N Orleans St" \ -d "customer_details[address][city]=Chicago" \ -d "customer_details[address][state]=IL" \ -d "customer_details[address][postal_code]=60654" \ -d "customer_details[address][country]=US" \ -d "customer_details[address_source]=shipping" ``` ## プラットフォームとマーケットプレイス [Stripe Connect](https://docs.stripe.com/connect.md) を使用して連結アカウントの代理として決済を処理する場合は、[税金の徴収と申告の義務を負う法人を決定します](https://docs.stripe.com/tax/connect.md)。ビジネスモデルに応じて、プラットフォームまたは連結アカウントのいずれかになります。 | | [ソフトウェアプラットフォーム](https://docs.stripe.com/tax/tax-for-platforms.md) | [マーケットプレイス](https://docs.stripe.com/tax/tax-for-marketplaces.md) | | ------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | 納税義務者 | お客様の連結アカウント | お客様のマーケットプレイス | | 導入する方法 | このガイドに従いますが、すべての API コールの `Stripe-Account` ヘッダーで[連結アカウントの ID](https://docs.stripe.com/connect/authentication.md) を渡します。 | マーケットプレイスのアカウントを使用してこのガイドに従います。連結アカウントへの入金から[徴収した税額を差し引きます](https://docs.stripe.com/tax/tax-for-marketplaces.md#tax-withholding)。 | | 税の設定と登録 | 各連結アカウントは、独自に税の設定と登録を行います。 | マーケットプレイスが税の設定と登録を設定します。連結アカウントは、独自の設定は必要ありません。 | | 公演場所と製品 | 連結アカウントごとに公演場所と製品を作成します。`Stripe-Account` ヘッダーを使用します。 | マーケットプレイスアカウントで公演場所と製品を作成します。 | ### ソフトウェアプラットフォームの導入 連結アカウントが納税義務を負う場合は、標準の導入手順に従いますが、次のような違いがあります。 - **すべての API コール**: 税登録、公演場所、製品、税金の計算、決済セッションまたは Payment Intent を作成する際に、`Stripe-Account` のヘッダーで[連結アカウントの ID](https://docs.stripe.com/connect/authentication.md) を渡します。 - **税登録**: 連結アカウントごとに独自の税登録が必要です。連結アカウントとプラットフォームアカウントごとに個別の登録を作成します。 - **公演場所**: 連結アカウントごとに独自の公演場所が必要です。連結アカウントとプラットフォームアカウントごとに別々の場所を作成します。 - **製品**: 連結アカウントごとに製品を個別に作成します。プラットフォームではなく、連結アカウントに属する公演場所 ID を使用します。 たとえば、連結アカウントに税金の計算を作成するには、`Stripe-Account` ヘッダーを渡します。 ```curl curl https://api.stripe.com/v1/tax/calculations \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d currency=usd \ -d "line_items[0][amount]=2500" \ -d "line_items[0][reference]=Outdoor concert - L1" \ -d "line_items[0][tax_behavior]=exclusive" \ -d "line_items[0][tax_code]=txcd_50010001" \ -d "line_items[0][performance_location]=taxloc_yB7b4tVHRb" \ -d "customer_details[address][country]=IE" \ -d "customer_details[address_source]=billing" ```