# Financial Connections をテストする シミュレーションされた Financial Connections アカウントを使用して組み込みをテストする方法をご紹介します。 ## サンドボックスの使用を開始する Stripe システムのテストについて、詳細は[テスト](https://docs.stripe.com/testing.md)に関するドキュメントをご覧ください。 Financial Connections をテストするには、*サンドボックス* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)とそれに関連するテスト API キーを使用して、該当する[ユースケースガイド](https://docs.stripe.com/financial-connections/use-cases.md)に従ってください。サンドボックスで作成したアカウントと顧客は、本番環境の実装からは見えません。 > Financial Connections [認証フロー](https://docs.stripe.com/financial-connections/fundamentals.md#authentication-flow)は変更される可能性があるため、クライアント側のテストを自動化することはお勧めしません。サンドボックスのテストキーを使って Stripe API を使用する場合も厳密に[レート制限](https://docs.stripe.com/testing.md#rate-limits)されるため、テストで考慮する必要があります。 ## テスト用の口座と機関の使用方法 [サーバー側] サンドボックスのテストキーを使用して作成された Financial Connections セッショントークンを [Stripe.js](https://docs.stripe.com/js.md) に提供すると、[認証フロー](https://docs.stripe.com/financial-connections/fundamentals.md#authentication-flow)には、Stripe が管理するテスト用金融機関の選択肢のみ表示されます。クライアントは認証情報を指定せずに、これらの金融機関の口座をリンクできます。 [残高](https://docs.stripe.com/financial-connections/balances.md)、[口座所有権](https://docs.stripe.com/financial-connections/ownership.md)、[取引](https://docs.stripe.com/financial-connections/transactions.md)などの機能は、本番環境と同じように機能しますが、実際の口座データではなくテストデータが返されます。 サンドボックス *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) は、本番環境の Webhook とは別のものです。[Webhook 連携のテスト](https://docs.stripe.com/webhooks.md#test-webhook)について説明します。 ## さまざまなユーザー認証シナリオをテストする [クライアント側] Stripe は、さまざまな成功シナリオと失敗シナリオを実行するテスト機関のセットを提供しています。各シナリオは、注目の機関のリストまたは認証フローの機関検索結果で利用できます。 #### 認証の成功をシミュレーションする - **テスト (OAuth 以外):** Stripe がホストするフォームでユーザーの金融機関へのログイン成功をシミュレーションし、テスト用口座の基本セットが含まれます。 - **テスト (OAuth):** テスト (OAuth 以外) と同じテスト用口座が含まれますが、モーダルで認証を直接行うのではなく、認証用の OAuth ポップアップが表示されます。 - **銀行 (OAuth 以外)**: OAuth をサポートしない金融機関をシミュレーションするための、Stripe がホストするログインフォームを提供します。このオプションは、本番環境の OAuth 以外の金融機関の大半に対するアカウントリンクに最も適しています。続行するには、以下のテスト認証情報を使用してください。 - 最初のプロンプトではユーザー名とパスワードが求められます。入力値を入力すると、ログインの成功がシミュレーションされます。 - パスワードフィールドまたは後続のフィールドで、`options` (リストからの選択)、`mfa` (1 回限りのパスコードの入力)、`confirm_mfa` (1 回限りのパスコードの確認)、または `security_question` (シークレットの回答入力) を入力して、さらにログインプロンプトを実行します。 - いずれかのフィールドに `error` と入力すると、ログインセッションが終了します。`incorrect` と入力すると再試行することができます。 - **銀行 (OAuth):** テスト金融機関の OAuth ポップアップが表示され、リンクする口座を選択できます。このオプションは、本番環境のほとんどの OAuth 金融機関におけるアカウント連携を最もよく再現しています。 - **口座の所有権:** さまざまなステータスの所有権を表すテスト用口座が含まれます。 - **無効な支払い口座:** ACH 支払いができないテスト用口座が含まれます。 #### 認証失敗のシミュレーション - **停止 (予定):** 金融機関から Stripe に通知された期間、金融機関のログイン API を使用できません。 - **停止 (計画外):** Stripe にダウンタイムに関する情報が通知されることなく、金融機関のログイン API を使用できない状態です。 - **停止 (エラー):** Stripe から金融機関への通信で不明なエラーが発生しています。 > OAuth と OAuth 以外の金融機関を手動でテストして、双方の UI フローがアプリケーションの流れで機能するかを確認することをお勧めします。OAuth と OAuth 以外での接続の違いについては、[追加ドキュメント](https://docs.stripe.com/financial-connections/fundamentals.md#how-stripe-links-financial-accounts)をご覧ください。 #### トークン化されたアカウント番号の動作のシミュレーション 検索バーで「トークン化されたアカウント番号」を検索すると、さまざまな[トークン化されたアカウント番号](https://docs.stripe.com/financial-connections/tokenized-account-numbers.md)の動作をテストできます。アカウントごとに非同期の動作が異なります。 - **トークン化されたアカウント番号の有効期限**: セッションによって返された TAN のステータスは `deactivated` です。 - **トークン化されたアカウント番号の最終的な有効期限**: TAN は 30 日で有効期限が切れ、`financial_connections.account.upcoming_account_number_expiry` Webhook イベントがトリガーされます。 - **トークン化されたアカウント番号の即時の有効期限切れ**:TANはセッション後に即時に有効期限切れになり、`financial_connections.account.account_numbers_updated` Webhook イベントがトリガーされます。 #### アカウント無効化のシミュレーション 「非アクティブなアカウント」機関を検索し、利用可能なアカウントをリンクします。認証フローが完了すると、この機関でリンクされたアカウントは `アクティブ` から `非アクティブ` に切り替わります。アカウントを [再リンク](https://docs.stripe.com/financial-connections/relink.md) すると、`アクティブ` の状態に戻ります。 #### 再リンク時の別の口座の選択をシミュレーションする 顧客が OAuth 金融機関での再リンクセッション中に別の口座を選択するシナリオをテストするには、以下のようにします。 1. 認証フローを使用して、**銀行 (OAuth)** 金融機関の口座を関連付けますが、OAuth モーダルでは利用可能な口座の一部のみを選択します。 1. 関連付けられた口座の 1 つ、または認可に対して、再リンクセッションを作成します。 1. 再リンクフロー中に、OAuth モーダルで、初回の認証フローで選択した口座とは異なる口座の組み合わせを選択します。