コンテンツにスキップ
アカウントを作成またはサインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
Stripe Payments について
構築済みのシステムをアップグレード
決済分析
オンライン決済
概要ユースケースを見つけるManaged Payments を使用する
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
アプリ内実装を構築
対面決済
Terminal
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
決済以外の機能
会社を設立する
暗号資産
エージェント型コマース
Financial Connections
    概要
    導入方法
    ユースケース
    基本
    テスト
    対応可能な金融機関
    データのためのアカウントを収集
    ACH ダイレクトデビットによる支払い
    Connect の入金
    データを利用するその他の商品
    アカウントデータにアクセス
    残高
    所有権
    取引
    所有権の照合
    アカウントの管理
    関連付けの解除
    Webhook
Climate
不正利用について
Radar の不正防止
不審請求の申請の管理
本人確認
アメリカ
日本語
ホーム決済管理Financial Connections

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

Financial Connections アカウントの取引にアクセスする

ユーザーの許可を得て口座の取引にアクセスします。

Financial Connections API を使用すると、Financial Connections アカウントの取引を取得できます。取引データを使用して、次のようにさまざまな商品とソリューションを構築します。

  • リスク評価をスピードアップして、クレジットやその他の金融サービスへのユーザーアクセスを向上させることができます。
  • ユーザーの取引履歴を評価し、金融アカウントの現金の流入と流出を理解することで、不正利用を減らし、ユーザーのアカウント登録時のリスクを軽減します。
  • ユーザーによる支出の追跡、請求書の処理、財務の管理をサポートします。

はじめに

本番環境で transactions にアクセスするには、Financial Connections の登録を完了している必要があります。ダッシュボードの設定に移動して登録状況を確認するか、登録プロセスを開始してください。Financial Connections のテストデータはいつでも利用できます。

顧客を作成する
Recommended
Server-side

Customer は、ユーザーを表すメールアドレスを含めて作成し、決済に関連付けることをお勧めします。Customer オブジェクトを関連付けることで、後ですでに関連付けられている口座を一覧表示することができます。Customer オブジェクトにメールアドレスを入力すると、Link のリピーターであるかどうかに応じてユーザーのサインインまたは登録が省略されるため、Financial Connections、認証フローを改善できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d email={{CUSTOMER_EMAIL}}

口座の取引へのアクセスをリクエストする
サーバー側

取引データにアクセスするには、口座を収集する必要があります。Financial Connections アカウントの収集方法について、詳細は決済の受け付け、Connect での入金の円滑化、データを利用するその他の商品の構築など、ユースケースに最も適した導入ガイドをご覧ください。

口座を収集するときはアクセスする必要があるデータを permissions パラメーターで指定します。ユーザーは認証フローで、一連のリクエスト対象のデータ権限を表示できます。Financial Connections アカウントはさまざまな導入パスで収集できますが、パラメーターの指定方法は API によって若干異なります。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=20000 \ -d currency=usd \ -d customer=
"{{CUSTOMER_ID}}"
\ -d "payment_method_types[]"=us_bank_account \ -d "payment_method_options[us_bank_account][financial_connections][permissions][]"=transactions \ -d "payment_method_options[us_bank_account][financial_connections][permissions][]"=payment_method

特定の支払い API に対して動的な支払い方法を使用するときは、リクエストされた権限をダッシュボードで設定することもできます。Financial Connections アカウントでその他の口座データにアクセスする方法をご覧ください。

取引データに登録する
サーバー側

口座の取引データに登録すると、Stripe によって毎日バックグラウンドで新しい取引が自動的に取得され、利用可能になった時点で通知が届きます。口座の取引データを最新状態に保つには、毎日の更新に登録するのが最も簡単です。

取引の登録対象の Financial Connections アカウント ID を取得する方法については、Stripe の支払いの導入に関するドキュメントを参照するか、Financial Connections Sessions のガイドを確認してください。

Subscribe API を呼び出して、取引データに登録します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/financial_connections/accounts/
{{ACCOUNT_ID}}
/subscribe
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "features[]"=transactions

注

登録は非アクティブなアカウントでは実行できません。

次の 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_refresh.status フィールドを確認します。

取引を取得する
サーバー側

