1. Pagos únicos con tarjeta (Online)
Kushki Docs
Español
  • Español
  • English
  • Inicio
  • Inicio rápido
    • Últimas novedades
    • Preguntas frecuentes
    • Paso a producción
    • Política de cambios importantes del API
    • Datos de prueba
    • Códigos de error
  • Glosario de pagos
    • Glosario de pagos
  • Pagos únicos con tarjeta (Online)
    • Network Tokens
    • Marcas de tarjeta soportadas
    • Funcionalidades por modelo de negocio
    • Guía de integración Comisiones a terceros
    • ¿Cómo funcionan las Comisiones a terceros?
    • Pagos en un paso
      • Acepta un pago con tarjeta
      • Cargo directo (sin token)
      • ¿Cómo funcionan los pagos con tarjeta?
      • Acepta pagos únicos con OTP
      • Códigos de error autenticación OTP
      • Códigos de error pagos únicos con tarjeta
    • Pagos en dos pasos
      • Recibe pagos con autorización y captura
      • ¿Cómo funcionan los pagos únicos con autorización y captura?
    • Devoluciones
      • Devoluciones, anulaciones y reembolsos
    • Autenticación 3DS
      • Integración 3DS API + librería kushki.js
      • Introducción a 3DS
      • Integración 100% API de 3DS
      • Integración 3DS con librería kushki.js
      • Códigos de error autenticación 3DS
    • Pagos con Apple Pay
      • Configuración de Apple Pay
      • Pruebas en Sandbox Apple Pay
  • Pagos recurrentes con tarjeta (Online)
    • Autentica tus suscripciones con 3DS
    • Apple Pay en Suscripciones
    • Suscripciones externas a Kushki
    • Acepta pagos one click con 3DS
    • Funcionalidades por modelo de negocio
    • Códigos de error en cargos recurrentes
    • Pagos calendarizados
      • ¿Cómo funcionan los cargos recurrentes con tarjeta?
      • Maneja tus cargos calendarizados
      • Crea un cargo recurrente
    • Pagos OneClick
      • Genera pagos one click
      • Recibe pagos OneClick con autorización y captura
      • ¿Cómo funcionan los pagos OneClick con autorización y captura?
  • Pagos con tarjeta presente
    • Acepta pagos con tarjeta presente
    • Datos de prueba
    • Webhooks para tarjeta presente
    • Cloud Terminal API
      • Acepta pagos
      • Anula una solicitud de pago
      • Consulta el estado de una petición de cobro
      • ¿Cómo imprimir un ticket personalizado?
    • App-to-app
      • Acepta pagos
    • Transacciones
      • Anula un pago
      • Transacciones
    • Terminal SDK
      • Acepta pagos
    • Kushki One
      • Autenticación y Cifrado de Requests
      • Realiza cobros con Kushki One
      • Formato de montos en Kushki ONE
      • Impresión en terminal SmartPOS
      • Catálogo Unificado de Errores — Kushki ONE Connect
      • Servicios asíncronos y webhooks
    • Raw card-present API
      • Acepta pagos
      • Script de ejemplo para cifrar información
      • Intercambio de claves criptográficas
      • Preguntas frecuentes
      • Códigos de error para transacciones con tarjeta presente
    • Kushki One App de Pagos
      • Devoluciones y PreAuth & Capture
      • Procesa un cobro
      • Pago Dividido en la terminal
      • Consulta tus transacciones
      • Configuración del terminal
  • Pagos con transferencias
    • Bancos y detalles de operación para pagos con transferencia bancaria
    • Recibe transferencias bancarias
    • Consulta el estado de una transacción
  • Dispersión de dinero
    • Transferencia bancaria
      • Dispersa a cuentas bancarias
      • Códigos de error para dispersiones por transferencia
  • Plugins
    • Shopify
      • Operación del Plugin
    • Vtex
      • Guía de integración VTEX
  • Links de pago
    • Smartlinks
  • Formularios y botones de pago
    • Kajita
      • Kajitas de pago
      • ¿Cómo funciona?
    • Botón de pago
      • ¿Cómo funciona el botón de pago?
      • Genera un botón de pago
  • Administración de sucursales
    • ¿Cómo realizar el onboarding de subcomercios vía API?
  • Notificaciones
    • Buenas prácticas
    • Consulta tus webhooks
    • Webhooks para pagos únicos
      • Webhook para pagos únicos con tarjeta
      • Webhook para pagos únicos con transferencia bancaria
      • Webhook para pagos únicos con efectivo
    • Webhooks para dispersiones
      • Webhook para dispersión de dinero con transferencia
    • Webhooks para botón de pagos
      • Webhooks con Botón de pago
    • Webhooks para smartlinks
      • Webhooks con Smartlinks
    • Webhooks para pagos recurrentes
      • Webhook para pagos recurrentes con tarjeta
    • Webhooks para devoluciones
      • Webhook para devoluciones
      • Webhook para contracargos
HomeMexico 🇲🇽
Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
HomeMexico 🇲🇽
Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
Status
Soporte / Support
Español
  • Español
  • English
  1. Pagos únicos con tarjeta (Online)

Network Tokens

Cómo funcionan los network tokens en la API de Card Payments de Kushki: trae tu propio token, o deja que Kushki cree uno durante el cargo.
Un network token es un número de tarjeta emitido directamente por la red de tarjetas (Visa o Mastercard) que reemplaza el número real de la tarjeta (PAN) en una transacción. Está ligado a la tarjeta original y se actualiza automáticamente si la tarjeta expira o se reemite, así que el comercio no necesita pedirle al tarjetahabiente un nuevo número cuando eso pasa.
Kushki admite network tokens en Colombia, Chile, Perú y México de dos formas independientes, y una misma integración puede usar una, ambas o ninguna en una transacción dada. Ambos caminos aplican al modelo de adquirencia de Kushki.

