# Criar um pagamento com verificação de cartão

Este documento se aplica aos seguintes países:
Brasil | Chile | México | Espanha | Uruguai
---|---|---|---|---|

No Web Checkout da Getnet, a **verificação de cartão** é um processo usado para validar o cartão de crédito de um cliente sem realizar uma cobrança completa. Durante esse processo, o sistema de pagamento verifica os dados do cartão e consulta o banco emissor para confirmar que o cartão é válido e autorizado para transações.
Essa verificação ajuda a garantir que o cartão possa ser usado em pagamentos futuros e reduz o risco de fraude antes que uma transação real seja processada.

## Como funciona

Use a verificação de cartão quando quiser validar o cartão de crédito de um cliente sem realizar uma cobrança completa — confirmando com o banco emissor que o cartão é válido e autorizado antes que uma transação real seja processada. Principais características:

- **Validação de valor zero** — o processo verifica os dados do cartão sem creditar nenhum valor no cartão. A Getnet envia automaticamente uma transação interna de valor zero para que o emissor possa validar a existência e a elegibilidade do cartão.
- **Redução de fraude** — validar o cartão antecipadamente ajuda a garantir que ele possa ser usado em pagamentos futuros e reduz o risco de fraude antes que uma transação real seja executada.
- **Nenhuma transação financeira** — não há cobrança; o resultado é um status `VERIFIED`, não um pagamento.
- **Tokenização opcional** — após uma verificação bem-sucedida, você pode tokenizar o cartão e usar `number_token` no lugar do número de cartão em texto puro nas próximas requisições de pagamento, reduzindo o escopo do PCI DSS.

O fluxo completo envolve o comprador, a página de Checkout e a Getnet WebCheckout / Regional API:

![](https://static-devportal-ux.sensedia-eng.com/Pagonxt/production/documentations/flow-payment-cardverif-wbc-1787834617593-tf5xcwmb.png)

## Requisitos

Antes de seguir as etapas, você precisa:

* Configurar seu Web Chekout via [Portal](/pt/web-checkout/first-steps-wbc/configuration-by-portal) ou via [API](/pt/web-checkout/first-steps-wbc/configration-by-api) (dependendo da sua localização).
* Gerar seu token seguindo o documento de [Authentication](/pt/web-checkout/first-steps-wbc/authentication-token-wbc).

## Payment intent com verificação de cartão

![](https://static-devportal-ux.sensedia-eng.com/Pagonxt/staging/documentations/checkout-lightbox-1-1772821188558-89xdacu8.png)

Para passar pela verificação de cartão, estes parâmetros devem ser enviados no payment intent.

Endpoint|
---|
`POST /payment-intent`|

**Campos obrigatórios**
| Atributo | Tipo | Descrição | Exemplo |
|---|---|---|---|
|`configurations`| Object | Conjunto de opções de pagamento. | -- |
|`preauthorization`| Boolean | Indica se é um pagamento do tipo pré-autorizado. | `false`|
|`card_verification`| Boolean | Indica se é um pagamento do tipo verificação de cartão. | `true` |
|`3ds`| Boolean | Indica se é um pagamento do tipo 3DS. | `false`|

O bloco de código a seguir mostra os campos que devem ser enviados no [payment intent endpoint](https://docs.globalgetnet.com/en/products/online-payments/web-checkout/swagger#tag/payment-intent/post/payment-intent).

```json
"configurations": {
        "preauthorization": false,
        "card_verification": true,
        "3ds": false
    }
```

> **Argentina**: `card_verification` e `preauthorization` **não estão disponíveis** para a Argentina.

### Passo 1: Verificando um cartão

Um pagamento de valor zero começa com a autorização. Esta etapa valida os dados do cliente e do cartão. Utilize o [Card verification endpoint](https://docs.globalgetnet.com/en/products/online-payments/regional-api/swagger#tag/cards/post/dpm/cofre-gw-proxy/v1/cards/verification) para iniciar a transação.

A tabela abaixo lista os campos que você precisa enviar:

| Atributo          | Tipo   | Descrição                       | Exemplo                           |
| ------------------ | ------ | --------------------------------- | --------------------------------- |
| `number_token`     | String | Número do cartão tokenizado.            | `dfe05208b105578c070f806c80abd3a` |
| `brand`            | String | Bandeira do cartão.                       | `Mastercard`                      |
| `cardholder_name`  | String | Nome do comprador impresso no cartão. | `JOAO DA SILVA`                   |
| `expiration_month` | String | Mês de expiração do cartão (dois dígitos).  | `12`                              |
| `expiration_year`  | String | Ano de expiração do cartão (dois dígitos).   | `28`                              |
| `security_code`    | String | Código de segurança. CVV ou CVC.        | `123`                             |

O bloco de código a seguir mostra um exemplo de requisição e resposta para autorizar um pagamento.

#### Exemplo de requisição:
```json
curl --request POST \
  --url https://api.pre.globalgetnet.com/dpm/cofre-gw-proxy/v1/cards/verification \
  --header 'authorization: Bearer ' \
  --header 'content-type: application/json' \
  --header 'x-seller-id: 54f88e68-7764-4e87-8830-756b1e2c02f8' \
  --header 'x-transaction-channel-entry: XX' \
  --data '{
  "number_token": "dfe05208b105578c070f806c80abd3a",
  "brand": "Mastercard",
  "cardholder_name": "JOAO DA SILVA",
  "expiration_month": "12",
  "expiration_year": "28",
  "security_code": "123"
}'
```

#### Exemplo de resposta:

```json
{
  "status": "VERIFIED",
  "verification_id": "ae267804-503c-4163-b1b1-f5da5120b74e",
  "authorization_code": "6964722471672911",
  "transaction_id": "1002217281190421"
}
```

O sistema da Getnet envia automaticamente uma transação interna de valor zero junto com os dados do cartão, permitindo que o emissor valide a existência e a elegibilidade do cartão.
Após uma validação bem-sucedida, você pode criar os pagamentos.

<Callout type="warning">

Esta é uma verificação sem transação financeira, na qual nenhum valor é creditado no cartão.

</Callout>

### Passo 2: Pagamento com dados de cartão tokenizados

Em vez de enviar o número do cartão em texto puro na sua requisição de pagamento, você pode usar tokenização para aumentar a segurança e reduzir o escopo de conformidade PCI DSS. Para usar um cartão tokenizado:

1. Tokenize o cartão chamando o [Card Tokenization endpoint](https://docs.globalgetnet.com/en/products/online-payments/regional-api/swagger#tag/cards/post/dpm/cofre-gw-proxy/v1/tokens/card) com `card_number` e `customer_id`.
2. Na sua requisição de pagamento, substitua o campo `card_number` por `number_token`, usando o valor do token recebido do endpoint de tokenização.

Ao usar number_token, você deve excluir a propriedade `card_number` da requisição. Para detalhes completos sobre tokenização, consulte a documentação de [Tokenization and Vault](https://docs.globalgetnet.com/pt/products/online-payments/regional-api?doc=api-ref-tokenization-and-vault).

| Atributo          | Tipo   | Descrição                       | Exemplo                           |
| ------------------ | ------ | --------------------------------- | --------------------------------- |
| `card_number`      | String | Número do cartão.            | `5155901222280001` |
| `customer_id`      | String | Identificador do comprador. | `customer_21081826`                      |

Utilize o Card Tokenization endpoint para tokenizar o cartão.

#### Exemplo de requisição:
```json
curl --request POST \
  --url https://api-sbx.globalgetnet.com/dpm/cofre-gw-proxy/v1/tokens/card \
  --header 'authorization: Bearer <your-token>' \
  --header 'content-type: application/json' \
  --header 'x-seller-id: 54f88e68-7764-4e87-8830-756b1e2c02f8' \
  --data '{
  "card_number": "5155901222280001",
  "customer_id": "customer-123"
}'
```

#### Exemplo de resposta:
```json
{
  "number_token": "dfe05208b105578c070f806c80abd3af09e246827d29b866cf4ce16c205849977c9496cbf0d0234f42339937f327747075f68763537b90b31389e01231d4d13c"
}
```

## Veja também

Você pode explorar mais pagamentos da API Getnet Web Checkout:

* Saiba como [criar um pagamento com pré-autorização](/pt/web-checkout/payment-guides-wbc/payment-preauth-wbc).
* Saiba como [criar um pagamento com 3DS](/pt/web-checkout/payment-guides-wbc/payment-3ds-wbc).