> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 銀行口座認証の方法：銀行サインインと口座チェック

> Diditの銀行口座認証には「銀行サインイン」と「口座チェック」の2つの方法があります。それぞれが証明する内容と返却データ、国ごとの選び方と適用順序を解説します。

銀行口座認証は、ワークフローの前のステップで確認した個人または企業が、その銀行口座の名義人であることを確認します。ワークフローの1つのステップで、2つの方法があります。ユーザーが自分の銀行にログインするか、口座情報を入力して銀行が口座名義を確認するかのどちらかです。各国でどの方法を提供し、どれを最初に表示するかを選択できます。

> [!WARNING]
>
> 銀行口座認証は、まだ本番環境で有効になっていません。
> 有効になるまでは、本番環境でもサンドボックスでも、このステップをワークフローに追加することも、このAPIを呼び出すこともできません。このページでは、今後の動作について説明します。

> [!NOTE]
>
> 銀行口座認証は、口座名義人を**別のステップ**で確立された本人情報と照合するものであり、単独では本人確認になりません。このステップの前に、本人確認、データベース検証、アンケート、または`expected_details`を配置してください。照合される氏名をユーザーが入力することはありません。Diditは常に、セッションですでに確認済みの氏名と照合します。

## 2つの方法

| | 銀行ログイン | 口座照合 |
| - | - | - |
| 方法の値 | `open_banking` | `account_lookup` |
| ユーザーが行うこと | 自分の銀行にログインし、口座を共有します。 | IBAN、ソートコードと口座番号、CLABEなどの口座情報を入力します。ログインは不要です。 |
| 証明できること | 口座を管理していること、および銀行が返す名義人。 | その口座について銀行が保持する名義が、確認済みの氏名と一致すること。 |
| 追加されるデータ | ステップで要求した場合、残高、取引、収入。 | なし。口座の所有確認のみです。 |
| 主な用途 | オンボーディング、融資、返済能力の確認、高リスクの顧客。 | 支払いと出金、摩擦の少ないオンボーディング、銀行ログインに対応していない国。 |

