コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ

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

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

プライベートプレビュー

レートカードは現在 プライベートプレビュー 中で、すべての Stripe ユーザーへの一般提供前に機能や導入方法が変更される可能性があります。プライベートプレビューに参加するにはこちらからご登録ください。

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. });

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

顧客から収集した詳細情報で Customer オブジェクトを更新して、Stripe Tax で位置を精密に判定し、正確な結果が得られるようにしてください。

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

顧客が米国にいる場合、可能な限り詳細な住所を提供してください。「ルーフトップ・アキュレート」という用語は、顧客の所在地を特定の家や建物まで特定できることを意味します。米国の税区割は非常に複雑で、同じ通りの隣り合った2軒の家であっても、境界線をまたぐことで適用される税率が異なる場合があります。詳細な住所を提供することで、より高い精度で税計算を行うことが可能になります。

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

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
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 を immediately に設定して、顧客の税務上の所在地を検証します。検証に失敗した場合、Stripe は customer_tax_location_invalid エラーコードでリクエストを失敗させます。プレビュー請求書の automatic_tax.status を確認することで、この失敗を回避できます。

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

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

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

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