# Métodos de Verificação do Portador (CVM)

No ecossistema **Cartão Presente**, o **Método de Verificação do Portador (CVM)** é o aperto de mão (handshake) crítico usado para confirmar que a pessoa que apresenta o cartão é o proprietário legítimo. Ao contrário da simples checagem de CVV usada no e-commerce, os CVMs no mundo físico utilizam uma hierarquia de protocolos de segurança, desde assinaturas físicas até PINs criptografados sofisticados, para mitigar o risco de fraude.

## O Papel do CVM na Integração de Hardware

Quando você inicia uma transação por meio da **Regional API**, o campo `cardholder_verification_method` informa ao gateway da Getnet qual processo de verificação foi executado pelo terminal de hardware. O método de verificação utilizado é determinado pela interseção da lista de prioridades interna do cartão e as capacidades do terminal.

A execução bem-sucedida de um CVM de alta segurança é o que aciona o **Liability Shift**, protegendo o estabelecimento comercial de solicitações de chargeback por fraude.

## Métodos de Verificação Suportados

A Regional API suporta os seguintes enums de CVM, que devem ser mapeados corretamente no seu objeto `card`:

### `online_pin`

O método mais seguro para verificação em tempo real. O cliente insere seu PIN no teclado seguro (PIN pad) do terminal.

- **Requisito Técnico**: Exige a transmissão de um **`pin_block`** criptografado e um **`ksn`** (Key Serial Number).
- **Criptografia**: Utiliza o esquema de gerenciamento **DUKPT** (Derived Unique Key Per Transaction) para garantir a segurança de ponta a ponta.

### `offline_pin`

O PIN é validado localmente pelo chip do cartão, sem comunicação com o emissor.

- **Requisito Técnico**: O terminal lida com a verificação localmente. Na requisição da API, você simplesmente define o CVM como `offline_pin`.
- **Caso de Uso**: Ideal para ambientes com conectividade intermitente onde o cartão suporta verificação local.

### `signature`

Um método de verificação legado onde o cliente fornece uma assinatura física em um comprovante de papel ou uma assinatura digital na tela do terminal.

- **Requisito Técnico**: O estabelecimento comercial é responsável por armazenar a assinatura para possíveis disputas de chargeback.
- **Implementação**: Usado principalmente quando o cartão não suporta PIN ou o terminal não possui PIN pad. Nas requisições de API, isso é frequentemente implícito para modos de entrada `magnetic_stripe`.

### `no_cvm`

A verificação é totalmente ignorada.

- **Casos de Uso Comuns**: Aproximações (NFC) de baixo valor ou ambientes de "Pagamento Rápido", como catracas de transporte público.
- **Nota de Risco**: Essas transações costumam ter limites mais baixos e podem não oferecer o mesmo nível de proteção contra fraude que as vendas verificadas por PIN.

## Tabela de Mapeamento Técnico

| Enum CVM (`cardholder_verification_method`) | Campos de Segurança Exigidos | Melhor Modo de Entrada |
| --- | --- | --- |
| **`online_pin`** | `pin_block`, `ksn` | `chip` |
| **`offline_pin`** | Nenhum (Lado do Gateway) | `chip` |
| **(Omitido)** | `signature` implícito | `magnetic_stripe` |
| **`no_cvm`** | Nenhum | `chip_contactless` |

## Lógica de Seleção de CVM (A Hierarquia)

Durante uma transação, o terminal e o cartão "negociam" o melhor método de verificação possível com base em um conjunto de regras:

1. **Capacidade do Cartão**: O chip contém uma lista de CVMs que suporta em ordem de preferência (Online PIN, Assinatura, Sem CVM).
2. **Capacidade do Terminal**: O hardware informa o que é capaz de fazer ("Eu tenho um PIN pad e uma tela").
3. **O Resultado**: O terminal seleciona o CVM de maior prioridade que tanto o cartão quanto o hardware suportam.

> **Deep Dive Técnico**: O resultado desta negociação é registrado na EMV Tag **9F34** (CVM Results). O terminal usa esta tag para preencher o enum correto na requisição da API.

## Leia Mais

- **[Validação de PIN](/pt/global-api/sep-card-present/core-concepts-cp/pin-validation)**: Aprofundamento em DUKPT, formatos ISO-0 e construção de PIN blocks.
- **Modos de Entrada do Cartão**: Entenda como os modos de entrada como `chip` e `magnetic_stripe` influenciam a disponibilidade de CVM.
- **Guia de Início Rápido**: Execute sua primeira transação com `online_pin` no Sandbox.