どちらの方法でも、同じ種類の結果が得られます。名義人が一致するかどうか、銀行が返した名義人、マスクされた口座です。方法は国によって異なり、国ごとにいずれか一方、両方、または両方をどちらの順序でも提供できます。口座の形式、結果、サンドボックス用の値については、[口座照合](https://docs.didit.me/ja/core-technology/bank-verification/account-check.md)を参照してください。

明細書のアップロードと少額入金による確認は、これら2つの方法のフォールバックとして引き続き利用できます(`bank_statement_enabled`、`bank_microdeposits_enabled`)。また、ユーザーはいつでも銀行を使わずに先へ進めます。少額入金による確認は、同じセッションで課金対象の銀行ログインまたは口座照合を行った後にのみ、追加料金なしで提供されます。明細書のアップロードも、そのいずれかの後であれば料金に含まれます。また、どの国でも、事前に銀行での試行がなくても提供できます。[ユーザーが銀行を確認できない場合](https://docs.didit.me/ja/core-technology/bank-verification/fallbacks.md)を参照してください。

## ユーザーに表示される内容

各国で、ユーザーはその国が提供する最初の方法から開始します。2つ目の方法はそのバックアップです。

* **銀行ログインが最初の場合:** 銀行の選択画面が開きます。最後の行の**口座情報を入力**から口座照合を開始できます。銀行ログインが失敗した場合は、**その他の確認方法**の下に同じ行が再び表示されます。
* **口座照合が最初の場合:** 口座情報のフォームが開き、その下に**代わりに銀行にログイン**リンクが表示されます。
* **1つの方法のみの場合:** ユーザーにはその方法だけが表示されます。

口座照合を提供している国では、銀行の機能低下や停止により銀行ログインで現在接続できない銀行に対しても、口座照合がバックアップとして利用されます。口座照合の残り回数がある限り、同意を求められる前にユーザーは口座情報のフォームに移ります。ある国でどのルートも対応していない方法はその国では除外されるため、ユーザーに実行できない方法が表示されることはありません。どのルートもまったく対応していない国では、フォールバックと**銀行を使わずに続行**のみが提供されます。

## 国ごとに方法を選択する

### ステップの順序

`bank_method_order`は、独自の設定を持たないすべての国について、ステップが提供する方法とその順序を設定します。`open_banking`、`account_lookup`、またはその両方を、最初の方法から順に指定します。

```json theme={null}
{
  "bank_method_order": ["open_banking", "account_lookup"]
}
```

`bank_method_order`を送信せずに保存すると、`["open_banking", "account_lookup"]`になります。銀行ログインが最初で、口座照合がそのバックアップです。空のリストは`Choose a method: bank sign-in, account check, or both.`というメッセージで拒否されます。

ステップの順序はデフォルトです。ある国でいずれかの方法に対応するルートがない場合、その方法は除外され、その国では残りの方法が提供されます。いずれかのルートが対応しているものの、順序の結果として方法が1つも残らない国は、保存時に拒否されます。例:`Choose a method: bank sign-in, account check, or both. ARE offers account check.`。どのルートもまったく対応していない国は、フォールバックのみを提供する形で維持されます。[銀行ルートが対応していない国](https://docs.didit.me/ja/core-technology/bank-verification/fallbacks.md#銀行ルートが対応していない国)を参照してください。

### 国独自の順序

`bank_countries`内の国に設定した`methods`は、その国についてステップの順序を上書きします。ユーザーは最初の方法から開始し、2つ目の方法がそのバックアップとして提供されます。

```json theme={null}
{
  "bank_method_order": ["open_banking", "account_lookup"],
  "bank_countries": {
    "GBR": { "enabled": true, "institutions": "all" },
    "NOR": {
      "enabled": true,
      "institutions": "all",
      "methods": ["open_banking"]
    },
    "MEX": {
      "enabled": true,
      "institutions": "all",
      "methods": ["account_lookup", "open_banking"]
    }
  }
}
```

この例では、英国はステップの順序に従い、ノルウェーは銀行ログインのみを提供し、メキシコは口座照合から開始して銀行ログインをバックアップとします。`methods`が`null`に設定されている国、またはこのキーがない国は、ステップの順序に従います。有効な国が次のいずれかに該当する場合、保存は`bank_countries.<ISO3>`の下で拒否されます。

* どのルートも対応していない国であっても、`methods`を空のリストに設定している場合
* その国でどのルートも対応していない方法を指定している場合。例:`Account check is not available in NOR.`

どのルートもまったく対応していない国では、`methods`を省略するか`null`に設定し、フォールバックのみを提供します。[銀行ルートが対応していない国](https://docs.didit.me/ja/core-technology/bank-verification/fallbacks.md#銀行ルートが対応していない国)を参照してください。

### コンソールでの設定

銀行口座認証ステップの**国と方法**には、各国について、銀行ログインと口座照合の提供状況、および最初に提示される方法が一覧表示されます。プリセットを使うと、すべての国を一度に設定できます。

| プリセット | 順序 |
| - | - |
| 銀行ログイン、口座照合をバックアップ(デフォルト) | `["open_banking", "account_lookup"]` |
| 銀行ログインのみ | `["open_banking"]` |
| 口座照合のみ | `["account_lookup"]` |
| 口座照合、銀行ログインをバックアップ | `["account_lookup", "open_banking"]` |

プリセットによって国の方法がなくなることはありません。2つの方法のうち一方しかない国では、その方法が有効なまま残ります。

## 金融データには銀行ログインが必要

残高、取引、収入を読み取れるのは銀行ログインだけです。ステップが`bank_scopes`でこれらを要求し、その国で口座確認も提供されている場合、口座確認で認証した本人はデータなしで通過します。ステップは失敗しません。収集されなかった項目は、結果の`financial_data.not_collected`に一覧表示されます。

```json theme={null}
"financial_data": {
  "balances": null,
  "transactions": null,
  "income": null,
  "categorization": null,
  "not_collected": ["balances", "transactions"]
}
```

ステップが要求したものをその方法ですべて収集できた場合、`not_collected`は常に空のリストです。データを必須にするには、データが必要な国では銀行ログインのみを提供してください。

## 口座確認の設定

これらのキーは口座確認にのみ影響します。銀行ログインには独自の設定があります。

| 設定フィールド | 効果 |
| - | - |
| `bank_account_check_accept_close_match` | オン（デフォルト）：銀行がつけたスコアが`bank_partial_match_floor`から`bank_name_match_threshold`の間にある名前は、近似一致になります。`bank_suggest_holder_name`がオンの場合は、銀行に登録されている氏名を本人が確認し、`bank_partial_match_action`で判定が決まります。オフ：その近似一致は不一致（`OWNER_NAME_MISMATCH`）として扱われ、`bank_no_match_action`で判定が決まり、試行回数を1回消費します。 |
| `bank_account_check_max_attempts` | 本人が受けられる口座確認の回数で、`1`〜`5`、未設定の場合は`3`です。つまり、銀行から回答が得られる口座確認のために口座情報を入力できる回数です。入力内容の時点で拒否された口座や、銀行が回答できなかった確認では、回数を消費しません。 |

試行回数は方法ごとに数えられます。`bank_max_attempts`は銀行ログインの試行回数を数え、マイクロデポジットや明細書のアップロードもその1回を消費します。`bank_account_check_max_attempts`は口座確認の回数を数えます。明細書のアップロードを含め、本人を認証するためにまだ提供されているすべての方法が、接続に成功しないまま試行回数を使い切ると、ステップは`bank_attempts_exhausted_action`で終了します。詳しくは[明細書のアップロード](https://docs.didit.me/ja/core-technology/bank-verification/fallbacks.md#取引明細書のアップロード)を参照してください。

## 結果で方法を確認する

### 判定とWebhook

各銀行口座認証ステップは、[セッションの判定](https://docs.didit.me/ja/sessions-api/retrieve-session.md#銀行口座認証)および[`status.updated` Webhook](https://docs.didit.me/ja/integration/webhooks#v3の複数形の配列-重要)の`decision`オブジェクトに含まれる`bank_verifications[]`の1項目です。その`method`は、口座がどの方法で認証されたかを示します。

| `method` | 表示名 |
| - | - |
| `open_banking` | 銀行ログイン |
| `account_lookup` | 口座確認 |
| `microdeposits` | マイクロデポジット |
| `statement` | 明細書のアップロード |
| `none` | 銀行なしで続行 |

`method`は、口座が評価されるまでは`null`で、いずれかの試行が評価される前に本人が銀行なしで続行した場合は`none`になります。詳しくは[結果で確認する](https://docs.didit.me/ja/core-technology/bank-verification/fallbacks.md#結果で確認する)を参照してください。方法を区別するには、`ownership.method`ではなく`method`を参照してください。`ownership.method`はスコアを算出した名前比較の方式で、`exact`や`fuzzy`などがあります。

```json theme={null}
{
  "bank_verifications": [
    {
      "node_id": "feature_bank_verification",
      "status": "Approved",
      "method": "account_lookup",
      "ownership": {
        "result": "match",
        "method": "exact"
      },
      "financial_data": {
        "balances": null,
        "transactions": null,
        "income": null,
        "categorization": null,
        "not_collected": []
      }
    }
  ]
}
```

この例では、このページで扱うフィールドのみを示しています。すべてのフィールドは、[APIリファレンス](https://docs.didit.me/ja/sessions-api/retrieve-session.md)の`SessionDecision`スキーマに記載されています。

### ワークフローのルール

分岐とカスタムステータスルールは、`bank.method`と同じ値を読み取ります。ルールビルダーでのラベルは**Bank Verification Method**で、値は**Bank Sign-in**、**Account Check**、**Micro-deposits**、**Statement Upload**、**Continued Without a Bank**です。ルールは方法の値を比較します。たとえば、AMLスクリーニングステップの後に置き、リスクスコアが高い口座確認をレビューに回す分岐は次のとおりです。

```json theme={null}
{
  "id": "account_check_high_risk",
  "rules": [
    {
      "field": "bank.method",
      "operator": "equals",
      "value": "account_lookup"
    },
    {
      "field": "aml.risk_score",
      "operator": "greater_than",
      "value": 70
    }
  ],
  "logic": "and",
  "goto": "status_in_review"
}
```

### セッションレポート

セッションのPDFレポートでは、**Verification method**の行に方法が記載されます。

## 方法の導入前に保存されたノード

`bank_open_banking_enabled`と`bank_account_lookup_enabled`は廃止されました。`bank_method_order`が存在する前に保存されたノードは、現在、2つのスイッチが示していた順序で実行されます。

| `bank_open_banking_enabled` | `bank_account_lookup_enabled` | ノードの実行内容 |
| - | - | - |
| オンまたは未設定 | オフまたは未設定 | `["open_banking"]` |
| オンまたは未設定 | オン | `["open_banking", "account_lookup"]` |
| オフ | オン | `["account_lookup"]` |

口座確認が銀行ログインと並んでオンになっていた場合、本人には、銀行が停止しているときだけでなく、銀行選択画面でバックアップの選択肢として**口座情報を入力**が表示されるようになります。両方のスイッチがオフで、マイクロデポジットまたは明細書のアップロードのみを提供していたノードは、そのまま維持されます。ただし、次回保存する際には、2つの方法のうち少なくとも1つをオンにする必要があります。

1リリースの間は、`bank_method_order`を送信せずにいずれかのスイッチを送信した保存でも、スイッチから順序が設定されます。保存のたびに両方のスイッチが書き戻され、いずれかの国で銀行ログインが提供されているか、いずれかの国で口座確認が提供されているかを示します。新しい連携では、`bank_method_order`と`bank_countries.<ISO3>.methods`を使用してください。

## 料金

各方法は、国ごとにそれぞれの料金で請求されます。各国の料金は[銀行口座認証の料金](https://docs.didit.me/ja/getting-started/bank-verification-pricing.md)を参照してください。

* **銀行ログイン**には独自の料金があり、残高と取引のアドオンはそれぞれの料金が加算されます。
* **口座確認**は、銀行が回答した確認1件ごとに1回請求されます。対象は、一致、近似一致、不一致、銀行が認証できなかった口座、銀行が見つけられなかった口座です。入力内容の時点で拒否された口座が請求されることは決してありません。

両方の方法を提供する国では、本人が使用する方法に応じて、セッションの料金はどちらかになります。明細書のアップロードとマイクロデポジットは、課金された試行の後であれば追加料金なしで含まれます。それより前に銀行の試行がない明細書のアップロードは\$0.20で、銀行を利用せずに続行した場合が請求されることは決してありません。詳しくは[料金](https://docs.didit.me/ja/core-technology/bank-verification/fallbacks.md#料金)を参照してください。[口座確認API](https://docs.didit.me/ja/standalone-apis/bank-account-check.md)は、セッションなしでバックエンドから同じ確認を実行し、口座確認の料金と同じ料金がかかります。

## サンドボックスでテストする

サンドボックスのアプリケーションは、すべての国で両方の方法をステップで設定した順序で提供し、一切請求しません。デフォルトの順序では、本人は銀行ログインから始め、**口座情報を入力**を選ぶと口座確認を実行します。口座確認から始めるには、`bank_method_order`を`["account_lookup", "open_banking"]`に設定します。口座の末尾4文字によって、口座確認の結果が決まります。詳しくは[サンドボックスでテストする](https://docs.didit.me/ja/core-technology/bank-verification/account-check.md#サンドボックスでテストする)を参照してください。

## 関連情報

* [口座確認](https://docs.didit.me/ja/core-technology/bank-verification/account-check.md): 口座の形式、結果、サンドボックス用の値。
* [本人が銀行口座を認証できない場合](https://docs.didit.me/ja/core-technology/bank-verification/fallbacks.md): フォールバック、「銀行を使わずに続行」とその結果。
* [口座確認API](https://docs.didit.me/ja/standalone-apis/bank-account-check.md): セッションを使わずに、バックエンドから支払先口座を確認します。
* [銀行認証の設定キー](https://docs.didit.me/ja/management-api/workflows/feature-configs.md#銀行口座認証): このステップのすべてのキー。
* [サンドボックスでのテスト](https://docs.didit.me/ja/integration/sandbox-testing.md)。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.