> ## 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 verificação bancária: sessão ou conta

> Saiba o que cada método de verificação bancária da Didit comprova e como configurá-los por país (início de sessão ou verificação de conta).

A Bank Verification confirma que uma conta bancária pertence à pessoa ou empresa que um passo anterior do seu fluxo verificou. Trata-se de um passo do fluxo com dois métodos: a pessoa inicia sessão no seu banco ou introduz os dados da sua conta e o banco confirma o nome na conta. Você escolhe que métodos cada país disponibiliza e qual surge em primeiro lugar.

> [!NOTE]
>
> Em produção, o início de sessão no banco funciona na Nigéria e na Nova Zelândia, e a verificação de conta funciona na Nigéria, no Gana e no Quénia.
> Mais países são adicionados ao longo do tempo, e os [Preços da Bank Verification](https://docs.didit.me/pt/getting-started/bank-verification-pricing.md) mostram sempre o que cada país disponibiliza atualmente.

> [!NOTE]
>
> A Bank Verification compara o titular da conta com uma identidade estabelecida por **outro passo**, pelo que não constitui um comprovativo de identidade por si só. Coloque a Verificação de identidade, a Validação de base de dados, um questionário ou `expected_details` antes do passo. A pessoa nunca introduz o nome verificado: a Didit compara sempre o nome que a sessão já verificou.

## Os dois métodos

| | Início de sessão no banco | Verificação de conta |
| - | - | - |
| Valor do método | `open_banking` | `account_lookup` |
| O que a pessoa faz | Inicia sessão no seu banco e partilha a conta. | Introduz os dados da conta: um IBAN, um código de ordenação e um número de conta, um CLABE, etc. Sem início de sessão. |
| O que comprova | Controlo da conta, além do titular devolvido pelo banco. | O nome do titular indicado pelo banco para essa conta corresponde ao nome verificado. |
| Dados adicionados | Saldos, transações e rendimentos, quando o passo os solicita. | Nenhum: apenas propriedade. |
| Utilização típica | Onboarding, crédito, avaliação de solvabilidade, clientes de alto risco. | Pagamentos e levantamentos, onboarding de baixo atrito, países sem início de sessão no banco. |

Ambos os métodos fornecem o mesmo tipo de resultado: se o titular corresponde, o titular devolvido pelo banco e a conta mascarada. Os métodos diferem consoante o país, e um país pode disponibilizar um deles, ambos ou ambos em qualquer ordem. Consulte a [verificação de conta](https://docs.didit.me/pt/core-technology/bank-verification/account-check.md) para conhecer os formatos de conta, resultados e valores de sandbox.

O carregamento de extrato e os microdepósitos mantêm-se como alternativas de recurso após os dois métodos (`bank_statement_enabled`, `bank_microdeposits_enabled`), e a pessoa pode sempre continuar sem banco. Os microdepósitos só são disponibilizados após uma tentativa cobrada de início de sessão no banco ou de verificação de conta na mesma sessão, sem custos adicionais. O carregamento de extrato também está incluído após uma dessas tentativas e pode igualmente surgir sem qualquer tentativa bancária prévia, em qualquer país. Consulte [Quando a pessoa não consegue verificar o seu banco](https://docs.didit.me/pt/core-technology/bank-verification/fallbacks.md).

## O que a pessoa vê

Em cada país, a pessoa começa pelo primeiro método disponibilizado pelo país. O segundo serve de recurso:

* **Primeiro o início de sessão no banco:** o seletor de bancos abre-se. A sua última linha, **Introduza os dados da sua conta**, inicia a verificação de conta. Se o início de sessão no banco falhar, a mesma linha surge novamente em **Outras formas de verificar**.
* **Primeiro a verificação de conta:** o formulário de conta abre-se, com uma ligação **Inicie sessão no seu banco em alternativa** por baixo.
* **Apenas um método:** a pessoa vê apenas esse método.

Quando um país disponibiliza a verificação de conta, esta também funciona como alternativa para um banco que o início de sessão no banco não consegue alcançar no momento, por estar degradado ou indisponível: a pessoa avança para o formulário de conta antes de ser solicitado qualquer consentimento, desde que ainda tenha verificações de conta disponíveis. Um método que nenhuma rota suporte num determinado país é omitido nesse país, para que a pessoa nunca veja um método que não possa ser executado. Um país que nenhuma rota suporte de todo disponibiliza apenas as suas alternativas de recurso e **Continuar sem o seu banco**.

## Escolher os métodos por país

### A ordem do passo

O parâmetro `bank_method_order` define que métodos o passo disponibiliza, e em que ordem, para todos os países que não definem uma ordem própria. Lista `open_banking`, `account_lookup` ou ambos, com o primeiro a surgir em primeiro lugar.

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

Ao guardar sem enviar `bank_method_order`, é assumido `["open_banking", "account_lookup"]`: primeiro o início de sessão no banco, com a verificação de conta como recurso. Uma lista vazia é recusada com `Choose a method: bank sign-in, account check, or both.`

A ordem do passo é um valor predefinido. Num país onde nenhuma rota suporte um dos seus métodos, esse método é omitido e o país disponibiliza os restantes. Um país suportado por uma rota, mas que a ordem deixe sem nenhum método, é recusado ao guardar, por exemplo `Choose a method: bank sign-in, account check, or both. ARE offers account check.` Um país que nenhuma rota suporte de todo é mantido, apenas com as suas alternativas de recurso: consulte [Um país que nenhuma rota bancária suporta](https://docs.didit.me/pt/core-technology/bank-verification/fallbacks.md#um-país-que-nenhuma-rota-bancária-cobre).

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

O campo `methods` de um país em `bank_countries` substitui a ordem do passo para esse país. A pessoa começa pelo primeiro método e o segundo é disponibilizado 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 do passo, a Noruega disponibiliza apenas o início de sessão no banco e o México começa pela verificação de conta com o início de sessão no banco como recurso. Um país com `methods` definido como `null`, ou sem essa chave, segue a ordem do passo. A configuração é recusada, em `bank_countries.<ISO3>`, quando um país ativado:

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

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

### Na consola

No passo de verificação bancária, **Países e métodos** lista cada país com o que o início de sessão no banco e a verificação de conta aí disponibilizam, e qual dos métodos surge em primeiro lugar. As suas predefinições preenchem todos os países de uma só vez:

| Predefinição | Ordem |
| - | - |
| Início de sessão no banco, verificação de conta como recurso (predefinição) | `["open_banking", "account_lookup"]` |
| Apenas início de sessão no banco | `["open_banking"]` |
| Apenas verificação de conta | `["account_lookup"]` |
| Verificação de conta, início de sessão no banco como recurso | `["account_lookup", "open_banking"]` |

Uma predefinição nunca deixa um país sem nenhum método: quando um país dispõe de apenas um dos dois métodos, esse método permanece ativo.

## Os dados financeiros requerem início de sessão bancário

Apenas o início de sessão no banco lê saldos, transações e rendimentos. Quando o passo os solicita em `bank_scopes` e um país disponibiliza a verificação de conta, uma pessoa que efetue a verificação por verificação de conta prossegue sem esses dados. O passo não falha: o resultado lista o que não foi recolhido 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 recolheu tudo o que o passo solicitou. Para exigir os dados, disponibilize apenas o início de sessão no banco nos países onde necessita deles.

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

Estas chaves moldam apenas a verificação de conta. O início de sessão no banco mantém as suas próprias definições.

| Campo de configuração | Efeito |
| - | - |
| `bank_account_check_accept_close_match` | Ativado (a predefinição): um nome ao qual o banco atribua uma pontuação entre `bank_partial_match_floor` e `bank_name_match_threshold` é uma correspondência próxima. A pessoa confirma o nome registado no banco quando `bank_suggest_holder_name` está ativado, e `bank_partial_match_action` decide. Desativado: essa correspondência próxima é uma não correspondência (`OWNER_NAME_MISMATCH`), decidida por `bank_no_match_action`, e gasta a tentativa. |
| `bank_account_check_max_attempts` | O número de verificações de conta que a pessoa pode fazer: de `1` a `5`, sendo `3` quando não definido: quantas vezes pode digitar os dados da conta para uma verificação a que o banco responda. Uma conta recusada com os dados introduzidos, ou uma verificação à qual o banco não conseguiu responder, não gasta nenhuma. |

As tentativas são contabilizadas por método. `bank_max_attempts` conta as tentativas de início de sessão no banco, e um micro-depósito ou envio de extrato bancário também gasta uma delas. `bank_account_check_max_attempts` conta as verificações de conta. O passo termina em `bank_attempts_exhausted_action` assim que todas as formas de verificação que continuam disponíveis para a pessoa, incluindo o envio de extrato, tenham esgotado as suas tentativas sem uma ligação bem-sucedida: consulte [O envio de extrato](https://docs.didit.me/pt/core-technology/bank-verification/fallbacks.md#o-carregamento-de-extrato).

## Ler o método no resultado

### Decisão e webhooks

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

| `method` | Apresentado como |
| - | - |
| `open_banking` | Início de sessão no banco |
| `account_lookup` | Verificação de conta |
| `microdeposits` | Micro-depó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: consulte [Ler o resultado](https://docs.didit.me/pt/core-technology/bank-verification/fallbacks.md#ler-o-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 abordados nesta página. Todos os campos estão no esquema `SessionDecision` da [referência da API](https://docs.didit.me/pt/sessions-api/retrieve-session.md).

### Regras de fluxo

As ramificações e as regras de estado personalizadas leem o mesmo valor como `bank.method`, identificado como **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 um passo de Triagem AML que envia uma verificação de conta com uma pontuação de risco elevada para revisão:

```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 sua linha **Método de verificação**.

## Nós guardados antes dos métodos

`bank_open_banking_enabled` e `bank_account_lookup_enabled` foram descontinuados. Um nó guardado antes da existência de `bank_method_order` é agora executado com a ordem que os seus dois interruptores definiam:

| `bank_open_banking_enabled` | `bank_account_lookup_enabled` | O nó é executado com |
| - | - | - |
| 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"]` |

Onde a verificação de conta estava ativada a par do início de sessão no banco, a pessoa vê-a agora como alternativa no seletor de bancos, **Introduza os dados da sua conta**, e não apenas quando o seu banco está indisponível. Um nó com ambos os interruptores desativados, que oferecia apenas micro-depósitos ou o envio de extrato, é mantido como está; uma gravação posterior deve ativar pelo menos um dos dois métodos.

Durante uma única versão, uma gravação que não envie `bank_method_order` mas envie qualquer um dos interruptores continuará a definir a ordem a partir dos interruptores. Cada gravação volta a gravar ambos os interruptores, indicando se algum país oferece o início de sessão no banco e se algum país oferece a verificação de conta. Utilize `bank_method_order` e `bank_countries.<ISO3>.methods` em novas integrações.

## Preços

Cada método é faturado pelo seu próprio preço, por país. Consulte os [preços do Bank Verification](https://docs.didit.me/pt/getting-started/bank-verification-pricing.md) para obter os preços de cada país.

* O **início de sessão no banco** tem o seu próprio preço, e os complementos de saldo e de transações acrescentam cada um o seu custo.
* A **verificação de conta** é faturada uma vez por cada verificação a que o banco responda: uma correspondência, uma correspondência próxima, uma não correspondência, uma conta que não foi possível verificar e uma conta que não foi encontrada. Uma conta recusada com os dados introduzidos nunca é faturada.

Onde um país disponibiliza ambos os métodos, uma sessão pode ter qualquer um dos preços, dependendo do método que a pessoa utilizar. O envio de extrato e os micro-depósitos estão incluídos sem custos adicionais após uma tentativa cobrada. Um envio de extrato sem nenhuma tentativa bancária anterior custa \$0.20, e continuar sem banco nunca é faturado: consulte [Preços](https://docs.didit.me/pt/core-technology/bank-verification/fallbacks.md#preços). A [API de verificação de conta](https://docs.didit.me/pt/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.

## Testar na sandbox

Uma aplicação sandbox disponibiliza ambos os métodos em todos os países, na ordem definida pelo passo, e não fatura nada. Com a ordem predefinida, a pessoa começa no início de sessão no banco e escolhe **Introduza os dados da sua conta** para executar a verificação de conta. Para começar na verificação de conta, defina `bank_method_order` como `["account_lookup", "open_banking"]`. Os últimos quatro carateres da conta determinam a resposta da verificação de conta: consulte [Testar na sandbox](https://docs.didit.me/pt/core-technology/bank-verification/account-check.md#testar-na-sandbox).

## Conteúdo relacionado

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


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