> ## 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.

# Métodos de verificación bancaria: acceso o cuenta

> Didit ofrece inicio de sesión bancario o comprobación de cuenta: qué prueba y devuelve cada método y cómo elegirlos y ordenarlos por país.

La Verificación bancaria confirma que una cuenta bancaria pertenece a la persona o empresa que un paso anterior de tu flujo de verificación verificó. Es un solo paso del flujo con dos métodos: la persona inicia sesión en su banco, o bien escribe los datos de su cuenta y el banco confirma el nombre del titular. Tú eliges qué métodos ofrece cada país y cuál aparece primero.

> [!WARNING]
>
> La Verificación bancaria aún no está habilitada en producción.
> Hasta que lo esté, no puedes añadir este paso a un flujo ni invocar la API, ni en producción ni en sandbox, y esta página describe cómo funcionará.

> [!NOTE]
>
> La Verificación bancaria compara al titular de la cuenta con una identidad que estableció **otro paso**, por lo que no es una prueba de identidad por sí sola. Coloca Verificación de identidad, Validación de base de datos, un cuestionario o `expected_details` antes de este paso. La persona nunca escribe el nombre que se comprueba: Didit siempre compara el nombre que la sesión ya verificó.

## Los dos métodos

| | Inicio de sesión en el banco | Comprobación de cuenta |
| - | - | - |
| Valor del método | `open_banking` | `account_lookup` |
| Qué hace la persona | Inicia sesión en su banco y comparte la cuenta. | Escribe los datos de la cuenta: un IBAN, un sort code y un número de cuenta, una CLABE, etc. Sin iniciar sesión. |
| Qué demuestra | El control de la cuenta, además del titular que devuelve el banco. | Que el nombre del titular que tiene el banco para esa cuenta coincide con el nombre verificado. |
| Datos que añade | Saldos, transacciones e ingresos, cuando el paso los solicita. | Ninguno: solo la titularidad. |
| Uso habitual | Onboarding, préstamos, evaluación de solvencia, clientes de alto riesgo. | Pagos y retiros, onboarding con poca fricción, países sin inicio de sesión en el banco. |

Ambos métodos dan el mismo tipo de resultado: si el titular coincide, el titular que devolvió el banco y la cuenta enmascarada. Los métodos varían según el país, y un país puede ofrecer uno de ellos, ambos, o ambos en cualquier orden. Consulta la [comprobación de cuenta](https://docs.didit.me/es/core-technology/bank-verification/account-check.md) para ver sus formatos de cuenta, resultados y valores de sandbox.

La subida de un extracto bancario y los microdepósitos siguen siendo alternativas de respaldo tras los dos métodos (`bank_statement_enabled`, `bank_microdeposits_enabled`), y la persona siempre puede continuar sin banco. Los microdepósitos solo se ofrecen después de un inicio de sesión en el banco o una comprobación de cuenta por los que se haya cobrado en la misma sesión, sin coste adicional. La subida de un extracto también está incluida después de uno de ellos, y además puede ofrecerse sin ningún intento bancario previo, en cualquier país. Consulta [Cuando la persona no puede verificar su banco](https://docs.didit.me/es/core-technology/bank-verification/fallbacks.md).

## Qué ve la persona

En cada país, la persona empieza por el primer método que ofrece el país. El segundo es su respaldo:

* **Inicio de sesión en el banco primero:** se abre el selector de bancos. Su última fila, **Introduce los datos de tu cuenta**, inicia la comprobación de cuenta. Si el inicio de sesión en el banco falla, la misma fila vuelve a aparecer en **Otras formas de verificar**.
* **Comprobación de cuenta primero:** se abre el formulario de la cuenta, con un enlace **Inicia sesión en tu banco en su lugar** debajo.
* **Un solo método:** la persona solo ve ese método.

Cuando un país ofrece la comprobación de cuenta, esta también sirve de respaldo para un banco al que no se puede acceder mediante el inicio de sesión en el banco en ese momento, porque el banco funciona con problemas o no está disponible: la persona pasa al formulario de la cuenta antes de que se le pida ningún consentimiento, siempre que le queden comprobaciones de cuenta. Un método que ninguna ruta atiende en un país se omite allí, de modo que la persona nunca ve un método que no puede ejecutarse. Un país para el que no hay ninguna ruta ofrece solo sus alternativas y **Continuar sin tu banco**.

## Elige los métodos por país

### El orden del paso

`bank_method_order` define qué métodos ofrece el paso, y en qué orden, para cada país que no define el suyo propio. Enumera `open_banking`, `account_lookup` o ambos, con el primero en primer lugar.

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

Un guardado que no envía `bank_method_order` recibe `["open_banking", "account_lookup"]`: el inicio de sesión en el banco primero y la comprobación de cuenta como respaldo. Una lista vacía se rechaza con `Choose a method: bank sign-in, account check, or both.`

El orden del paso es un valor predeterminado. En un país donde ninguna ruta atiende uno de sus métodos, ese método se omite y el país ofrece el resto. Un país que una ruta atiende pero al que el orden deja sin ningún método se rechaza al guardar, por ejemplo `Choose a method: bank sign-in, account check, or both. ARE offers account check.` Un país al que no atiende ninguna ruta en absoluto se conserva, solo con sus alternativas: consulta [Un país que ninguna ruta bancaria atiende](https://docs.didit.me/es/core-technology/bank-verification/fallbacks.md#un-país-al-que-no-da-servicio-ninguna-ruta-bancaria).

### El orden propio de un país

`methods` en un país de `bank_countries` sustituye el orden del paso para ese país. La persona empieza por el primer método y se le ofrece el segundo como respaldo.

```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"]
    }
  }
}
```

Aquí, el Reino Unido sigue el orden del paso, Noruega ofrece solo el inicio de sesión en el banco y México empieza por la comprobación de cuenta, con el inicio de sesión en el banco como respaldo. Un país con `methods` establecido en `null`, o sin la clave, sigue el orden del paso. El guardado se rechaza, en `bank_countries.<ISO3>`, cuando un país habilitado:

* define `methods` como una lista vacía, incluso en un país que ninguna ruta atiende, o
* indica un método que ninguna ruta atiende allí, por ejemplo `Account check is not available in NOR.`

Un país al que no atiende ninguna ruta en absoluto omite `methods`, o lo establece en `null`, y ofrece solo sus alternativas: consulta [Un país que ninguna ruta bancaria atiende](https://docs.didit.me/es/core-technology/bank-verification/fallbacks.md#un-país-al-que-no-da-servicio-ninguna-ruta-bancaria).

### En la consola

En el paso de Verificación bancaria, **Countries and methods** enumera cada país con lo que ofrecen allí el inicio de sesión en el banco y la comprobación de cuenta, y qué método aparece primero. Sus ajustes predefinidos rellenan todos los países a la vez:

| Ajuste predefinido | Orden |
| - | - |
| Inicio de sesión en el banco, con la comprobación de cuenta como respaldo (el predeterminado) | `["open_banking", "account_lookup"]` |
| Solo inicio de sesión en el banco | `["open_banking"]` |
| Solo comprobación de cuenta | `["account_lookup"]` |
| Comprobación de cuenta, con el inicio de sesión en el banco como respaldo | `["account_lookup", "open_banking"]` |

Un ajuste predefinido nunca deja un país sin nada: cuando un país solo tiene uno de los dos métodos, ese método permanece activado.

## Los datos financieros requieren el inicio de sesión en el banco

Solo el inicio de sesión en el banco lee saldos, transacciones e ingresos. Cuando el paso los solicita en `bank_scopes` y un país ofrece la comprobación de cuenta, una persona que se verifica mediante la comprobación de cuenta supera el paso sin esos datos. El paso no falla: el resultado indica lo que no se recopiló en `financial_data.not_collected`.

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

`not_collected` es una lista vacía siempre que el método haya recopilado todo lo que el paso solicitó. Para exigir los datos, ofrece solo el inicio de sesión en el banco en los países donde los necesites.

## Configuración de la comprobación de cuenta

Estas claves solo configuran la comprobación de cuenta. El inicio de sesión en el banco conserva su propia configuración.

| Campo de configuración | Efecto |
| - | - |
| `bank_account_check_accept_close_match` | Activado (valor predeterminado): un nombre al que el banco asigna una puntuación entre `bank_partial_match_floor` y `bank_name_match_threshold` es una coincidencia aproximada. La persona confirma el nombre que tiene registrado el banco cuando `bank_suggest_holder_name` está activado, y `bank_partial_match_action` decide. Desactivado: esa coincidencia aproximada se considera sin coincidencia (`OWNER_NAME_MISMATCH`), la decide `bank_no_match_action` y consume el intento. |
| `bank_account_check_max_attempts` | Cuántas comprobaciones de cuenta tiene la persona, de `1` a `5`, `3` si no se define: cuántas veces puede introducir los datos de la cuenta para una comprobación a la que el banco responde. Una cuenta rechazada tal como se introdujo, o una comprobación a la que el banco no pudo responder, no consume ningún intento. |

Los intentos se cuentan por método. `bank_max_attempts` cuenta los intentos de inicio de sesión en el banco, y un microdepósito o una carga de extracto bancario también consume uno de ellos. `bank_account_check_max_attempts` cuenta las comprobaciones de cuenta. El paso termina con `bank_attempts_exhausted_action` cuando todas las formas que se siguen ofreciendo para verificar a la persona, incluida la carga de extracto bancario, han consumido sus intentos sin una conexión exitosa: consulta [La carga de extracto bancario](https://docs.didit.me/es/core-technology/bank-verification/fallbacks.md#la-subida-de-extracto).

## Consultar el método en los resultados

### Decisión y webhooks

Cada paso de Verificación bancaria es un elemento de `bank_verifications[]` en la [decisión de la sesión](https://docs.didit.me/es/sessions-api/retrieve-session.md#verificación-bancaria) y en el objeto `decision` de los [webhooks `status.updated`](https://docs.didit.me/es/integration/webhooks#arrays-en-plural-de-v3-importante). Su `method` indica cómo se verificó la cuenta:

| `method` | Se muestra como |
| - | - |
| `open_banking` | Inicio de sesión en el banco |
| `account_lookup` | Comprobación de cuenta |
| `microdeposits` | Microdepósitos |
| `statement` | Carga de extracto bancario |
| `none` | Continuó sin banco |

`method` es `null` hasta que se ha evaluado una cuenta, y `none` cuando la persona continuó sin banco antes de que se evaluara ningún intento: consulta [Consultar el método en los resultados](https://docs.didit.me/es/core-technology/bank-verification/fallbacks.md#cómo-leerlo-en-el-resultado). Lee `method`, y no `ownership.method`, para distinguir los métodos: `ownership.method` es la comparación de nombres que produjo la puntuación, como `exact` o `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": []
      }
    }
  ]
}
```

El ejemplo muestra solo los campos que trata esta página. Todos los campos están en el esquema `SessionDecision` de la [referencia de la API](https://docs.didit.me/es/sessions-api/retrieve-session.md).

### Reglas del flujo

Las ramas y las reglas de estado personalizadas leen el mismo valor que `bank.method`, con la etiqueta **Bank Verification Method** en el editor de reglas, y los valores **Bank Sign-in**, **Account Check**, **Micro-deposits**, **Statement Upload** y **Continued Without a Bank**. Una regla compara el valor del método, por ejemplo, una rama después de un paso de Análisis AML que envía a revisión una comprobación de cuenta con una puntuación de riesgo alta:

```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"
}
```

### Informe de la sesión

El informe PDF de la sesión indica el método en su fila **Método de verificación**.

## Nodos guardados antes de los métodos

`bank_open_banking_enabled` y `bank_account_lookup_enabled` se han retirado. Un nodo guardado antes de que existiera `bank_method_order` se ejecuta ahora con el orden que definían sus dos interruptores:

| `bank_open_banking_enabled` | `bank_account_lookup_enabled` | El nodo se ejecuta con |
| - | - | - |
| Activado o sin definir | Desactivado o sin definir | `["open_banking"]` |
| Activado o sin definir | Activado | `["open_banking", "account_lookup"]` |
| Desactivado | Activado | `["account_lookup"]` |

Donde la comprobación de cuenta estaba activada junto al inicio de sesión en el banco, la persona la ve ahora como alternativa en el selector de bancos, **Introduce los datos de tu cuenta**, y no solo cuando su banco no está disponible. Un nodo con ambos interruptores desactivados, que ofrecía solo microdepósitos o una carga de extracto bancario, se deja tal como está; un guardado posterior debe activar al menos uno de los dos métodos.

Durante una versión, un guardado que no envía `bank_method_order` pero envía cualquiera de los interruptores sigue definiendo el orden a partir de los interruptores. Cada guardado vuelve a escribir ambos interruptores, según si algún país ofrece el inicio de sesión en el banco y si algún país ofrece la comprobación de cuenta. Usa `bank_method_order` y `bank_countries.<ISO3>.methods` en las integraciones nuevas.

## Precios

Cada método tiene su propio precio por país. Consulta [Precios de Verificación bancaria](https://docs.didit.me/es/getting-started/bank-verification-pricing.md) para ver los precios de cada país.

* **El inicio de sesión en el banco** tiene su propio precio, y los complementos de saldo y de transacciones añaden cada uno el suyo.
* **La comprobación de cuenta** se factura una vez por cada comprobación a la que responda el banco: una coincidencia, una coincidencia aproximada, una falta de coincidencia, una cuenta que no pudo verificar y una cuenta que no encontró. Una cuenta rechazada tal como se introdujo nunca se factura.

Cuando un país ofrece ambos métodos, una sesión puede costar cualquiera de los dos precios, según el método que use la persona. La carga de extracto bancario y los microdepósitos se incluyen sin coste adicional después de un intento cobrado. Una carga de extracto bancario sin un intento bancario previo cuesta \$0.20, y continuar sin banco nunca se factura: consulta [Precios](https://docs.didit.me/es/core-technology/bank-verification/fallbacks.md#precios). La [API de comprobación de cuenta](https://docs.didit.me/es/standalone-apis/bank-account-check.md) ejecuta la misma comprobación desde tu backend, sin sesión, al mismo precio que la comprobación de cuenta.

## Probar en sandbox

Una aplicación de sandbox ofrece ambos métodos en todos los países, en el orden que define el paso, y no factura nada. Con el orden predeterminado, la persona empieza en el inicio de sesión en el banco y elige **Introduce los datos de tu cuenta** para ejecutar la comprobación de cuenta. Para empezar en la comprobación de cuenta, define `bank_method_order` como `["account_lookup", "open_banking"]`. Los cuatro últimos caracteres de la cuenta determinan la respuesta de la comprobación de cuenta: consulta [Probarlo en sandbox](https://docs.didit.me/es/core-technology/bank-verification/account-check.md#pruébalo-en-sandbox).

## Relacionado

* [Comprobación de cuenta](https://docs.didit.me/es/core-technology/bank-verification/account-check.md): formatos de cuenta, resultados y valores de sandbox.
* [Cuando la persona no puede verificar su banco](https://docs.didit.me/es/core-technology/bank-verification/fallbacks.md): alternativas, la opción Continuar sin tu banco y sus resultados.
* [API de comprobación de cuenta](https://docs.didit.me/es/standalone-apis/bank-account-check.md): comprueba una cuenta de pago desde tu backend, sin sesión.
* [Claves de configuración de la verificación bancaria](https://docs.didit.me/es/management-api/workflows/feature-configs.md#verificación-bancaria): todas las claves del paso.
* [Pruebas en sandbox](https://docs.didit.me/es/integration/sandbox-testing.md).


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