Financial Connections アカウントの取引にアクセスする
ユーザーの許可を得て口座の取引にアクセスします。
Financial Connections API を使用すると、Financial Connections アカウントの取引を取得できます。取引データを使用して、次のようにさまざまな商品とソリューションを構築します。
- リスク評価をスピードアップして、クレジットやその他の金融サービスへのユーザーアクセスを向上させることができます。
- ユーザーの取引履歴を評価し、金融アカウントの現金の流入と流出を理解することで、不正利用を減らし、ユーザーのアカウント登録時のリスクを軽減します。
- ユーザーによる支出の追跡、請求書の処理、財務の管理をサポートします。
はじめに
本番環境で transactions にアクセスするには、Financial Connections の登録を完了している必要があります。ダッシュボードの設定に移動して登録状況を確認するか、登録プロセスを開始してください。Financial Connections のテストデータはいつでも利用できます。
顧客を作成するRecommendedServer-side
Customer は、ユーザーを表すメールアドレスを含めて作成し、決済に関連付けることをお勧めします。Customer オブジェクトを関連付けることで、後ですでに関連付けられている口座を一覧表示することができます。Customer オブジェクトにメールアドレスを入力すると、Link のリピーターであるかどうかに応じてユーザーのサインインまたは登録が省略されるため、Financial Connections、認証フローを改善できます。
口座の取引へのアクセスをリクエストするサーバー側
取引データにアクセスするには、口座を収集する必要があります。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 導入の例です。
オプション取引データの登録を解除する
サブスクリプションをいつでも開始、キャンセル、再開できます。サブスクリプションをキャンセルするには、Unsubscribe API を呼び出します。
サブスクリプションを再開するには、Subscribe API を再度呼び出します。
オプション取引をオンデマンドで更新する
毎日の更新の登録に代わる方法として、取引データのプリフェッチとオンデマンドの更新という 2 つの方法があります。これらの方法は、リスク評価などのユースケースで 1 回限りの取引データの取得のみが必要な場合に役立ちます。毎日の更新の登録を有効にしている場合でも使用できますが、ほとんどの金融機関は取引を 1 日に複数回更新することはありません。
取引データをプリフェッチする
口座の収集「前」に、口座取引をプリフェッチするかどうかを指定します。これにより、認証フローでユーザーが自分の口座を連結するとすぐに更新プロセスが開始されます。関連付けられた口座すべての取引データが必要なときや、データを最短で受け取るようにするときは prefetch を設定します。prefetch パラメーターは Financial Connections に対応するすべての API で使用できます。
prefetch を使用して取引の更新を開始した後は、完了するまでお待ちください。
オンデマンド更新を開始する
Refresh API を使用すると、口座の収集「後」にオンデマンドで取引の更新を開始し、特定の口座の取引情報を都合の良いときに取得できるため、判断を先送りできます。
注
更新は非アクティブなアカウントでは実行できません。
Refresh API を使用して取引の更新を開始したら、完了するまでお待ちください。
取引の更新が完了すると、Stripe は transaction_refresh.next_refresh_available_at フィールドを使用して将来の更新の提供状況を設定します。新しい取引の更新を開始する前にこのフィールドを調べて、更新が現在利用可能かどうかを確認してください。値が null のとき (更新が保留中か口座が非アクティブの場合は常にこの値) または現在時間が next_ タイムスタンプより前のときに更新しようとすると、更新は開始されません。
プライベートプレビュー
まれですが、更新に失敗した場合は、プレビュー版の機能である更新ハッシュの error フィールドに、失敗の原因と推奨される次の手順が示されます。ご利用になりたい場合は、メールでお問い合わせください。