コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要決済を受け付ける構築済みのシステムをアップグレード
オンライン決済
概要ユースケースを見つける
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
アプリ内実装を構築
Managed Payments を使用する継続課金
対面決済
Terminal
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
決済業務
アナリティクス
残高と売上処理にかかる期間
コンプライアンスとセキュリティ
通貨
支払い拒否
不審請求の申請
不正利用防止
Radar の不正防止
入金
領収書返金とキャンセル
高度な連携システム
カスタムの決済フロー
柔軟なアクワイアリング
複数の決済代行業者のオーケストレーション
決済以外の機能
会社を設立する
暗号資産
エージェント型コマース
Financial Connections
    概要
    導入方法
    ユースケース
    基本
    テスト
    対応可能な金融機関
    データのためのアカウントを収集
    ACH ダイレクトデビットによる支払い
    Connect の入金
    データを利用するその他の商品
    アカウントデータにアクセス
    残高
    所有権
    取引
    所有権の照合
    アカウントの管理
    アカウントを再度関連付ける
    Tokenized account numbers
    関連付けの解除
    Webhook
Climate
本人確認
アメリカ
日本語
ホーム決済管理Financial Connections

メモ

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

ユーザーの許可を得て Financial Connections アカウントへのデータアクセスをの関連付けを変更する公開プレビュー

ユーザーの許可を得て非アクティブな口座でデータアクセスを再確立する方法をご紹介します。

以下のようにさまざまな理由で、エンドユーザーにすでに関連付けられていた Financial Connections アカウントが inactive になることがあります。

  • 金融機関から Stripe に提供された OAuth トークンは、一定期間の経過後、または操作が行われていないことを理由として有効期限が切れます。
  • 金融機関が多要素認証の要件を変更した。
  • 不審なアクティビティーが原因で口座が金融機関によってロックされる。
  • ユーザーが金融機関の口座を解約する。
  • ユーザーがユーザー名またはパスワードを変更した。
  • ユーザーが、お客様または Stripe とデータ共有のアクセス権を取り消す。

非アクティブなアカウントでは、新しい口座データにアクセスできません。稀に、新しい口座データに永続的にアクセスできなくなることがあります。たとえば、エンドユーザーが金融機関の口座を解約した場合です。その他すべてのケースでは、ユーザーは、再認証を行って、新しい口座データの共有に同意する必要があります。

Financial Connections API では、以前に関連付けられていた口座の金融機関にユーザーを直接移動する、効率的な認証フローを使用して、(ユーザーの許可を得た上で) 以前に関連付けられていた Financial Connections アカウントのデータ接続を修復できます。

ユーザーがいつアカウントを再リンクするべきかを把握するには、以下のコードスニペットにあるように、すべてのリクエストや Webhook エンドポイント内において 2026-01-28.previewなどのプレビュー版 API バージョンを使用する必要があります。

口座が非アクティブになる時点を把握する
サーバー側

以前に関連付けられていた Financial Connections アカウントが 非アクティブになった場合は、financial_connections.account.deactivated Webhook で通知されます。口座の承認が inactive である場合、inactive の承認を再度関連付けることが可能であれば、Authorization オブジェクトの status_details ハッシュの inactive サブハッシュに、relink_required アクションが示されます。たとえば、以下のような Webhook ハンドラーを設定して Webhook イベントを処理することが必要になる場合があります。

Python
No results
import stripe import requests as r from requests.auth import HTTPBasicAuth stripe.api_version = '2026-01-28.preview' # If you are testing your webhook locally with the Stripe CLI you # can find the endpoint's secret by running `stripe listen` # Otherwise, find your endpoint's secret in your webhook settings in # the Developer Dashboard endpoint_secret = 'whsec_...' @app.route('/webhook', methods=['POST']) def webhook(): event = None payload = request.data sig_header = request.headers["STRIPE_SIGNATURE"] try: event = stripe.Webhook.construct_event(payload, sig_header, endpoint_secret) except ValueError as e: # Invalid payload raise e except stripe.error.SignatureVerificationError as e: # Invalid signature raise e if event["type"] == "financial_connections.account.deactivated": account = event["data"]["object"] authorization_response = r.get("https://api.stripe.com/v1/financial_connections/authorizations/" + account["authorization"], headers={"Stripe-Version": stripe.api_version}, auth=HTTPBasicAuth(SECRET_KEY, '')) authorization = authorization_response.json() if authorization["status"] == 'inactive' and authorization["status_details"]["inactive"]["action"] == 'relink_required': prompt_user_to_relink(authorization) else: # No action to be taken. return jsonify(success=True)

さらに、口座 ID を使用して口座を取得することで、口座のステータスを取得することができます。

Command Line
curl https://api.stripe.com/v1/financial_connections/accounts/:id \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -X "GET" \ -H "Stripe-Version: 2026-01-28.preview"
{ "id": "fca_1LDYuMGxLVUXRs6HW0lrat9T", "object": "financial_connections.account", //..., "authorization": "fcauth_1LDYuMGxLVUXRs6HW0lrat9T", "status": "inactive" }

その後、承認 ID を使用して口座の承認を取得することができます。

Command Line
curl https://api.stripe.com/v1/financial_connections/authorizations/:id \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -X "GET" \ -H "Stripe-Version: 2026-01-28.preview"
{ "id": "fcauth_1LDYuMGxLVUXRs6HW0lrat9T", "object": "financial_connections.authorization", //..., "status": "inactive", "status_details": { "inactive": { "action": "relink_required" } } }

非アクティブな口座を関連付けなおしてデータにアクセスすることができない場合、authorization.status_details.inactive.action は none です。このような場合は、エンドユーザーを通常の認証フローにリダイレクトして、金融機関を選択し、口座を最初から関連付けます。

{ "id": "fcauth_1LDYuMGxLVUXRs6HW0lrat9T", "object": "financial_connections.authorization", //..., "status": "inactive", "status_details": { "inactive": { "action": "none" } } }

口座の承認がアクティブであっても、口座自体が非アクティブである場合があります。この状況は、たとえば、金融機関で口座が解約されている場合に起こることがあります。このような場合、非アクティブな口座を関連付けなおしてデータにアクセスすることはできません。この場合も同様に、エンドユーザーを通常の認証フローにリダイレクトして、金融機関を選択し、口座を最初から関連付けます。

非アクティブな Financial Connections アカウントから関連付けを変更するための承認を取得する
サーバー側

非アクティブなアカウントのデータアクセスを再確立するには、アカウントオブジェクトからアカウントの承認の ID を取得します。

{ "id": "fca_1LDYuMGxLVUXRs6HW0lrat9T", "object": "financial_connections.account", //..., "authorization": "fcauth_1LDYuMGxLVUXRs6HW0lrat9T", "status": "inactive" }

Financial Connections アカウントでデータアクセスを修復する際は 2 つのオプションがあります。これは、Stripe で ACH ダイレクトデビットの決済を受け付けるために関連付けられていた口座の修復が目的であるか、その他の目的であるかよって決まります。

Financial Connections を使用するユーザーの銀行口座からデータアクセスを復元するには、ユーザーが、認証フローを使用して口座を再認証する必要があります。ユーザーは、口座をサイトやアプリケーションに関連付けなおす必要がある場合に認証フローを開始します。サイトやアプリケーションにユーザーが口座を関連付けなおすためのボタンやリンクを挿入してください。たとえば、「Re-link your bank account (銀行口座を再度関連付ける)」というボタンにすることができます。

認証フローが表示されると、エンドユーザーは関連金融機関で口座へのアクセスを認証するように求められます。ユーザーが最初に新しい口座を関連付ける場合の認証フローとは異なり、エンドユーザーは、銀行選択機能から金融機関を選択する必要はありません。

オプションACH ダイレクトデビットによる決済を受け付けるために Financial Connections アカウントのデータアクセスを修復する

Financial Connections セッションを作成する

Financial Connections Session を作成し、以下を指定します。

  1. account_holder[customer] を顧客の id に設定します。
  2. データの permissions パラメーターを設定して payment_method を組み込み、口座について取得するデータを設定します。permissions パラメーターは、[payment_method, balances, ownership, transactions] などの値が含まれる配列です。ユーザーのデータのプライバシーを保護するために、アクセスできる口座データは permissions パラメーターで指定したデータに制限されます。ユースケースに対応するために必要なデータを慎重に検討して、必要なデータのみにアクセスするための権限をリクエストします。認証フローが完了すると、permissions パラメーターで指定されたデータがユーザーに表示され、ユーザーはこのデータを共有するための同意を提供します。以下のコード例は、balances と payment_method を収集する方法を示しています。
  3. relink_options[authorization] を承認 ID に設定して、データアクセスを修復する口座の承認を指定します。
  4. filters[account_subcategories] を checking、savings に設定します。
  5. limits[accounts] を 1 に設定します。

Stripe で ACH ダイレクトデビットによる決済を受け付けるために追加できる引き落とし可能な口座は 1 つのみです。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/financial_connections/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "account_holder[type]"=customer \ -d "account_holder[customer]"=
"{{CUSTOMER_ID}}"
\ -d "filters[account_subcategories][]"=checking \ -d "filters[account_subcategories][]"=savings \ -d "limits[accounts]"=1 \ -d "permissions[]"=payment_method \ -d "permissions[]"=balances \ -d "relink_options[authorization]"=fcauth_1LDYuMGxLVUXRs6HW0lrat9T

このリクエストでは、次のようなレスポンスが返されます。

{ "id": "fcsess_abcd", "object": "financial_connections.session", "livemode": true, "account_holder": { "customer": "cus_NfjonN9919dELB", "type": "customer" }, "accounts": [], "client_secret": "fcsess_client_secret_UsESkKYzeiRcivgDJZfxZRFh", "filters": { "account_subcategories": ["checking", "savings"] }, "limits": { "accounts": 1 }, "permissions": [ "payment_method", "balances" ], "relink_options": { "authorization": "fcauth_1LDYuMGxLVUXRs6HW0lrat9T" } }

Financial Connections アカウントを再度関連付ける

返された client_secret を Stripe.js で使用して、ユーザーが口座の関連付けを変更できるようにします。client_secret により、クライアント側の Stripe SDK は Financial Connections Session を変更できます。これは、保存したり、ログに記録したり、URL に埋め込んだり、当該エンドユーザー以外の人に公開したりしないでください。client secret が含まれるすべてのページで TLS を有効化するのを忘れないでください。

口座を収集するには、stripe.collectFinancialConnectionsAccounts を使用します。

// Fetch existing accounts on the authorization to determine whether the linked account is new. const existing_account_ids = await fetch_existing_accounts(); const financialConnectionsSessionResult = await stripe.collectFinancialConnectionsAccounts({ clientSecret: "fcsess_client_secret_UsESkKYzeiRcivgDJZfxZRFh" });

Stripe.js が認証フローを読み込みます。クライアント側の Stripe.js UI によってユーザーは、貴社が permissions パラメーターを使用してアクセスをリクエストしたデータを確認して共有に同意することと、金融口座を貴社と Stripe に関連付けなおすことができます。

認証フローは以下のようになります。

関連付けの変更フロー

stripe.collectFinancialConnectionsAccounts の戻り値は Promise です。ユーザーが認証フローを完了すると、Promise は、関連付けの変更後の口座のリストを含むオブジェクトで解決されます。

stripe.collectFinancialConnectionsAccounts(clientSecret) .then(({financialConnectionsSession, error}) => { if (error) { // The session failed for some reason. console.error(error.message); } else if (financialConnectionsSession.accounts.length > 0) { // User has authorized some account on the authorization. const is_new = !existing_account_ids.includes(financialConnectionsSession.accounts[0].id); // The user has connected a new account on the authorization. if (is_new) { // You must surface the mandate for new accounts to process ACH payments. return surface_mandate(); } else { // User has reauthorized an existing payment account. reload_account(financialConnectionsSession.accounts[0].id); return display_success(); } } else if (accounts.length == 0) { // The session failed to connect an account. } });

ユーザーがデータ共有する口座を関連付けている場合、accounts の長さは > 0 です。

エンドユーザーの金融機関の OAuth フロー内で、ユーザーは最初に関連付けたものとは別の口座を選択することができます。ユーザーが最初に関連付けた口座とは別の口座を関連付けた場合、is_new フィールドに新しい口座 ID が示されます。支払い方法への新しく作成した Financial Connections アカウントの変換のステップに従ってください。

ユーザーに引き落とし可能な口座がない場合、accounts の長さは 0 です。

トークン化された口座番号を持つデビット口座の再関連付け

一部の銀行では、未加工の口座番号ではなくトークン化された口座番号 (TAN) を使用しているため、口座の再関連付けを行うと、関連付けられていた決済手段データが更新されます。ユーザーが Chase または PNC の口座を再度関連付けると、決済手段に元々関連付けられていた口座番号が自動的に更新されます。

オプションその他すべてのユースケースで Financial Connections アカウントのデータアクセスを修復する

セッションを作成する

Financial Connections Session を作成し、以下を指定します。

  1. account_holder[customer] を顧客の id に設定します。
  2. データの permissions パラメーターを設定して payment_method を組み込み、口座について取得するデータを設定します。permissions パラメーターは、[payment_method, balances, ownership, transactions] などの値が含まれる配列です。ユーザーのデータのプライバシーを保護するために、アクセスできる口座データは permissions パラメーターで指定したデータに制限されます。ユースケースに対応するために必要なデータを慎重に検討して、必要なデータのみにアクセスするための権限をリクエストします。認証フローが完了すると、permissions パラメーターで指定されたデータがユーザーに表示され、ユーザーはこのデータを共有するための同意を提供します。以下のコード例は、balances と payment_method を収集する方法を示しています。
  3. relink_options[authorization] を承認 ID に設定して、データアクセスを修復する口座の承認を指定します。
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/financial_connections/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "account_holder[type]"=customer \ -d "account_holder[customer]"=
"{{CUSTOMER_ID}}"
\ -d "permissions[]"=payment_method \ -d "permissions[]"=balances \ -d "relink_options[authorization]"=fcauth_1LDYuMGxLVUXRs6HW0lrat9T

このリクエストでは、次のようなレスポンスが返されます。

{ "id": "fcsess_abcd", "object": "financial_connections.session", "livemode": true, "account_holder": { "customer": "cus_NfjonN9919dELB", "type": "customer" }, "accounts": [], "client_secret": "fcsess_client_secret_UsESkKYzeiRcivgDJZfxZRFh", "permissions": [ "payment_method", "balances" ], "relink_options": { "authorization": "fcauth_1LDYuMGxLVUXRs6HW0lrat9T" } }

Financial Connections アカウントを再度関連付ける

返された client_secret を Stripe.js で使用して、ユーザーが口座の関連付けを変更できるようにします。client_secret により、クライアント側の Stripe SDK は Financial Connections Session を変更できます。これは、保存したり、ログに記録したり、URL に埋め込んだり、当該エンドユーザー以外の人に公開したりしないでください。client secret が含まれるすべてのページで TLS を有効化するのを忘れないでください。

口座を収集するには、stripe.collectFinancialConnectionsAccounts を使用します。

// Fetch existing accounts on the authorization to determine whether the linked account is new. const existing_account_ids = await fetch_existing_accounts(); const financialConnectionsSessionResult = await stripe.collectFinancialConnectionsAccounts({ clientSecret: "fcsess_client_secret_UsESkKYzeiRcivgDJZfxZRFh" });

stripe.collectFinancialConnectionsAccounts の戻り値は Promise です。ユーザーが認証フローを完了すると、Promise は、関連付けの変更後の口座のリストを含むオブジェクトで解決されます。

stripe.collectFinancialConnectionsAccounts(client_secret).then(({session, error}) => { if (error) { // The session failed for some reason. console.error(error.message); } else if (session.accounts.length > 0) { // User has reauthorized existing Financial Connections accounts. reload_accounts(session.accounts); } else if (accounts.length == 0) { // The session failed to connect an account. } });

ユーザーがデータ共有する口座を関連付けている場合、accounts の長さは > 0 です。

エンドユーザーの金融機関の OAuth フロー内で、ユーザーは最初に関連付けたものとは別の口座を選択することができます。

Financial Connections アカウントのデータを取得する
サーバー側

ユーザーが認証フローを正常に完了したら、Financial Connections Session の permissions パラメーターで指定した口座データのアクセスや更新を行います。

ユーザーのデータのプライバシーを保護するために、アクセスできる口座データは、permissions パラメーターで指定したデータに制限されています。

口座データの取得を開始するには、残高、所有権、取引のガイドをご覧ください。

このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM は llms.txt を参照してください。
  • Powered by Markdoc