# Checkout ページで税を自動徴収 Stripe 上の決済画面または埋め込みフォームを使用して税を自動計算する方法をご紹介します。 Stripe Tax は、決済セッション中に発生したすべての購入と *サブスクリプション* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis)に対する税額を自動的に計算します。まだ Checkout と連携していない場合は、[決済を受け付けるガイド](https://docs.stripe.com/checkout/quickstart.md)を使用して連携を完了してください。 [Watch on YouTube](https://www.youtube.com/watch?v=fMk7y-C6JuM) ## Checkout Session の作成 Checkout Sessions は、1 回限りの購入と継続購入に対して作成できます。 顧客の税率は顧客の所在地を基準としています。この所在地は、Checkout が顧客の住所を基に決定しています。Checkout が税金の計算に使用する住所は、顧客が新規か既存か、さらに Checkout セッションで配送先住所を収集するかどうかによって決まります。 | | 新規顧客 | 既存の顧客 | | -------------- | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **請求先住所のみを収集** | Checkout は Checkout セッションに入力された顧客の請求先住所を基準に税金を計算します。 | 顧客が以前に保存した配送先住所を所有している場合、Checkout はこの住所を基準に税金を計算します。それ以外の場合は、決済時に入力された請求先住所 ([customer_update[address]=auto](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-customer_update-address) を指定)、または顧客に保存された請求先住所 (デフォルト動作) を基準に税金を計算できます。 | | **配送先住所を収集する** | Checkout は Checkout セッションに入力された顧客の配送先住所を基準に税金を計算します。 | Checkout は Checkout セッションに入力された顧客の配送先住所を基準に税金を計算します。「この場合、顧客の既存の住所は使用されません。」 | > Checkoutで Stripe Tax を使用しているときに Google Pay が決済手段として提供されるようにするには、配送先住所の収集を要求するか、既存の顧客に保存された配送先住所を提供する必要があります。Stripe Tax での Apple Pay は、顧客のブラウザーが Apple Pay バージョン 12 以上をサポートしている場合にのみ表示されます。 ## 新規顧客の税金を計算する 既存の顧客を識別していない場合に、請求先住所と配送先住所を収集して顧客設定済みの [Account](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md) または [Customer](https://docs.stripe.com/api/customers.md) を作成するには、Checkout Session で `customer_creation=always` を設定します。 決済では、配送先住所 (指定されている場合) または請求先住所の地域に基づいて税額を計算します。 #### Stripe がオンラインで提供するページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d customer_creation=always \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### 完全埋め込みページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d customer_creation=always \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` ## 既存の顧客の税金を計算する #### Accounts v2 既存の顧客設定済み [Accounts](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md) に対して作成された Checkout セッションで税金を計算するには、`automatic_tax.enabled` を true に設定し、`customer_account` ID を指定します。Checkout は以下の住所優先順位に従って税金を計算します。 1. 指定した場合、Checkout は[収集した配送先住所](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_address_collection)を使用して税金を計算します。配送先住所を収集する場合は、`customer_update.shipping` を `auto` に設定して、収集した配送先住所で `Account` を追加または更新する必要があります。 #### Stripe 上の決済画面 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### 完全埋め込みページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` 1. 配送先住所を収集しない場合、Checkout は `Account` の[既存の配送先住所](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-shipping-address)を使用して税金を計算します (利用可能な場合)。 1. 配送先住所が利用できない場合、Checkout は請求先住所を使用して税金を計算します。`billing_address_collection` を `required` に設定すると常に請求先住所を収集でき、`auto` (デフォルト) のままにすると必要に応じて収集します。Checkout が請求先住所を収集する場合、`customer_update.address` を `auto` に設定すると Tax が収集した請求先住所を使用するよう指示でき、`never` に設定すると `Account` の既存の住所を使用して税金を計算します。 #### Stripe 上の決済画面 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[address]=auto" \ -d billing_address_collection=required \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### 完全埋め込みページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[address]=auto" \ -d billing_address_collection=required \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` 1. それ以外の場合、Checkout は[住所の優先順位](https://docs.stripe.com/tax/customer-locations.md#address-hierarchy)に従って `Account` の住所を使用します。 #### Customer v1 既存の顧客に対して作成された Checkout セッションで税額を計算するには、`automatic_tax[enabled]` を `true` に設定し、`customer` ID を指定します。Checkout では税額計算に以下の住所の優先順位を使用します。 1. 指定されている場合には、Checkout は税額計算に[収集された配送先住所](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_address_collection)を使用します。配送先住所を収集するには、`customer_update[shipping]` を `auto` に設定し、収集された配送先住所を Customer に追加または更新する必要があります。 #### Stripe がオンラインで提供するページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### 完全埋め込みページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` 1. 配送先住所を収集しない場合には、Checkout は税額計算に Customer の[既存の配送先住所](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-shipping-address)を使用します (可能な場合)。 1. 配送先住所が利用できない場合、Checkout は税額計算に請求先住所を使用します。請求先住所を常に収集するには、`billing_address_collection` を `required` に設定し、必要に応じて収集する場合には `auto` (デフォルト) のままにします。Checkout で請求先住所を収集する場合、`customer_update[address]` を `auto` に設定すると、収集した住所を税額計算に使用するように Stripe Tax に指示できます。一方、`never` に設定した場合には、収集した住所ではなく Customer の既存の住所が税額計算に使用されます。 #### Stripe がオンラインで提供するページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[address]=auto" \ -d billing_address_collection=required \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### 完全埋め込みページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[address]=auto" \ -d billing_address_collection=required \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` 1. それ以外の場合、Checkout は[アドレス階層](https://docs.stripe.com/tax/customer-locations.md#address-hierarchy)に従って顧客のアドレスを使用します。 ## レスポンスを確認 最新の税金計算の結果を調べるには、Checkout セッションリソースの [total_details.amount_tax](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-total_details) から Checkout によって計算された税金額を確認できます。また、ダッシュボードで[支払いを表示](https://dashboard.stripe.com/test/payments)する際にも、各支払いの税金額を確認できます。 ## Optional: 商品と価格を更新する Stripe Tax は、税コードや課税対象の区分など、商品や価格に保存されている情報をもとに税額を計算します。これらを明示的に設定していない場合、Stripe Tax は[税設定](https://dashboard.stripe.com/settings/tax)のデフォルト値を使用します。 詳しい設定手順については、[商品の税コードと課税対象の区分の指定](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md)をご参照ください。 ## Optional: インラインで商品を作成する際に課税するコードを指定する [line_items.price_data.product_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data-product_data) で決済セッションを作成するときは、リクエストで税コードを直接指定できます。これは、既存の商品 ID を使用するのではなく、新しい商品を作成するときに行うことをお勧めします。 #### Stripe 上の決済画面 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][product_data][tax_code]=txcd_99999999" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### 完全埋め込みページ ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price_data][currency]=usd" \ -d "line_items[0][price_data][unit_amount]=2000" \ -d "line_items[0][price_data][product_data][name]=T-shirt" \ -d "line_items[0][price_data][product_data][tax_code]=txcd_99999999" \ -d "line_items[0][quantity]=1" \ -d "automatic_tax[enabled]=true" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` `txcd_99999999` を商品に適切な[税コード](https://docs.stripe.com/tax/tax-codes.md)に置き換えます。税コードは、税務上の商品をどのように分類するかを決定します。税コードを指定しない場合、Stripe Tax は[税務設定](https://dashboard.stripe.com/settings/tax)のデフォルトの税コードを使用します。 ## See also - [税務連携のテスト](https://docs.stripe.com/tax/testing.md) - [顧客の所在地を決定する](https://docs.stripe.com/tax/customer-locations.md) - [レポートと申告](https://docs.stripe.com/tax/reports.md)