コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
    概要
    クイックスタート
    デザインをカスタマイズする
    追加情報を収集する
    税金を徴収する
      手動の税率を使用
      納税者番号を収集する
    決済フローを動的に更新
    商品カタログを管理する
    サブスクリプション
    決済手段を管理
    顧客が現地通貨で支払いできるようにする
    割引、アップセル、オプション品目を追加する
    将来の支払いを設定する
    支払い中に支払い詳細を保存する
    Manually approve payments on your server
    支払い後
    Elements with Checkout Sessions API ベータ版の変更ログ
    従来の Checkout からの移行
    Checkout を移行して Prices を使用
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
他の Stripe プロダクト
Financial Connections
仮想通貨
Climate
ホーム支払いBuild a checkout pageCollect taxes

注

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

Checkout で顧客の納税者番号を収集する

Checkout で VAT などの顧客の納税者番号を収集する方法をご紹介します。

ページをコピー

請求書に顧客の納税者番号と法人名を表示することで、納税者番号の収集に伴う一般的な要件を満たせます。このガイドは、Elements と Checkout Sessions API がすでに連携済みであることを前提としています。この連携がまだお済みでない場合は、クイックスタートで始め方をご確認ください。

免責事項

Checkout Sessions API は、ビジネスの納税者番号を収集するように設計されています。また特定の管轄区域では、個人納税者番号と似た形式のものが収集されることがあります。この機能を使用する際は、このフィールドに指定されているビジネスの納税者番号のみを入力するようにしてください。

納税者番号の収集を有効にする
サーバー側

新規顧客

新規顧客の納税者番号の収集を有効にするには、Checkout セッションの作成時に tax_id_collection[enabled] を true に設定します。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d ui_mode=custom \ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d "tax_id_collection[enabled]"=true \ -d mode=payment \ --data-urlencode return_url="https://example.com/return"

既存の顧客

既存の Customer の Checkout セッションを作成し、決済時に収集された納税者番号情報で Customer を更新します。Checkout セッションは、収集した会社名を Customer の name として保存し、収集した納税者番号を customer.tax_ids に追加します。会社名の収集は Customer の既存の name を上書きする可能性があるため、Checkout セッションの作成時に customer_update.name を auto に設定する必要があります。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d ui_mode=custom \ -d customer=
{{CUSTOMER_ID}}
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d "tax_id_collection[enabled]"=true \ -d "customer_update[name]"=auto \ -d mode=payment \ --data-urlencode return_url="https://example.com/return"

既存の顧客の住所を保存していない場合は、決済時に入力された請求先住所または配送先住所に基づいて顧客の所在地を設定できます。決済時に入力された請求先住所を基に顧客の所在地を判定する場合は、customer_update.address を auto に設定します。customer_update.address を auto に設定すると、以前に保存された顧客の住所が、決済時に入力された住所に置き換えられます。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d ui_mode=custom \ -d customer=
{{CUSTOMER_ID}}
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d "tax_id_collection[enabled]"=true \ -d "customer_update[name]"=auto \ -d "customer_update[address]"=auto \ -d mode=payment \ --data-urlencode return_url="https://example.com/return"

既存の顧客の配送先住所を収集する場合は、customer_update.shipping を auto に設定し、決済時に入力される配送先住所を参照します。customer_update.shipping を auto に設定すると、以前に保存された顧客の配送先住所が、決済時に入力された配送先住所に置き換えられます。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d ui_mode=custom \ -d customer=
{{CUSTOMER_ID}}
\ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d "tax_id_collection[enabled]"=true \ -d "customer_update[name]"=auto \ -d "customer_update[shipping]"=auto \ -d "shipping_address_collection[allowed_countries][0]"=DE \ -d mode=payment \ --data-urlencode return_url="https://example.com/return"

この例では、payment モードで納税者番号の収集が有効化されたセッションを作成します。サブスクリプションの場合は、mode を subscription に設定して同じ変更を行います。

クライアント側フォームを作成する
クライアント側

ウェブアプリケーションでフォームを作成し、updateTaxIdInfo を使用して顧客の会社名と納税者番号を収集します。

