コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

従量課金ベースのレートカードのサブスクリプションに対する税金の徴収非公開プレビュー

従量課金ベースのレートカードのサブスクリプションに対する税金を計算して徴収する方法について紹介します。

プライベートプレビュー

Rate cards are currently in private preview and could change in functionality and integration path before they’re generally available to all Stripe users.

Stripe Tax を使用して、レートカードサブスクリプションの継続決済の税金を計算できます。顧客が決済する準備ができたときに税金の計算を自動的に処理するには、レートカードサブスクリプションの作成時に顧客の所在地の詳細を設定します。

Stripe Tax を有効にする

Stripe にログインまたは登録して Stripe Tax を有効化します。

レートカードを更新する (任意)

レートカードを作成するときに、商品税金コードを指定します。コードを指定しない場合、Stripe Tax は税金設定で選択されたデフォルトの税金コードを使用します。

顧客情報を収集する
クライアント側

税額と合計額の見積もりができたら、次のような顧客情報を収集できます。

  • 配送先住所 (該当する場合)
  • 請求先住所
  • 支払いの詳細

Stripe Tax は Setup Intent を作成せずに支払い情報を収集します。最初のステップは、インテントのない Elements オブジェクトを作成することです。

checkout.js
const stripe = Stripe(
"pk_test_TYooMQauvdEDq54NiTphI7jx"
); const elements = stripe.elements({ mode: 'subscription', currency: '{{CURRENCY}}', amount:
{{TOTAL}}
, });

次に、Address Element と Payment Element を作成し、その両方をマウントします。

checkout.js
const addressElement = elements.create('address', { mode: 'billing' // or 'shipping', if you are shipping goods }); addressElement.mount('#address-element'); const paymentElementOptions = { layout: 'accordion'}; const paymentElement = elements.create('payment', paymentElementOptions); paymentElement.mount('#payment-element');

Address Element で変更イベントをリッスンします。住所が変更された場合は、税額と合計額を再見積もりします。

checkout.js
addressElement.on('change', function(event) { // Throttle your requests to avoid overloading your server or hitting // Stripe's rate limits. const { tax, total } = await updateEstimate(event.value.address); elements.update({ amount: total }); // Update your page to display the new tax and total to the user... });

よくある間違い

顧客が住所を入力すると、Address Element はキーストロークごとに change イベントを起動します。サーバーへの過負荷と Stripe のレート制限への到達を回避するには、最後の change イベントの後、しばらく待ってから、税金と合計を推計しなおします。

送信を処理する
クライアント側

顧客がフォームを送信したら、elements.submit() を呼び出してフォームのフィールドを検証し、ウォレットに必要なデータを収集します。この関数の Promise が解決されるのを待たないと、他の操作は実行できません。

checkout.js
document.querySelector("#form").addEventListener("submit", function(event) { // We don't want to let default form submission happen here, // which would refresh the page. event.preventDefault(); const { error: submitError } = await elements.submit(); if (submitError) { // Handle error... return; } const { value: customerDetails } = await addressElement.getValue(); // See the "Save customer details" section below to implement this // server-side. await
saveCustomerDetails
(customerDetails); // See the "Create subscription" section below to implement this server-side. const {
clientSecret
} = await
createSubscription
(); const { error: confirmError } = await stripe.confirmPayment({ elements, clientSecret, confirmParams: { return_url:
{{RETURN_URL}}
, }, }); if (confirmError) { // Handle error... return; } // Upon a successful confirmation, your user will be redirected to the // return_url you provide before the Promise ever resolves. });

顧客の情報を保存する
サーバー側

Stripe Tax が顧客の正確な場所を判断して正確な結果が得られるように、顧客から収集した詳細情報を使って Customer オブジェクトを更新してください。

地域的な考慮事項
アメリカ

顧客がアメリカに居住している場合は、可能であれば詳細な住所を入力してください。「建物単位の精度」という用語は、顧客の場所を特定の家屋や建物に関連付けることができるという意味で使用されます。これにより、管轄区域の境界が複雑なため、同じ通りに並んでいる 2 つの家で、適用される税率が異なるような場合でも、精度が格段に向上します。

Customer オブジェクトをまだ作成していない場合 (たとえば、顧客が貴社のウェブサイトに初めて登録したときなど) は、ここで作成できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/customers/
{{CUSTOMER_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "address[line1]"={{LINE1}} \ -d "address[line2]"={{LINE2}} \ -d "address[city]"={{CITY}} \ -d "address[state]"={{STATE}} \ -d "address[postal_code]"={{POSTAL_CODE}} \ -d "address[country]"={{COUNTRY}} \ -d "tax[validate_location]"=immediately

注意

顧客の既存のサブスクリプションで税金の自動計算が有効であるときに、その住所情報を更新すると、以降の請求書の税額と合計金額が変わる場合があります。これは、税率が顧客の所在地によって異なるためです。

tax.validate_location 列挙型値は、この操作の結果として顧客の納税場所が有効になる (または引き続き有効なままとなる) ようにするのに役立ちます。有効でない場合、リクエストは customer_tax_location_invalid エラーコードで失敗します。納税場所が無効な顧客に対しては、税金の自動徴収を有効にしたサブスクリプションを作成できないため、これは重要です。これまでプレビュー版の請求書の automatic_tax.status を advised としてチェックしていた場合は、この追加の検証が失敗することはありません。ただし、Customer オブジェクトを作成または更新するときは必ず tax[validate_location]="immediately" を設定することをお勧めします。

顧客をレートカードに登録する

レートカードを作成すると、顧客のサブスクリプションを開始できます。

顧客をレートカードに登録する際に、請求頻度 (顧客への請求書を作成する頻度) も定義しておきます。請求頻度を作成するときに、徴収方法 (自動請求するか、請求書を送信するか) を指定します。自動請求する場合は、請求書が作成され、顧客のデフォルトの決済手段に対して請求が行われます。請求書を送信する場合は、顧客に請求書が届き、その代金を顧客が手動で支払う必要があります。

  1. レートカードページに移動し、顧客を登録するレートカードをクリックします。
  2. レートカードの詳細ページで、レートカードの編集の横にあるオーバーフローメニュー () をクリックします。
  3. レートカードのサブスクリプションエディタで、次の操作を行います。
    • 顧客を検索または追加します。
    • 請求頻度を定義します。請求頻度は、顧客に請求書を発行する頻度とタイミングのことを指します。
    • Stripe Tax で税金を自動徴収するをクリックして、Stripe Tax による税金の自動徴収を有効にします。
    • サブスクリプションの作成をクリックします。
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc