Getnet DocsGetnet Docs

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

Este documento se aplica aos seguintes países:

BrasilChileMéxicoEspanhaUruguai

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:

Requisitos

Antes de seguir as etapas, você precisa:

  • Configurar seu Web Chekout via Portal ou via API (dependendo da sua localização).
  • Gerar seu token seguindo o documento de Authentication.

Payment intent com verificação de cartão

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

Endpoint
POST /payment-intent

Campos obrigatórios

AtributoTipoDescriçãoExemplo
configurationsObjectConjunto de opções de pagamento.—
preauthorizationBooleanIndica se é um pagamento do tipo pré-autorizado.false
card_verificationBooleanIndica se é um pagamento do tipo verificação de cartão.true
3dsBooleanIndica 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.

"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 para iniciar a transação.

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

AtributoTipoDescriçãoExemplo
number_tokenStringNúmero do cartão tokenizado.dfe05208b105578c070f806c80abd3a
brandStringBandeira do cartão.Mastercard
cardholder_nameStringNome do comprador impresso no cartão.JOAO DA SILVA
expiration_monthStringMês de expiração do cartão (dois dígitos).12
expiration_yearStringAno de expiração do cartão (dois dígitos).28
security_codeStringCó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:

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:

{
  "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.

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

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

AtributoTipoDescriçãoExemplo
card_numberStringNúmero do cartão.5155901222280001
customer_idStringIdentificador do comprador.customer_21081826

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

Exemplo de requisição:

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:

{
  "number_token": "dfe05208b105578c070f806c80abd3af09e246827d29b866cf4ce16c205849977c9496cbf0d0234f42339937f327747075f68763537b90b31389e01231d4d13c"
}

Veja também

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