1. Trae tu propio network token (Transporte)#

BETA
Si tu integración ya obtiene network tokens por su cuenta, por ejemplo desde una wallet digital como Apple Pay, puedes entregarle ese token a Kushki para que la transacción se procese con él en lugar de un PAN tradicional. Esta función está en BETA: contacta a tu ejecutivo de cuenta de Kushki antes de habilitarla.
1
Envía el network token al solicitar un token de Kushki
Se envía en el request de Solicitar un token de tarjeta (POST /card/v1/tokens), con card.number en el número del network token, card.cryptogram con el criptograma, isNetworkToken: true y un objeto networkToken con los metadatos de wallet y dispositivo:
{
  "card": {
    "name": "Luis García",
    "number": "4761923458201947",
    "expiryMonth": "08",
    "expiryYear": "28",
    "cvv": "121",
    "cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAAA"
  },
  "isNetworkToken": true,
  "networkToken": {
    "deviceType": "MOBILE",
    "requestorId": "98987676501",
    "source": "01",
    "walletId": "01",
    "authenticationLevel": "02"
  },
  "totalAmount": 150.00,
  "currency": "MXN"
}
Reemplaza currency por la moneda de tu país: COP, CLP, PEN o MXN.
CampoDescripción
isNetworkTokenIndica que card.number es un network token y no un PAN tradicional.
card.cryptogramCriptograma dinámico del network token, de 20 a 28 caracteres alfanuméricos. Es un campo distinto del CVV.
deviceTypeTipo de dispositivo que origina la transacción tokenizada.
requestorIdID único que la red de tarjetas asigna al solicitante del token.
sourceOrigen del token.
walletIdIdentificador de la wallet digital: 01 para Apple Pay, 04 para otras wallets.
authenticationLevelNivel de autenticación realizado durante el aprovisionamiento del token.
mvvMerchant Verification Value de 10 dígitos (solo transacciones Visa).
También puedes enviar estos campos directamente en un cargo sin token (POST /card/v2/charges).
Consulta la referencia completa en Solicitar un token de tarjeta.
2
Continúa el flujo normal
Usa el token que te devolvieron para llamar a Cargo (POST /card/v1/charges) o a Preautorización (POST /card/v1/preAuthorization). El resto del flujo no cambia.
Criptograma y CVV
El criptograma se envía en card.cryptogram y no reemplaza al CVV. Se recomienda enviar también card.cvv: si solo envías el criptograma, la tasa de aceptación puede variar. Confirma con tu wallet o proveedor de tokens si incluyen un criptograma.

2. Deja que Kushki cree uno (Creación)#

Si en cambio estás tokenizando una tarjeta normal con Kushki, sin traer un número ya tokenizado, puedes pedirle a Kushki que también tokenice esa tarjeta con network token durante el cargo, usando el tokenizador propio de Kushki.
1
Pídelo en el cargo
Incluye "networkToken" en el array capabilities del request de Cargo (POST /card/v1/charges) o de Preautorización (POST /card/v1/preAuthorization). También funciona en sus variantes sin token: Cargo sin token y Preautorización sin token.
{
  "token": "f5c64f7ac8ea42d5a58dcdc74de973dc",
  "capabilities": ["networkToken"],
  "amount": {
    "subtotalIva": 0,
    "subtotalIva0": 150.00,
    "iva": 0,
    "currency": "MXN"
  }
}
2
Lee el objeto network en la respuesta
Si la transacción se tokenizó de esta forma, la respuesta incluye un objeto network con los detalles del token:
{
  "ticketNumber": "922513792073660814",
  "transactionReference": "6f16659e-b711-4995-a9ae-161aecbd6521",
  "network": {
    "wallet": "cybersource",
    "walletId": "04",
    "isNetworkToken": true,
    "tmsMaskedCardNumber": "549138XXXXXX4509",
    "tmsLastFourDigits": "4509",
    "tmsBin": "549138",
    "tmsIntegration": "kushki"
  }
}
Requiere un acuerdo comercial
La creación de network tokens se habilita bajo demanda mediante un acuerdo comercial. No todas las transacciones se tokenizan de esta forma aun con el acuerdo activo: revisa el objeto network en cada respuesta para saber si esa transacción en particular lo fue.

Cómo se relacionan los dos caminos#

Transporte y Creación responden preguntas distintas:
Transporte controla qué envías: si el número de tarjeta en el request es un PAN tradicional o un network token que ya obtuviste por tu cuenta.
Creación controla qué recibes de vuelta: si Kushki reporta información de network token para esa transacción en la respuesta, usando su propio tokenizador.
Son independientes: usar uno no requiere ni excluye al otro. El objeto network en la respuesta del cargo o la preautorización refleja lo que pediste en capabilities y lo que realmente pasó con esa transacción, sin importar por cuál camino se obtuvo el token subyacente.

Referencia API#

Solicitar un token de tarjeta: campos isNetworkToken, networkToken y card.cryptogram.
Cargo y Cargo sin token: capabilities y objeto network.
Preautorización y Preautorización sin token: capabilities y objeto network.
¿Usas Apple Pay?
Configura Apple Pay en tu integración para obtener network tokens desde la wallet del cliente.
Modificado en 2026-10-21 21:24:59
Anterior
Pagos únicos con tarjeta (Online)
Siguiente
Marcas de tarjeta soportadas
Built with