口座を収集して、データを活用する商品を構築する
ユーザーの口座を収集して、商品を構築するために残高、所有権の詳細、取引などのデータを使用する方法をご紹介します。
Financial Connections では、ユーザーは、外部の金融口座を貴社に関連付けることで財務データを安全に共有できます。Financial Connections を使用すると、トークン化された口座番号と金融番号、口座残高、口座所有者情報、取引履歴など、ユーザーに許可された財務データにアクセスできます。
以下は、Financial Connections をユーザーの製品の操作性の改善に使用する一般的な例です。
- 銀行口座名義人の名前や住所などの口座の所有権情報を確認することで、顧客または企業のアカウント登録時の不正利用を減らします。
- 取引データを使用して、ユーザーが経費の追跡、請求書の処理、財務の管理、財務状況の制御を実行できるようにします。
- リスク評価を迅速化して、取引と残高のデータを使用するクレジットやその他の金融サービスへのアクセスを向上させることができます。
ユーザーがより少ないステップで自身のアカウントを Link に関連付け、Stripe のすべての加盟店に銀行口座の詳細を保存して、素早く再利用できるようにします。
Stripe を設定するサーバー側
本番環境でのアクセスがアカウントに承認されたら、Financial Connections に登録してください。
アプリケーションから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。
口座名義人を作成または取得するサーバー側
ユーザーが貴社でアカウントを作成するときに、Customer (顧客) オブジェクト を作成します。メールアドレスを提供することで、 Financial Connections は Link のリピーターユーザーに効率的なユーザーインターフェイスを動的に表示し、認証フローを最適化できます。
Financial Connections Session を作成するサーバー側
Financial Connections を使用してユーザーの銀行口座からデータを取得するには、ユーザーが認証フローでその口座を認証する必要があります。
ユーザーは、口座をサイトまたはアプリケーションに関連付けるときに認証フローを開始します。ユーザーが口座を関連付けられるようにするボタン (銀行口座を関連付けるなど) またはリンクをサイトやアプリケーションに挿入します。
/v1/financial_
に送信することで、Financial Connections Session を作成します。
account_
を Customer のholder[customer] id
に設定します。- ユースケースの実施に必要なデータを含めてデータの
permissions
パラメーターを設定します。 - 「オプション」: アカウント作成時にデータを取得するために
prefetch
パラメーターを設定します。
permissions パラメーターは、アクセスできる口座データを管理します。少なくとも 1 つの権限をリクエストする必要があります。認証フローが完了すると、ユーザーはアクセスをリクエストしたデータを確認し、そのデータの共有に同意することができます。
ユースケースの実施に必要なデータを検討し、必要なデータのみにアクセスする権限をリクエストします。アプリケーションの範囲を大きく超える権限をリクエストすると、データの使用方法におけるユーザーの信頼を失う可能性があります。たとえば、個人向けの財務管理アプリケーションや融資商品を構築する場合は、transactions
データをリクエストします。アカウントの乗っ取りなどの不正利用を減らす場合は、ownership
の詳細をリクエストします。
ユーザーがアカウントを認証した後に権限を拡張するには、新しい Financial Connections Session を作成し、permissions
パラメーターに新しい値を指定する必要があります。ユーザーは認証フローを再度完了する必要があり、そこでアクセスの権限をリクエストした追加データを確認し、データの共有に同意します。
オプションの prefetch パラメーター は、ユーザーが口座を連結した直後に取得するデータを制御します。特定の種類のデータが常に必要である場合は、このオプションを使用します。これにより、データの更新を開始するために追加の API コールを実行する必要がなくなります。
ACH ダイレクトデビットによる決済を受け付けるためのオプションを保持するには、payment_
権限をリクエストします。
Financial Connections アカウントを収集するクライアント側
返された client_
を Stripe.js で使用して、ユーザーが口座を関連付けられるようにします。client_
により、クライアント側の Stripe SDK は Financial Connections Session を変更できます。これは、保存したり、ログに記録したり、URL に埋め込んだり、当該エンドユーザー以外の人に公開したりしないでください。client secret が含まれるすべてのページで TLS を有効化するのを忘れないでください。
口座を収集するには、collectFinancialConnectionsAccounts を使用します。
const stripe = new Stripe(
) const financialConnectionsSessionResult = await stripe.collectFinancialConnectionsAccounts({ clientSecret: "{{SESSION_CLIENT_SECRET}}", });'pk_test_TYooMQauvdEDq54NiTphI7jx'
このメソッドにより、認証フローが読み込まれます。これは、ユーザーが金融口座を貴社と Stripe に関連付けできるようにするクライアント側の Stripe.js UI です。
stripe.
の戻り値は Promise です。ユーザーが認証フローを完了すると、Promise は、連結アカウントのリストを含むオブジェクトで解決されます。
{ "financialConnectionsSession": { "id": "fcsess_123", "accounts": [ { "id": "fca_456", "object": "financial_connections.account", "category": "Checking", "display_name": "Premium Checking", "institution_name": "Test Bank", "last4": "4242" } ] } }
ユーザーが口座を関連付けないか、認証フローを途中で終了する場合、レスポンスに空の accounts
配列が含まれます。
認証フローが正常に完了すると、連結アカウントごとに 1 つの financial_
Webhook も送信されます。