App.jsx
import {useState} from 'react'; import {useCheckout} from '@stripe/react-stripe-js'; // Create a constant to list out the taxID types you'd like to support in your checkout const TAX_ID_TYPES = ['au_abn', 'eu_vat', ...] as const; const TaxIdCollectionForm = () => { const [isPurchaseAsBusiness, setIsPurchaseAsBusiness] = useState(false); const [isEditing, setIsEditing] = useState(true); const [businessName, setBusinessName] = useState(''); const [taxIdType, setTaxIdType] = useState(''); const [taxIdValue, setTaxIdValue] = useState(''); const [errorMessage, setErrorMessage] = useState(''); const {updateTaxIdInfo} = useCheckout(); const validateAndUpdate = async () => { if (!businessName) { setErrorMessage('Business name is required'); return; } if (!taxIdValue) { setErrorMessage('Tax ID is required'); return; } if (!taxIdType) { setErrorMessage('Please select a tax ID type'); return; } // When all of the values are filled out, call `updateTaxIdInfo` submit it to the session. const res = await updateTaxIdInfo({ taxId: {value: taxIdValue, type: taxIdType}, businessName }); if (res.error) { setErrorMessage(res.error.message); } else { setErrorMessage(''); setIsEditing(false); } }; const handleReset = () => { setBusinessName(''); setTaxIdType(''); setTaxIdValue(''); setErrorMessage(''); }; const onIsPurchaseAsBusinessChange = async (e) => { setIsPurchaseAsBusiness(e.target.checked); if (!isPurchaseAsBusiness) { setErrorMessage(''); setIsEditing(true); // When isPurchaseAsBusiness is false, call this to clear the taxIdInfo in the session. await updateTaxIdInfo(null); } }; return ( <div className="tax-id-form"> <div className="form-row"> <input type="checkbox" id="purchaseAsBusiness" checked={isPurchaseAsBusiness} onChange={onIsPurchaseAsBusinessChange} /> <label htmlFor="purchaseAsBusiness">Purchase as business</label> </div> {isPurchaseAsBusiness && ( <> {isEditing ? ( <> <div className="form-row"> <label htmlFor="businessName">Business Name:</label> <input type="text" id="businessName" value={businessName} onChange={(e) => setBusinessName(e.target.value.trim())} placeholder="Enter business name" /> </div> <div className="form-row"> <label htmlFor="taxType">Tax ID Type:</label> <select id="taxIdType" value={taxIdType} onChange={(e) => setTaxIdType(e.target.value)} > <option value="">Select tax ID type</option> {TAX_ID_TYPES.map((t) => ( <option key={t} value={t}> {t} </option> ))} </select> </div> <div className="form-row"> <label htmlFor="taxId">Tax ID:</label> <input type="text" id="taxId" value={taxIdValue} onChange={(e) => setTaxIdValue(e.target.value.trim())} placeholder="Enter tax ID" /> </div> <div className="form-actions"> <button onClick={validateAndUpdate}>Save</button> <button onClick={handleReset}>Reset</button> </div> {errorMessage && ( <div className="error-message"> {errorMessage} </div> )} </> ) : ( <div className="tax-id-info"> <div>Business Name: {businessName}</div> <div>Tax ID Type: {taxIdType}</div> <div>Tax ID: {taxIdValue}</div> <button onClick={() => setIsEditing(true)}>Edit</button> </div> )} </> )} </div> ); };

セッション後に顧客の納税者番号の詳細を取得する

Checkout は、生成された Session (セッション) オブジェクトに提供された納税者番号を含めます。各セッションの完了後に、Checkout は checkout.session.completed イベントを送信します。これは Webhook エンドポイントでリッスンできます。納税者番号を Session オブジェクトから取得する場合は、セッションの customer_details.tax_ids 配列から取得できます。

{ "object": { "id": "cs_test_a1dJwt0TCJTBsDkbK7RcoyJ91vJxe2Y", "object": "checkout.session", ... "customer": "cus_id_of_new_customer", "customer_details": { ... "tax_ids": [ { "type": "eu_vat", "value": "FRAB123456789" } ] }, ... "tax_id_collection": { "enabled": true }, ... } }

Checkout はさらに、セッションに Customer (顧客) オブジェクトが関連付けられている場合、収集された納税者番号と企業名をこのオブジェクトに保存します。決済時に収集された納税者番号は、Customer の customer.tax_ids 配列からアクセスできます。また、owner.type パラメーターを customer に、owner.customer を Customer’s ID に指定することで、Customer に保存されたすべての納税者番号を Tax ID リソースで取得することもできます。新しい納税者番号のすべてに関連付けられている企業の正式名称が含まれ、Checkout はそれを顧客の name プロパティに保存します。このようにすることで、収集された法人名がその顧客のサブスクリプションの請求書に常に表示されることになります。

