# トークン化された口座番号による銀行口座の管理 トークン化されたアカウント番号、連携機能への影響、TAN アカウントの管理方法についてご説明します。 トークン化されたアカウント番号 (TAN) は、実際のアカウント番号の代わりに金融機関が発行する一時的な銀行口座の認証情報です。Chase、PNC Bank、US Bank が TAN を発行しています。 ## Before you begin 1. Financial Connections の[基本](https://docs.stripe.com/financial-connections/fundamentals.md)について理解する 1. Financial Connections アカウント [Webhook イベント](https://docs.stripe.com/financial-connections/webhooks.md)を読み、Financial Connections アカウントの変更に関する更新を受け取る方法を確認します。 ## TAN の仕組み TAN は実際のアカウント番号や金融番号と同様に動作し、ステータスが有効な場合に ACH 決済の受け付けや入金の送信に使用できます。実際のアカウント番号とは異なり、TAN は無効にできるため、[Financial Connections アカウント](https://docs.stripe.com/financial-connections/fundamentals.md#financial-connections-account)での以降の ACH 取引が失敗する可能性があります。 > TAN の動作は金融機関によって異なります。顧客失効と有効期限をサポートする銀行もあれば、サポートしない銀行もあります。金融機関ごとの動作を確認するには、[銀行別の TAN 詳細](https://docs.stripe.com/financial-connections/tokenized-account-numbers.md#tan-details-by-bank)をご覧ください。 ### 実際のアカウント番号を TAN と比較する 実際のアカウント番号と TAN の違いを次に示します。 | | 実際のアカウント番号 | トークン化されたアカウント番号 | | ----------- | ------------------------------------ | -------------------------------------------------------- | | **経時的な安定性** | アカウントが関連付けられるたびに同じ金融番号と経路の選定番号を返します。 | アカウントが金融機関への同意オーソリを完了するたびに、トークン化された新しいアカウント番号と金融番号を返します。 | | **有効期限** | 期限切れがない | 発行機関の裁量により失効する可能性があります (銀行によって異なる) | | **取り消し可能** | 顧客は取り消すことができない | 顧客が取り消すことができる場合がある(銀行によって異なる) | | **顧客に認識可能** | 可 | 不可 | ### 非アクティブ化された TAN 発行銀行のポリシーによっては、TAN が無効になることがあります。決済の失敗を回避するには、[非アクティブな TAN](https://docs.stripe.com/financial-connections/tokenized-account-numbers.md#handle-deactivated-tans) を処理します。 一般的な無効化シナリオは次のとおりです。 - **取り消し**: 顧客が金融機関のオンラインバンキングポータル (Chase Security Center など) を使用して、アカウントデータへのアクセスを能動的に取り消した場合。このオプションは一部の金融機関でのみ利用できます。 - **有効期限**: TAN は、金融機関が設定した時間の経過後に期限切れになります。すべての銀行が時間ベースの有効期限を実装しているわけではありません。 TAN が無効化された後、顧客は[銀行アカウントを再度リンクする](https://docs.stripe.com/financial-connections/relink.md)か、別の銀行アカウントをリンクして、決済や入金の受け取りを継続できるようにする必要があります。 失効と有効期限をサポートする機関については、[銀行別の TAN 詳細](https://docs.stripe.com/financial-connections/tokenized-account-numbers.md#tan-details-by-bank)をご覧ください。 ## TAN の管理方法 ### UI で顧客に実際のアカウントの詳細を表示する アプリケーションで顧客が銀行口座を認識して選択できるようにアカウント ID を表示する場合は、[Financial Connections アカウント](https://docs.stripe.com/api/financial_connections/accounts/object.md) オブジェクトの [last4](https://docs.stripe.com/api/financial_connections/accounts/object.md#financial_connections_account_object-last4) フィールドを表示します。このフィールドには、金融機関が TAN と実口座番号のどちらを使用しているかに関係なく、実口座番号の末尾 4 桁が表示されます。 ### TAN を持つ Financial Connections アカウントとそのステータスを識別する [Financial Connections API](https://docs.stripe.com/api/financial_connections/accounts.md) を使用して、銀行口座に TAN または実際の口座番号があるかどうか、およびその TAN を ACH 取引に使用できるかどうかを判断します。 [Financial Connections アカウント](https://docs.stripe.com/api/financial_connections/accounts.md) に TAN があるかどうかを判別するには、[account_numbers](https://docs.stripe.com/api/financial_connections/accounts/object.md#financial_connections_account_object-account_numbers) 配列のオブジェクトの [identifier_type](https://docs.stripe.com/api/financial_connections/accounts/object.md#financial_connections_account_object-account_numbers-identifier_type) フィールドを参照します。アカウント番号が TAN の場合は、`tokenized_account_number` に設定されます。実際のアカウント番号の `identifier_type` は `account_number` に設定されます。 ```curl curl https://api.stripe.com/v1/financial_connections/accounts/fca_zbyrdjTrwcYZJZc6WBs6GPid \ -u "<>:" ``` このリクエスト例は、TAN に関する情報を含む Financial Connections アカウントを返します。 ```json { "id": "fca_zbyrdjTrwcYZJZc6WBs6GPid", "object": "financial_connections.account", "account_holder": { "customer": "cus_NfjonN9919dELB", "type": "customer" }, "institution_name": "PNC Bank", "status": "active", "account_numbers": [ { "identifier_type": 'tokenized_account_number, "expected_expiry_date": null, "status": "transactable", "supported_networks" : ["ach"] } ] } ``` リクエストで、TAN の[ステータス](https://docs.stripe.com/api/financial-connections/accounts/object.md#financial_connections_account_object-status)を確認します。TAN のステータスは次のいずれかです。 | ステータス | 説明 | | -------------- | --------------------------------------------------- | | `transactable` | この口座とトークン化された口座番号は、ACH 決済や支払いを含む資金移動に引き続きご利用いただけます。 | | `無効` | 顧客が銀行ポータルで TAN へのアクセスを取り消しました。この TAN を使用した取引は失敗します。 | Financial Connections アカウントは、TAN が無効になっていても、銀行データの更新にアカウントが引き続き使用できる場合は、`status` はアクティブになる可能性があります。 > PNC Bank は 2025 年 8 月 18 日から 9 月 9 日の間に、一部の口座の有効期限が切れる前に 1 年間の有効期限を一時停止しました。時間ベースの有効期限は、銀行が TAN ポリシーを更新するにつれて再開される可能性があります。 銀行は、TAN に時間ベースの有効期限ルールを追加する場合があります。銀行によって TAN の有効期限が設定されている場合は、以下を実行できます。 1. `expected_expiry_date` フィールドを参照します。有効期限が表示されます。 1. TAN が期限切れになる 30 日前に Stripe から送信される `financial_Connections.account.upcoming_account_number_expiry` Webhook イベントをリッスンします。 ## 非アクティブ化された TAN を処理する このガイドでは、次のいずれかの TAN の無効化を管理する方法について説明します。 - ACH ダイレクトデビットによる支払い - 入金に使用される外部の銀行口座 > Webhook エンドポイントをまだ設定していない場合は、(ダッシュボードの [Webhook](https://dashboard.stripe.com/webhooks) ページを使用するか、[Webhook ガイド](https://docs.stripe.com/webhooks/quickstart.md)に従って) 導入に該当[するイベント](https://docs.stripe.com/financial-connections/webhooks.md)をリッスンする必要があります。 ### ACH ダイレクトデビットによる支払い アカウントの関連付けられている TAN が無効になると、ACH Direct Debit [PaymentMethods](https://docs.stripe.com/api/payment_methods.md) が使用できなくなります。支払いの失敗を回避するには、ACH Direct Debit の導入で TAN の無効化を処理してください。 ACH Direct Debit PaymentMethodに使用されるTANの銀行口座が無効になると、Stripeは[payment_method.automatically_updated](https://docs.stripe.com/api/events/types.md#event_types-payment_method.automatically_updated)イベントを送信します。 Webhook ハンドラーで非アクティブ化された TAN を含む PaymentMethod を識別するには、決済手段の `payment_method.us_bank_account.status_details.blocked.reason` フィールドが `tokenized_account_number_deactivated` に設定されているかどうかを確認します。 無効化された TAN で ACH Direct Debit 支払いを確定しようとすると、Stripe は `bank_account_unusable` エラーを返します。顧客のセッション中にこのエラーが発生した場合には、新しい決済方法を収集する必要があります。ACH の返金とは異なり、無効化された TAN が原因で ACH 取引が失敗すると Stripe が想定した場合には、ACH 取引がネットワークに送信される前にStripe が決済をブロックします。これにより決済の失敗が2 〜 3 日後ではなく支払い時に確定するため、決済失敗手数料の支払いを回避できます。 > #### 非アクティブ化された TAN の処理を回避 > > 無効化された TAN を使用して Stripe 外で処理された ACH 決済も失敗しますが、代行業者は送信時に決済を拒否しないことがあります。ダウンストリームの失敗を回避するために、無効化された TAN で支払いを送信しないようにする必要があります。 今後の決済を確実に成功させるには、銀行アカウントを再収集するか、顧客から新しい銀行アカウントを収集し、新しい PaymentMethod を作成します。 ### 外部の銀行口座 Financial Connections に関連付けられていた[外部銀行口座](https://docs.stripe.com/api/external_account_bank_accounts/object.md)は、TAN が無効になると使用できなくなります。入金の失敗を回避するには、Payouts の導入で TAN の無効化を適切に処理してください。 TAN が設定された銀行口座が外部の銀行口座に対して無効化されると、Stripe は [account.external_account.updated](https://docs.stripe.com/api/events/types.md#event_types-account.external_account.updated) Webhook イベントを送信します。 TAN が無効化されたために `account.external_account.updated` イベントが送信されたかどうかを判断するには、Webhook ハンドラーで、外部銀行口座の `status` フィールドが `tokenized_account_number_deactivated` に設定されていることを確認します。 将来の Payouts を確実に成功させるには、顧客から銀行アカウントまたは新しい銀行アカウントを再収集し、新しい外部銀行アカウントを作成します。 ## TAN の詳細 (銀行別) 次の機関は、顧客が Financial Connections を介して口座を Link すると TAN を返します。 | 機関名 | 詳細 | 発効日 | | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | | 追跡 | お客様は、Chase Security Center から TAN アカウントへのアクセスを取り消すことができます。 | すべてのアカウント | | PNC Bank | お客様は、PNC オンラインバンキングポータルを通じて TAN へのアクセスを取り消すことができます。PNC は一時的に、2024 年 8 月 18 日以降、2024 年 9 月 9 日以前に発行された TAN を無効化する、時間制限付き有効期限ポリシーを導入しました。将来的に、PNC が TAN に対して時間制限付き有効期限ポリシーを再導入する可能性があります。 | 2024 年 8 月 18 日以降に関連付けられたアカウント | | アメリカの銀行 | アメリカ銀行の TAN は有効期限がなく、顧客はこれらの TAN を取り消すことはできません。 | 2025 年 11 月 30 日から 2026 年 3 月 31 日の間に一部のアカウントで順次導入 | > #### トークン化されたアカウント番号の有効化の遅れ > > US Bank および PNC のトークン化された口座番号は、発行後有効になるまで最大 45 分かかります。発行直後に送信された支払いは銀行側で拒否される場合があります。Stripe で ACH 決済を処理する場合、Stripe 側で自動的にこうしたタイムラグが調整されます。Stripe 外で ACH 決済を処理する際には、発行後 90 分待ってから ACH 決済を送信してください。 ## See also - [TAN の動作をテストする](https://docs.stripe.com/financial-connections/testing.md#simulating-tokenized-account-number-behavior)