Getnet DocsGetnet Docs

Crear un pago con verificación de tarjeta

Este documento aplica a los siguientes países:

BrasilChileMéxicoEspañaUruguay

En el Web Checkout de Getnet, la verificación de tarjeta es un proceso utilizado para validar la tarjeta de crédito de un cliente sin completar un cargo total. Durante este proceso, el sistema de pago verifica los datos de la tarjeta y consulta con el banco emisor para confirmar que la tarjeta es válida y está autorizada para transacciones. Esta verificación ayuda a garantizar que la tarjeta pueda usarse en pagos futuros y reduce el riesgo de fraude antes de procesar una transacción real.

Cómo funciona

Usa la verificación de tarjeta cuando quieras validar la tarjeta de crédito de un cliente sin completar un cargo total, confirmando con el banco emisor que la tarjeta es válida y está autorizada antes de procesar una transacción real. Características clave:

  • Validación de importe cero — el proceso verifica los datos de la tarjeta sin acreditar ningún importe a la tarjeta. Getnet envía automáticamente una transacción interna de importe cero para que el emisor pueda validar la existencia y elegibilidad de la tarjeta.
  • Reducción de fraude — validar la tarjeta de antemano ayuda a garantizar que pueda usarse en pagos futuros y reduce el riesgo de fraude antes de ejecutar una transacción real.
  • Sin transacción financiera — no hay cargo; el resultado es un estado VERIFIED, no un pago.
  • Tokenización opcional — tras una verificación exitosa, puedes tokenizar la tarjeta y usar number_token en lugar del número de tarjeta original en solicitudes de pago posteriores, lo que reduce el alcance de PCI DSS.

El flujo completo involucra al comprador, la página de Checkout y el Getnet WebCheckout / Regional API:

Requisitos

Antes de seguir los pasos, necesitas:

  • Configurar tu Web Checkout mediante Portal o mediante API (dependiendo de tu ubicación).
  • Generar tu token siguiendo el documento de Authentication.

Payment intent con verificación de tarjeta

Para pasar por la verificación de tarjeta, estos parámetros deben enviarse en el payment intent.

Endpoint
POST /payment-intent

Campos obligatorios

AtributoTipoDescripciónEjemplo
configurationsObjectConjunto de opciones de pago.—
preauthorizationBooleanIndica si es un pago de tipo preautorizado.false
card_verificationBooleanIndica si es un pago de tipo verificación de tarjeta.true
3dsBooleanIndica si es un pago de tipo 3DS.false

El siguiente bloque de código muestra los campos que deben enviarse en el payment intent endpoint.

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

Argentina: card_verification y preauthorization no están disponibles para Argentina.

Paso 1: Verificar una tarjeta

Un pago de importe cero comienza con la autorización. Este paso valida los datos del cliente y de la tarjeta. Usa el Card verification endpoint para iniciar la transacción.

La siguiente tabla muestra los campos que debes enviar:

AtributoTipoDescripciónEjemplo
number_tokenStringNúmero de tarjeta tokenizado.dfe05208b105578c070f806c80abd3a
brandStringMarca de la tarjeta.Mastercard
cardholder_nameStringNombre del titular impreso en la tarjeta.JOAO DA SILVA
expiration_monthStringMes de expiración de la tarjeta (dos dígitos).12
expiration_yearStringAño de expiración de la tarjeta (dos dígitos).28
security_codeStringCódigo de seguridad. CVV o CVC.123

El siguiente bloque de código muestra un ejemplo de solicitud y respuesta para autorizar un pago.

Ejemplo de solicitud:

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"
}'

Ejemplo de respuesta:

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

El sistema de Getnet envía automáticamente una transacción interna de importe cero junto con los datos de la tarjeta, lo que permite al emisor validar la existencia y elegibilidad de la tarjeta. Tras una validación exitosa, puedes crear los pagos.

Esta es una verificación sin transacción financiera, en la que no se acredita ningún importe a la tarjeta.

Paso 2: Pago con datos de tarjeta tokenizados

En lugar de enviar el número de tarjeta original en tu solicitud de pago, puedes usar tokenización para mejorar la seguridad y reducir el alcance de cumplimiento de PCI DSS. Para usar una tarjeta tokenizada:

  1. Tokeniza la tarjeta llamando al Card Tokenization endpoint con card_number y customer_id.
  2. En tu solicitud de pago, sustituye el campo card_number por number_token, usando el valor del token recibido del endpoint de tokenización.

Al usar number_token, debes excluir la propiedad card_number de la solicitud. Para conocer todos los detalles sobre tokenización, consulta la documentación de Tokenization and Vault.

AtributoTipoDescripciónEjemplo
card_numberStringNúmero de tarjeta.5155901222280001
customer_idStringIdentificador del comprador.customer_21081826

Utiliza el Card Tokenization endpoint para tokenizar la tarjeta.

Ejemplo de solicitud:

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"
}'

Ejemplo de respuesta:

{
  "number_token": "dfe05208b105578c070f806c80abd3af09e246827d29b866cf4ce16c205849977c9496cbf0d0234f42339937f327747075f68763537b90b31389e01231d4d13c"
}

Ver también

Puedes explorar más pagos de la API de Getnet Web Checkout: