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

# Verificação bancária: login ou checagem de conta

> Login no banco ou checagem de conta: o que cada método de verificação bancária da Didit comprova e retorna, e como escolher e ordenar por país.

Verificação bancária confirma que uma conta bancária pertence à pessoa ou à empresa que uma etapa anterior do seu fluxo de verificação (workflow) verificou. É uma única etapa do fluxo com dois métodos: a pessoa faz login no banco ou digita os dados da conta e o banco confirma o nome do titular. Você escolhe quais métodos cada país oferece e qual vem primeiro.

> [!WARNING]
>
> Verificação bancária ainda não está habilitada em produção.
> Até que esteja, você não pode adicionar esta etapa a um fluxo nem chamar esta API, nem no ambiente de produção nem no sandbox. Esta página descreve como ela vai funcionar.

> [!NOTE]
>
> Verificação bancária compara o titular da conta à identidade que **outra etapa** estabeleceu, então ela não comprova identidade sozinha. Coloque Verificação de identidade, Validação de banco de dados, um questionário ou `expected_details` antes da etapa. A pessoa nunca digita o nome que é verificado: a Didit sempre compara o nome que a sessão já verificou.

## Os dois métodos

| | Login no banco | Verificação de conta |
| - | - | - |
| Valor do método | `open_banking` | `account_lookup` |
| O que a pessoa faz | Faz login no banco e compartilha a conta. | Digita os dados da conta: um IBAN, um sort code e número de conta, uma CLABE e assim por diante. Sem login. |
| O que comprova | O controle da conta, além do titular que o banco retorna. | O nome do titular registrado pelo banco para essa conta corresponde ao nome verificado. |
| Dados que adiciona | Saldos, transações e renda, quando a etapa os solicita. | Nenhum: apenas a propriedade. |
| Uso típico | Onboarding, crédito, análise de capacidade de pagamento, clientes de alto risco. | Pagamentos e saques, onboarding com pouco atrito, países sem login no banco. |

Os dois métodos geram o mesmo tipo de resultado: se o titular corresponde, o titular que o banco retornou e a conta mascarada. Os métodos variam por país, e um país pode oferecer um deles, os dois, ou os dois em qualquer ordem. Consulte a [verificação de conta](https://docs.didit.me/pt-br/core-technology/bank-verification/account-check.md) para ver os formatos de conta, os resultados e os valores de sandbox.

O envio de extrato e os microdepósitos continuam sendo alternativas depois dos dois métodos (`bank_statement_enabled`, `bank_microdeposits_enabled`), e a pessoa sempre pode continuar sem um banco. Os microdepósitos só são oferecidos depois de um login no banco ou de uma verificação de conta cobrados na mesma sessão, sem custo adicional. O envio de extrato também está incluído depois de um deles e também pode vir sem nenhuma tentativa bancária antes, em qualquer país. Consulte [Quando a pessoa não consegue verificar o banco](https://docs.didit.me/pt-br/core-technology/bank-verification/fallbacks.md).

## O que a pessoa vê

Em cada país, a pessoa começa pelo primeiro método que o país oferece. O segundo é a alternativa:

* **Login no banco primeiro:** o seletor de bancos é aberto. A última linha, **Informe os dados da sua conta**, inicia a verificação de conta. Se o login no banco falhar, a mesma linha aparece de novo em **Outras formas de verificar**.
* **Verificação de conta primeiro:** o formulário da conta é aberto, com um link **Em vez disso, faça login no seu banco** abaixo dele.
* **Um único método:** a pessoa vê apenas esse método.

Onde um país oferece a verificação de conta, ela também serve de alternativa para um banco que o login no banco não consegue alcançar no momento, porque o banco está instável ou fora do ar: a pessoa passa para o formulário da conta antes de qualquer pedido de consentimento, desde que ainda tenha verificações de conta disponíveis. Um método que nenhuma rota atende em um país fica de fora nesse país, então a pessoa nunca vê um método que não pode ser executado. Um país para o qual não há nenhuma rota oferece apenas as alternativas e **Continuar sem o seu banco**.

## Escolha os métodos por país

### A ordem da etapa

`bank_method_order` define quais métodos a etapa oferece, e em que ordem, para cada país que não define a sua própria ordem. A lista contém `open_banking`, `account_lookup` ou os dois, com o primeiro método listado primeiro.

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

Um salvamento que não envia `bank_method_order` recebe `["open_banking", "account_lookup"]`: login no banco primeiro e a verificação de conta como alternativa. Uma lista vazia é recusada com `Choose a method: bank sign-in, account check, or both.`

A ordem da etapa é um padrão. Em um país onde nenhuma rota atende um dos seus métodos, esse método fica de fora e o país oferece os demais. Um país que uma rota atende, mas que fica sem nenhum método pela ordem, é recusado ao salvar, por exemplo `Choose a method: bank sign-in, account check, or both. ARE offers account check.` Um país que nenhuma rota atende é mantido, apenas com as alternativas: consulte [Um país que nenhuma rota bancária atende](https://docs.didit.me/pt-br/core-technology/bank-verification/fallbacks.md#um-país-que-nenhuma-rota-bancária-atende).

### A ordem própria de um país

`methods` em um país de `bank_countries` substitui a ordem da etapa para esse país. A pessoa começa pelo primeiro método e tem o segundo como alternativa.

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

Aqui, o Reino Unido segue a ordem da etapa, a Noruega oferece apenas o login no banco e o México começa pela verificação de conta, com o login no banco como alternativa. Um país com `methods` definido como `null`, ou sem a chave, segue a ordem da etapa. O salvamento é recusado, em `bank_countries.<ISO3>`, quando um país habilitado:

* define `methods` como uma lista vazia, mesmo em um país que nenhuma rota atende, ou
* indica um método que nenhuma rota atende nesse país, por exemplo `Account check is not available in NOR.`

Um país que nenhuma rota atende omite `methods`, ou o define como `null`, e oferece apenas as alternativas: consulte [Um país que nenhuma rota bancária atende](https://docs.didit.me/pt-br/core-technology/bank-verification/fallbacks.md#um-país-que-nenhuma-rota-bancária-atende).

### No console

Na etapa de Verificação bancária, **Countries and methods** lista cada país, indicando a disponibilidade do login no banco e da verificação de conta, além de qual método vem primeiro. As predefinições preenchem todos os países de uma vez:

| Predefinição | Ordem |
| - | - |
| Login no banco, com a verificação de conta como alternativa (o padrão) | `["open_banking", "account_lookup"]` |
| Apenas login no banco | `["open_banking"]` |
| Apenas verificação de conta | `["account_lookup"]` |
| Verificação de conta, com o login no banco como alternativa | `["account_lookup", "open_banking"]` |

Uma predefinição nunca deixa um país sem nada: quando um país tem apenas um dos dois métodos, esse método permanece disponível.

## Dados financeiros exigem login no banco

Apenas o login no banco lê saldos, transações e renda. Quando a etapa os solicita em `bank_scopes` e um país oferece a verificação de conta, uma pessoa que faz a verificação por verificação de conta é aprovada sem esses dados. A etapa não falha: o resultado lista o que não foi coletado em `financial_data.not_collected`.

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

`not_collected` é uma lista vazia sempre que o método coletou tudo o que a etapa solicitou. Para exigir os dados, ofereça apenas o login no banco nos países em que você precisa deles.

## Configurações da verificação de conta

Estas chaves afetam apenas a verificação de conta. O login no banco mantém suas próprias configurações.

| Campo de configuração | Efeito |
| - | - |
| `bank_account_check_accept_close_match` | Ativado (o padrão): um nome que o banco pontua entre `bank_partial_match_floor` e `bank_name_match_threshold` é uma correspondência próxima. A pessoa confirma o nome registrado no banco quando `bank_suggest_holder_name` está ativado, e `bank_partial_match_action` decide. Desativado: essa correspondência próxima passa a ser uma não correspondência (`OWNER_NAME_MISMATCH`), decidida por `bank_no_match_action`, e consome a tentativa. |
| `bank_account_check_max_attempts` | Quantas verificações de conta a pessoa tem, de `1` a `5`, `3` quando não definido: quantas vezes ela pode digitar os dados da conta para uma verificação à qual o banco responde. Uma conta recusada da forma como foi digitada, ou uma verificação que o banco não conseguiu responder, não consome nenhuma. |

As tentativas são contadas por método. `bank_max_attempts` conta as tentativas de login no banco, e um microdepósito ou envio de extrato também consome uma delas. `bank_account_check_max_attempts` conta as verificações de conta. A etapa termina em `bank_attempts_exhausted_action` quando todas as formas de verificar a pessoa que ainda são oferecidas, incluindo o envio de extrato, tiverem consumido suas tentativas sem uma conexão bem-sucedida: veja [O envio de extrato](https://docs.didit.me/pt-br/core-technology/bank-verification/fallbacks.md#o-envio-de-extrato).

## Leia o método no resultado

### Decisão e webhooks

Cada etapa de Verificação bancária é um item de `bank_verifications[]` na [decisão da sessão](https://docs.didit.me/pt-br/sessions-api/retrieve-session.md#verificação-bancária) e no objeto `decision` dos [webhooks `status.updated`](https://docs.didit.me/pt-br/integration/webhooks#arrays-no-plural-da-v3-importante). Seu `method` informa como a conta foi verificada:

| `method` | Exibido como |
| - | - |
| `open_banking` | Login no banco |
| `account_lookup` | Verificação de conta |
| `microdeposits` | Microdepósitos |
| `statement` | Envio de extrato |
| `none` | Continuou sem banco |

`method` é `null` até que uma conta tenha sido avaliada, e `none` quando a pessoa continuou sem banco antes de qualquer tentativa ser avaliada: veja [Leia no resultado](https://docs.didit.me/pt-br/core-technology/bank-verification/fallbacks.md#veja-no-resultado). Leia `method`, e não `ownership.method`, para distinguir os métodos: `ownership.method` é a comparação de nomes que produziu a pontuação, como `exact` ou `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": []
      }
    }
  ]
}
```

O exemplo mostra apenas os campos discutidos nesta página. Todos os campos estão no schema `SessionDecision` da [referência da API](https://docs.didit.me/pt-br/sessions-api/retrieve-session.md).

### Regras do fluxo

Ramificações e regras de status personalizadas usam o mesmo valor de `bank.method`, chamado **Bank Verification Method** no construtor de regras, com os valores **Bank Sign-in**, **Account Check**, **Micro-deposits**, **Statement Upload** e **Continued Without a Bank**. Uma regra compara o valor do método, por exemplo, uma ramificação após uma etapa de Análise AML que envia para revisão uma verificação de conta com pontuação de risco 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"
}
```

### Relatório da sessão

O relatório PDF da sessão indica o método na linha **Verification method**.

## Nós salvos antes dos métodos

`bank_open_banking_enabled` e `bank_account_lookup_enabled` foram descontinuados. Um nó salvo antes da existência de `bank_method_order` agora opera seguindo a ordem definida por seus dois controles:

| `bank_open_banking_enabled` | `bank_account_lookup_enabled` | O nó opera na ordem |
| - | - | - |
| Ativado ou não definido | Desativado ou não definido | `["open_banking"]` |
| Ativado ou não definido | Ativado | `["open_banking", "account_lookup"]` |
| Desativado | Ativado | `["account_lookup"]` |

Quando a verificação de conta estava ativada junto com o login no banco, a pessoa agora a vê como opção de reserva no seletor de bancos, **Informe os dados da sua conta**, e não apenas quando o banco dela está fora do ar. Um nó com os dois controles desativados, que oferecia apenas microdepósitos ou envio de extrato, permanece como está; um salvamento posterior deve ativar pelo menos um dos dois métodos.

Durante uma versão, um salvamento que não envia `bank_method_order`, mas envia qualquer um dos controles, ainda define a ordem a partir dos controles. Cada salvamento grava novamente os dois controles, indicando se algum país oferece o login no banco e se algum país oferece a verificação de conta. Use `bank_method_order` e `bank_countries.<ISO3>.methods` em novas integrações.

## Preços

Cada método é cobrado pelo seu próprio preço, por país. Veja os [preços da Verificação bancária](https://docs.didit.me/pt-br/getting-started/bank-verification-pricing.md) para conferir os preços de cada país.

* **O login no banco** tem seu próprio preço, e os complementos de saldo e de transações adicionam, cada um, o seu.
* **A verificação de conta** é cobrada uma vez por cada verificação a que o banco responde: uma correspondência, uma correspondência próxima, nenhuma correspondência, uma conta que ele não conseguiu verificar e uma conta que ele não encontrou. Uma conta recusada da forma como foi digitada nunca é cobrada.

Onde um país oferece os dois métodos, uma sessão pode custar qualquer um dos preços, dependendo do método que a pessoa usa. O envio de extrato e os microdepósitos estão incluídos sem custo adicional após uma tentativa cobrada. Um envio de extrato sem tentativa bancária anterior custa \$0.20, e continuar sem um banco nunca é cobrado: veja [Preços](https://docs.didit.me/pt-br/core-technology/bank-verification/fallbacks.md#preços). A [API de verificação de conta](https://docs.didit.me/pt-br/standalone-apis/bank-account-check.md) executa a mesma verificação a partir do seu backend, sem sessão, pelo mesmo preço da verificação de conta.

## Teste no sandbox

Uma aplicação de sandbox oferece os dois métodos em todos os países, na ordem definida pela etapa, e não cobra nada. Com a ordem padrão, a pessoa começa no login no banco e escolhe **Informe os dados da sua conta** para executar a verificação de conta. Para começar pela verificação de conta, defina `bank_method_order` como `["account_lookup", "open_banking"]`. Os quatro últimos caracteres da conta determinam a resposta da verificação de conta: veja [Teste no sandbox](https://docs.didit.me/pt-br/core-technology/bank-verification/account-check.md#teste-no-sandbox).

## Relacionados

* [Verificação de conta](https://docs.didit.me/pt-br/core-technology/bank-verification/account-check.md): formatos de conta, resultados e valores de sandbox.
* [Quando a pessoa não consegue verificar o banco](https://docs.didit.me/pt-br/core-technology/bank-verification/fallbacks.md): alternativas, a opção Continuar sem seu banco e os resultados dela.
* [API de verificação de conta](https://docs.didit.me/pt-br/standalone-apis/bank-account-check.md): verifique uma conta de recebimento a partir do seu backend, sem sessão.
* [Chaves de configuração da Verificação bancária](https://docs.didit.me/pt-br/management-api/workflows/feature-configs.md#verificação-bancária): todas as chaves da etapa.
* [Testes em sandbox](https://docs.didit.me/pt-br/integration/sandbox-testing.md).


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