Stripe によって口座の取引が正常に更新されると、Transactions List API を使用してその取引を取得できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/financial_connections/transactions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d account=
"{{ACCOUNT_ID}}"

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_refresh ID を List API に渡します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -G https://api.stripe.com/v1/financial_connections/transactions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d account=
"{{ACCOUNT_ID}}"
\ -d "transaction_refresh[after]"=fctxnref_1LXp8WGxLVUXRs6Hkc5PNUXf

以下は、新規または更新された取引データのみを取得して記録する Webhook 導入の例です。

Python
No results
import stripe from flask import Flask app = Flask(__name__) @app.route('/stripe_webhooks', methods=['POST']) def webhook(): event = None try: event = stripe.Event.construct_from(json.loads(request.data), stripe.api_key) except ValueError as e: # Invalid payload raise e if event.type == "financial_connections.account.refreshed_transactions": account = event.data.object sync_transactions(account["id"], account["transaction_refresh"]["id"]) return jsonify(success=True) def sync_transactions(account_id, current_refresh): # Fetches the last transaction_refresh observed for this account from internal database last_observed_transaction_refresh = get_previous_transaction_refresh(key=account_id) # Get transactions since the last seen transaction_refresh response = stripe.financial_connections.Transaction.list( account=account_id, transaction_refresh={"after": last_observed_transaction_refresh}, ) # We know every transaction is either new or updated because of the `transaction_refresh` filter in the list endpoint for transaction in response.data: record_transaction(transaction) # Saves the transaction to the DB # Updates the last observed transaction_refresh for this account to the current refresh set_previous_transaction_refresh(key=account_id, value=current_refresh)

オプション取引データの登録を解除する

サブスクリプションをいつでも開始、キャンセル、再開できます。サブスクリプションをキャンセルするには、Unsubscribe API を呼び出します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/financial_connections/accounts/
{{ACCOUNT_ID}}
/unsubscribe
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "features[]"=transactions

サブスクリプションを再開するには、Subscribe API を再度呼び出します。

オプション取引をオンデマンドで更新する

毎日の更新の登録に代わる方法として、取引データのプリフェッチとオンデマンドの更新という 2 つの方法があります。これらの方法は、リスク評価などのユースケースで 1 回限りの取引データの取得のみが必要な場合に役立ちます。毎日の更新の登録を有効にしている場合でも使用できますが、ほとんどの金融機関は取引を 1 日に複数回更新することはありません。

取引データをプリフェッチする

口座の収集「前」に、口座取引をプリフェッチするかどうかを指定します。これにより、認証フローでユーザーが自分の口座を連結するとすぐに更新プロセスが開始されます。関連付けられた口座すべての取引データが必要なときや、データを最短で受け取るようにするときは prefetch を設定します。prefetch パラメーターは Financial Connections に対応するすべての API で使用できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=20000 \ -d currency=usd \ -d "payment_method_types[]"=us_bank_account \ -d "payment_method_options[us_bank_account][financial_connections][prefetch][]"=transactions \ -d "payment_method_options[us_bank_account][financial_connections][permissions][]"=payment_method \ -d "payment_method_options[us_bank_account][financial_connections][permissions][]"=transactions

prefetch を使用して取引の更新を開始した後は、完了するまでお待ちください。

オンデマンド更新を開始する

Refresh API を使用すると、口座の収集「後」にオンデマンドで取引の更新を開始し、特定の口座の取引情報を都合の良いときに取得できるため、判断を先送りできます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/financial_connections/accounts/
{{ACCOUNT_ID}}
/refresh
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "features[]"=transactions

注

更新は非アクティブなアカウントでは実行できません。

Refresh API を使用して取引の更新を開始したら、完了するまでお待ちください。

取引の更新が完了すると、Stripe は transaction_refresh.next_refresh_available_at フィールドを使用して将来の更新の提供状況を設定します。新しい取引の更新を開始する前にこのフィールドを調べて、更新が現在利用可能かどうかを確認してください。値が null のとき (更新が保留中か口座が非アクティブの場合は常にこの値) または現在時間が next_refresh_available_at タイムスタンプより前のときに更新しようとすると、更新は開始されません。

プライベートプレビュー

まれですが、更新に失敗した場合は、プレビュー版の機能である更新ハッシュの error フィールドに、失敗の原因と推奨される次の手順が示されます。ご利用になりたい場合は、メールでお問い合わせください。

このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc