Financial Connections アカウントの取引にアクセスする
ユーザーの許可を得て口座の取引にアクセスします。
Financial Connections API を使用すると、Financial Connections アカウントの取引を取得できます。取引データを使用して、次のようにさまざまな商品とソリューションを構築します。
- リスク評価をスピードアップして、クレジットやその他の金融サービスへのユーザーアクセスを向上させることができます。
- ユーザーの取引履歴を評価し、金融アカウントの現金の流入と流出を理解することで、不正利用を減らし、ユーザーのアカウント登録時のリスクを軽減します。
- ユーザーによる支出の追跡、請求書の処理、財務の管理をサポートします。
はじめに
本番環境で transactions にアクセスするには、Financial Connections 登録が完了している必要があります。ダッシュボードの設定を調べて登録状態を確認するか、登録プロセスを開始してください。テスト環境の Financial Connections データはいつでも利用可能です。
顧客を作成するRecommendedServer-side
Customer は、ユーザーを表すメールアドレスを含めて作成し、支払いに関連付けられるようにすることをお勧めします。Customer オブジェクトを関連付けることで、後ですでに関連付けられたことがある口座を一覧表示できます。Customer オブジェクトにメールアドレスを入力すると、Financial Connections では Link のリピートユーザーであるかどうかに応じてユーザーのサインインまたは登録を効率化することで、認証フローを改善できます。
口座の取引へのアクセスをリクエストするサーバー側
取引データにアクセスするには、口座を収集する必要があります。Financial Connections アカウントの収集方法について、詳細は決済の受け付け、Connect での入金の円滑化、データを利用するその他の商品の構築など、ユースケースに最も適した導入ガイドをご覧ください。
口座を収集するときはアクセスする必要があるデータを permissions パラメーターで指定します。ユーザーは認証フローで、一連のリクエスト対象のデータ権限を表示できます。Financial Connections アカウントはさまざまな導入パスで収集できますが、パラメーターの指定方法は API によって若干異なります。
特定の支払い API に対して動的な支払い方法を使用するときは、リクエストされた権限をダッシュボードで設定することもできます。Financial Connections アカウントでその他の口座データにアクセスする方法をご覧ください。
取引データに登録するサーバー側
口座の取引データに登録すると、Stripe によって毎日バックグラウンドで新しい取引が自動的に取得され、利用可能になった時点で通知が届きます。口座の取引データを最新状態に保つには、毎日の更新に登録するのが最も簡単です。
取引の登録対象の Financial Connections アカウント ID を取得する方法については、Stripe の支払いの導入に関するドキュメントを参照するか、Financial Connections Sessions のガイドを確認してください。
Subscribe API を呼び出して、取引データに登録します。
注
登録は非アクティブなアカウントでは実行できません。
次の API コールは、将来の取引データの登録を有効化するだけでなく、取引の更新を自動的に開始します。
{ "id": "fca_1LDYuMGxLVUXRs6HW0lrat9T", "object": "financial_connections.account", "display_name": "Savings", "institution_name": "Test Bank", "status": "active", "permissions": ["transactions"], "subscriptions": ["transactions"], "transaction_refresh": { "id": "fctxnref_1aaaxqEitUZY8Svm4QdcWZKt", "last_attempted_at": 1706742786, "next_refresh_available_at": null, "status": "pending" } // ... }
取引データに登録されている限り、Stripe によって毎日新しい更新が開始されます。
更新の完了を待つ
Financial Connections データの更新はすべて非同期で行われます。取引の更新を開始した後、完了を待ってから結果として得られた取引を取得する必要があります。
Financial Connections アカウントの transaction_refresh フィールドは、取引の更新ステータスを表します。transactions
権限をリクエストして更新を開始するまで、このフィールドは null
になります。取引の更新を開始すると、ステータスは pending
に移行し、完了すると succeeded
または failed
になります。取引更新の完了時に Stripe は financial_connections.account.refreshed_transactions イベントを送信します。更新が成功したことを確認するには、Webhook の処理中に transaction_
フィールドを確認します。
取引を取得するサーバー側
Stripe によって口座の取引が正常に更新されると、Transactions List API を使用してその取引を取得できます。
Stripe は、口座の金融機関に応じて、1 つの口座に関して最大 180 日分の取引履歴を複数のページに分割したリストを返します。
{ "object": "list", "data": [ { "id": "fctxn_1LXp9RGxLVUXRs6HtTSVfxse", "object": "financial_connections.transaction", "account": "fca_1LDYuMGxLVUXRs6HW0lrat9T", "amount": -1000, "currency": "usd", "description": "Rocket Rides", "livemode": true, "status": "posted", "status_transitions": { "posted_at": 1651784999, "void_at": null }, "transacted_at": 1651784999, "transaction_refresh": "fctxnref_1LXp8WGxLVUXRs6Hkc5PNUXf", "updated": 1651784999 }, {...}, {...} ], "has_more": false, "url": "/v1/financial_connections/transactions" }
取引の Status (ステータス) は、pending
、posted
、void
のいずれかになります。description フィールドに含まれる情報はさまざまですが、ビジネス名などのメタデータを含めることができます。
前回の更新以降の取引を取得する
前回のデータ取得以降の新しい取引データのみを取得することもできます。たとえば、ユーザーが以前に取得した取引データをデータベースに保存し、後から新しいデータや更新されたデータが利用可能になったときに統合できます。
新規の取引データまたは前回の更新以降に更新された取引データのみを取得するには、最後に確認した financial_connections.account.refreshed_transactions Webhook イベントオブジェクトによって提供された transaction_
ID を List API に渡します。
以下は、新規または更新された取引データのみを取得して記録する Webhook 導入の例です。