実装内容をテストする

In testing environments, you can enter any alphanumeric string that is in the correct format of a supported tax ID type (for example, DE123456789 for eu_vat). For a full list of example tax IDs you can reference our Customer Tax ID guide. You can also use our test tax IDs to test various verification state flows.

検証

During the Checkout Session, Stripe verifies that the provided tax IDs are formatted correctly, but not that they’re valid. You’re responsible for ensuring the validity of customer information collected during checkout. To help, Stripe automatically performs asynchronous validation against government databases for European Value Added Tax (EU VAT) and United Kingdom Value Added Tax (GB VAT) numbers. Learn more about the validation we perform, and how to consume the status of those checks.

If you use Stripe Tax and your customer provides a tax ID, Stripe Tax applies the reverse charge or zero rate according to applicable laws, as long as the tax ID conforms to the necessary number format, regardless of its validity.

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

Checkout セッションは、指定された地域の以下の納税者番号タイプを収集します。

国列挙値説明例
税金計算への影響
アイスランドis_vatアイスランドの VAT123456可
アイルランドeu_vatEuropean VAT numberIE1234567AB可
アゼルバイジャンaz_tinアゼルバイジャンの納税者番号0123456789可
アラブ首長国連邦ae_trnアラブ首長国連邦の TRN123456789012345可
アルバaw_tinアルバの納税者番号12345678可
アルバニアal_tinアルバニアの納税者番号J12345678N可
アルメニアam_tinアルメニアの納税者番号02538904可
アンゴラao_tinアンゴラの納税者番号5123456789不可
イギリスeu_vatNorthern Ireland VAT numberXI123456789可
イギリスgb_vatイギリスの VAT 番号GB123456789可
イタリアeu_vatEuropean VAT numberIT12345678912可
インドin_gstインドの GST 番号12ABCDE3456FGZH可
ウガンダug_tinウガンダの納税者番号1014751879可
ウクライナua_vatウクライナの VAT123456789可
ウズベキスタンuz_tinウズベキスタンの TIN 番号123456789不可
ウズベキスタンuz_vatウズベキスタンの VAT 番号123456789012可
ウルグアイuy_rucウルグアイの RUC 番号123456789012可
エクアドルec_rucエクアドルの RUC 番号1234567890001不可
エジプトeg_tinエジプトの納税者番号123456789可
エストニアeu_vatEuropean VAT numberEE123456789可
エチオピアet_tinエチオピアの納税者番号1234567890可
オーストラリアau_abnオーストラリア事業者登録番号 (AU ABN)12345678912可
オーストリアeu_vatEuropean VAT numberATU12345678可
オマーンom_vatオマーンの VAT 番号OM1234567890可
オランダeu_vatEuropean VAT numberNL123456789B12可
カーボベルデcv_nifカーボベルデの納税者番号 (Número de Identificação Fiscal)213456789不可
カザフスタンkz_binカザフスタンの企業識別番号123456789012可
カナダca_bnカナダの BN123456789不可
カナダca_gst_hstカナダの GST/HST 番号123456789RT0002可
カナダca_pst_bcカナダの PST 番号 (ブリティッシュコロンビア)PST-1234-5678不可
カナダca_pst_mbカナダの PST 番号 (マニトバ)123456-7不可
カナダca_pst_skカナダの PST 番号 (サスカチュワン)1234567不可
カナダca_qstカナダの QST 番号 (ケベック)1234567890TQ1234可
カメルーンcm_niuカメルーンの納税者番号 (Numéro d'Identifiant fiscal Unique)M123456789000L不可
カンボジアkh_tinカンボジアの納税者番号1001-123456789可
ギニアgn_nifギニアの納税者番号 (Número de Identificação Fiscal)123456789可
キプロスeu_vatEuropean VAT numberCY12345678Z可
ギリシャeu_vatEuropean VAT numberEL123456789可
キルギスkg_tinキルギスの納税者番号12345678901234不可
クロアチアeu_vatEuropean VAT numberHR12345678912可
ケニアke_pinケニア税務当局の個人識別番号P000111111A不可
コスタリカcr_tinコスタリカの納税者番号1-234-567890不可
コンゴ民主共和国(キンシャサ)cd_nifコンゴ民主共和国の納税者番号 (Número de Identificação Fiscal)A0123456M不可
サウジアラビアsa_vatサウジアラビアの VAT123456789012345可
ザンビアzm_tinザンビアの納税者番号1004751879不可
ジョージアge_vatジョージアの VAT123456789可
シンガポールsg_gstシンガポールの GSTM12345678X可
ジンバブエzw_tinジンバブエの納税者番号1234567890不可
スイスch_vatスイスの VAT 番号CHE-123.456.789 MWST可
スウェーデンeu_vatEuropean VAT numberSE123456789123可
スペインes_cifスペインの NIF 番号 (以前のスペインの CIF 番号)A12345678不可
スペインeu_vatEuropean VAT numberESA1234567Z可
スリナムsr_finスリナムの FIN 番号1234567890可
スロバキアeu_vatEuropean VAT numberSK1234567891可
スロベニアeu_vatEuropean VAT numberSI12345678可
セネガルsn_nineaセネガルの NINEA 番号12345672A2不可
セルビアrs_pibセルビアの PIB 番号123456789不可
タイth_vatタイの VAT1234567891234可
タジキスタンtj_tinタジキスタンの納税者番号123456789可
タンザニアtz_vatタンザニアの VAT 番号12345678A可
チェコ共和国eu_vatEuropean VAT numberCZ1234567890可
チリcl_tinチリの TIN12.345.678-K可
デンマークeu_vatEuropean VAT numberDK12345678可
ドイツeu_vatEuropean VAT numberDE123456789可
トルコtr_tinトルコの納税者番号0123456789可
ナイジェリアng_tinナイジェリアの納税者番号12345678-0001不可
ニュージーランドnz_gstニュージーランドの GST 番号123456789可
ネパールnp_panネパールの PAN 番号123456789可
ノルウェーno_vatノルウェーの VAT 番号123456789MVA可
バーレーンbh_vatバーレーンの VAT 番号123456789012345可
バハマbs_tinバハマの納税者番号123.456.789不可
バルバドスbb_tinバルバドスの納税者番号1123456789012不可
ハンガリーeu_vatEuropean VAT numberHU12345678可
バングラデシュbd_binバングラデシュの企業識別番号123456789-0123可
フィリピンph_tinフィリピンの納税者番号123456789012可
フィンランドeu_vatEuropean VAT numberFI12345678可
フランスeu_vatEuropean VAT numberFRAB123456789可
ブルガリアeu_vatEuropean VAT numberBG0123456789可
ブルキナファソbf_ifuブルキナファソの納税者番号 (Numéro d'Identifiant Fiscal Unique)12345678A可
ベナンbj_ifuベナンの納税者番号 (Identifiant Fiscal Unique)1234567890123可
ベラルーシby_tinベラルーシの TIN 番号123456789可
ペルーpe_rucペルーの RUC 番号12345678901可
ベルギーeu_vatEuropean VAT numberBE0123456789可
ポーランドeu_vatEuropean VAT numberPL1234567890可
ボスニア・ヘルツェゴビナba_tinボスニア・ヘルツェゴビナの納税者番号123456789012可
ポルトガルeu_vatEuropean VAT numberPT123456789可
マルタeu_vatEuropean VAT numberMT12345678可
メキシコmx_rfcメキシコの RFC 番号ABC010203AB9不可
モーリタニアmr_nifモーリタニアの納税者番号 (Número de Identificação Fiscal)12345678不可
モルドバmd_vatモルドバの VAT 番号1234567可
モロッコma_vatモロッコの VAT 番号12345678可
モンテネグロme_pibモンテネグロの PIB 番号12345678不可
ラオスla_tinラオスの納税者番号123456789-000不可
ラトビアeu_vatEuropean VAT numberLV12345678912可
リトアニアeu_vatEuropean VAT numberLT123456789123可
リヒテンシュタインli_vatリヒテンシュタインの VAT 番号12345可
ルーマニアeu_vatEuropean VAT numberRO1234567891可
ルクセンブルグeu_vatEuropean VAT numberLU12345678可
ロシアru_innロシアの INN1234567891可
ロシアru_kppロシアの KPP123456789可
北マケドニアmk_vat北マケドニアの VAT 番号MK1234567890123可
南アフリカza_vat南アフリカの VAT 番号4123456789可
台湾tw_vat台湾の VAT12345678可
韓国kr_brn韓国の BRN123-45-67890可
このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc