Financial Connections の基本
Stripe Financial Connections プロダクトには、2 つの主要コンポーネントが含まれています。1 つは、認証フローによるエンドユーザーの銀行口座の収集で、もう 1 つは収集されたアカウントに関するデータの取得です。Financial Connections の導入には、複数の方法があります。以下の例では、Financial Connections Session の使用を想定していますが、全体的な概念とフロー図は、Setup Intents や Payment Intents などの決済システムと同様に機能します。
Financial Connections 認証フローを初期化および終了するには、以下の手順に従います。
- ユーザーがクライアントで銀行口座の関連付けを開始します。
- 認証フローを実行するために、サーバー側で Financial Connections Session を作成します。
- クライアントに、セッションの
client_secret
を返します。 - collectFinancialConnectionsAccounts を使用して認証フローを開始します。
- ユーザーがフローを完了し、これによりセッションにアカウントが関連付けられます。
ユーザーの認証済み口座を取得した後で、サーバーからデータ更新を開始できます。更新が完了すると、口座データを取得できます。
認証フロー
認証フローは、ユーザーがデータ共有に同意し、金融口座をお客様と Stripe に関連付けできるようにする、クライアント側の UI です。
UI をクライアント側のユーザーフローに埋め込みます。これは、ウェブ、iOS、Android、モバイルウェブビューなど、主要なすべてのブラウザーとプラットフォームで機能します。
ユーザーは認証フローで以下のステップに従います。
ステップ | 説明 |
---|---|
同意する | ユーザーが、リクエストされたデータの共有に同意します。 |
機関を選択する | ユーザーは、代表的な銀行から選択するか、サポートされている 5,000 以上の銀行を検索します。 |
銀行にログインする | ユーザーは銀行にログインして、口座へのアクセスを認証します。 |
口座を選択する | ユーザーは関連付ける特定の口座を選択します。 |
成功 | 認証に成功すると、ユーザーに成功画面が表示されます。 |
Setup Intents などの決済システムでは、verification_method パラメーターを使用して、少額入金をフォールバックとして使用する認証フローを設定できます。
再利用時の最適化
Financial Connections を使用すると、ユーザーはより少ないステップで自身のアカウントを Link に関連付け、Stripe のすべての加盟店に銀行口座の詳細を保存して、すばやく再利用できます。
リピートユーザーの最適化を有効にするには、メールアドレスを持つ顧客を指定して、Financial Connections 認証フローを起動する必要があります。特定のユースケースでこれを行う方法の例については、ガイドをご覧ください。
Stripe が金融口座を関連付ける方法
認証フローで、ユーザーは、OAuth (銀行によるホスティング) フローまたは非 OAuth フローのいずれかを使用して銀行にログインし、口座へのアクセスを認証します。Stripe では通常、認証フローにデフォルトで OAuth を使用します (金融機関で使用可能な場合)。システムで、OAuth アカウントと非 OAuth アカウントの処理を変える必要はありません。
OAuth は、ユーザーが、アプリケーション (Stripe など) に対して、他のアプリケーション (銀行アプリなど) 内の情報にアクセスすることを許可するための標準化されたプロトコルです。このプロトコルを使用することで、ユーザーはログイン認証情報を共有する必要がなくなります。
OAuth と Financial Connections の連携方法をご紹介します。
- ユーザーは、Financial Connections 認証フローで銀行を選択すると、銀行のウェブサイトまたはモバイルアプリに移動します。
- ユーザーは銀行にログインし、Stripe と口座データ (残高や取引など) を共有する権限を銀行に付与します。
- 銀行は、ユーザーを認証フローに再度リダイレクトして、承認された銀行口座情報への Stripe のアクセスを許可するトークンを渡します。
- ユーザーがログイン認証情報を Stripe と共有することはありません。
非 OAuth フローでは、エンドユーザーは、Stripe またはいずれかの信頼できるパートナーに、認証情報を直接提供します。
Financial Connections アカウント
認証フローを正常に完了すると、ユーザーによって認証されたアカウントごとに Financial Connections Account (Financial Connections アカウント) が 1 つ作成されます。Financial Connections アカウントは、残高や取引など、その他の口座データにアクセスするために使用する API オブジェクトです。それぞれ当座預金、普通預金、ローン、クレジットカード口座などの外部金融口座を表します。アカウントの account_subcategory フィールドで、対応するすべての口座種別のリストをご覧ください。当座預金口座や普通預金口座など、現金ベースの口座のみが ACH (Automated Clearing House) 送金を利用できます。
データ権限
口座を収集すると、すぐに次の情報にアクセスできるようになります。
- 口座番号の末尾 4 桁
- 当座、普通などの口座種別
- 口座のニックネーム (使用している場合)
残高や取引など、その他の口座データにアクセスするには、データ権限を指定してアクセスをリクエストする必要があります。Financial Connections セッションなどのサーバー側オブジェクトのデータ権限は、permissions パラメーターを使用して設定します。
利用できるデータ | 権限 | 説明 |
---|---|---|
口座情報 | payment_method | トークン化された口座番号と金融番号 (資金移動では必須) |
口座名義人 | ownership | 口座名義人の名前と住所 |
残高 | balances | 現在の残高と利用可能な残高 |
取引 | transactions | 保留中および転記済みの取引 |
ユースケースの実施に必要なデータを検討し、必要なデータのみにアクセスする権限をリクエストします。アプリケーションのスコープを大きく超える権限をリクエストすると、データの使用方法についてのユーザーの信頼を失う可能性があります。たとえば、個人向けの財務管理アプリケーションや融資商品を構築する場合は、transactions
データをリクエストします。アカウントの乗っ取りなどの不正利用を減らす場合は、ownership
の詳細をリクエストします。
認証フローでは、ユーザーはお客様がアクセスをリクエストしたデータタイプを参照できます。ユーザーはこのデータを共有することへの同意を提出する必要があります。アクセス権限を持つデータタイプを拡大するには、ユーザーが新しいデータ権限の認証フローを再度完了する必要があります。
残高の導入ガイドで、金融口座データへのアクセス方法の例をご覧になるか、さまざまなデータタイプを対象としたユースケースで詳細をご確認ください。