口座を収集して、データを活用する商品を構築する
ユーザーの口座を収集して、商品を構築するために残高、所有権の詳細、取引などのデータを使用する方法をご紹介します。
Financial Connections では、ユーザーは、外部の金融口座を貴社に関連付けることで財務データを安全に共有できます。Financial Connections を使用すると、トークン化された口座番号と金融番号、口座残高、口座所有者情報、取引履歴など、ユーザーに許可された財務データにアクセスできます。
以下は、Financial Connections をユーザーの製品の操作性の改善に使用する一般的な例です。
- 銀行口座名義人の名前や住所などの口座の所有権情報を確認することで、顧客または企業のアカウント登録時の不正利用を減らします。
- 取引データを使用して、ユーザーが経費の追跡、請求書の処理、財務の管理、財務状況の制御を実行できるようにします。
- リスク評価を迅速化して、取引と残高のデータを使用するクレジットやその他の金融サービスへのアクセスを向上させることができます。
ユーザーがより少ないステップで自身のアカウントを Link に関連付け、Stripe のすべての加盟店に銀行口座の詳細を保存して、素早く再利用できるようにします。
Stripe を設定するサーバー側クライアント側
本番環境でのアクセスがアカウントに承認されたら、Financial Connections に登録してください。
サーバー側
この組み込みは、Stripe API と通信するサーバー上にエンドポイントを必要とします。サーバーから Stripe API へのアクセスには、Stripe の公式ライブラリを使用します。
クライアント側
Stripe iOS SDK はオープンソースです。詳細なドキュメントが提供されており、iOS 13 以降をサポートするアプリと互換性があります。
注
For details on the latest SDK release and past versions, see the Releases page on GitHub. To receive notifications when a new release is published, watch releases for the repository.
口座名義人を作成または取得するサーバー側
ユーザーが貴社でアカウントを作成するときに、Customer (顧客) オブジェクト を作成します。メールアドレスを提供することで、 Financial Connections は Link のリピーターユーザーに効率的なユーザーインターフェイスを動的に表示し、認証フローを最適化できます。
Financial Connections Session を作成するサーバー側
注
このエンドポイントの実行可能な実装が Glitch で提供されており、簡単なテストに利用できます。
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_
権限をリクエストします。
戻り先 URL を設定するクライアント側
The customer might navigate away from your app to authenticate (for example, in Safari or their banking app). To allow them to automatically return to your app after authenticating, configure a custom URL scheme and set up your app delegate to forward the URL to the SDK. Stripe doesn’t support universal links.
注
Stripe は、指定された戻り先 URL にパラメーターを追加する場合があります。パラメーターが追加された戻り先 URL がコードで拒否されないことを確認してください。
FinancialConnectionsSheet を組み込むクライアント側
Financial Connections フローを表示する前に、Stripe の UI を表示する Connect Financial Account (金融口座を関連付ける) ボタンをページに含める必要があります。
アプリで、前のステップで作成したエンドポイントから FinancialConnectionsSession
の client secret と公開可能キーを取得します。StripeAPI.
を使用して公開可能キーを設定し、FinancialConnectionsSheet
を初期化します。前のステップで設定した returnURL
を渡します。
顧客が Connect Financial Account (金融口座を関連付ける) ボタンをタップしたら、FinancialConnectionsSheet#present
を呼び出して Financial Connections 画面を表示します。顧客が Financial Connections フローを完了すると、この画面は閉じ、FinancialConnectionsSheetResult
で完了ブロックが呼び出されます。