1. Raw card-present API
Kushki Docs
Español
  • Español
  • English
  • Inicio
  • Inicio rápido
    • Preguntas frecuentes
    • Paso a producción
    • Política de cambios importantes del API
    • Códigos de error
    • Datos de prueba
    • Últimas novedades
  • Glosario de pagos
    • Glosario de pagos
  • Pagos únicos con tarjeta (Online)
    • Network Tokens
    • Funcionalidades por modelo de negocio
    • Marcas de tarjeta soportadas
    • Pagos en un paso
      • Cargo directo (sin token)
      • Códigos de error autenticación OTP
      • ¿Cómo funcionan los pagos con tarjeta?
      • Acepta un pago con tarjeta
      • Acepta pagos únicos con 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?
    • Pagos con Webpay Plus
      • Reserva fondos con Webpay Plus
    • Pagos con Apple Pay
      • Pruebas en Sandbox Apple Pay
      • Configuración de Apple Pay
    • Devoluciones
      • Devoluciones, anulaciones y reembolsos
    • Autenticación 3DS
      • Introducción a 3DS
      • Integración 3DS API + librería kushki.js
      • Integración 3DS con librería kushki.js
      • Integración 100% API de 3DS
      • Códigos de error autenticación 3DS
  • 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
      • Maneja tus cargos calendarizados
      • Crea un cargo recurrente
      • ¿Cómo funcionan los cargos recurrentes con tarjeta?
    • Pagos calendarizados con Webpay OneClick
      • Reserva fondos en recurrencias con Webpay OneClick
      • Recurrencias con Webpay OneClick
    • Pagos OneClick con Webpay OneClick
      • Pagos one click con Webpay OneClick
      • Reserva fondos en pagos one click con Webpay OneClick
    • Pagos OneClick
      • ¿Cómo funcionan los pagos OneClick con autorización y captura?
      • Recibe pagos OneClick con autorización y captura
      • Genera pagos one click
  • Pagos con tarjeta presente
    • Acepta pagos con tarjeta presente
    • Datos de prueba
    • Webhooks para tarjeta presente
    • Raw card-present API
      • Script de ejemplo para cifrar información
      • Acepta pagos
      • Intercambio de claves criptográficas
      • Preguntas frecuentes
      • Códigos de error para transacciones con tarjeta presente
    • Transacciones
      • Anula un pago
      • Transacciones
    • 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
    • Kushki One App de Pagos
      • Procesa un cobro
      • Devoluciones y PreAuth & Capture
      • Pago Dividido en la terminal
      • Configuración del terminal
      • Consulta tus transacciones
  • Pagos con transferencias
    • Recibe transferencias bancarias
    • Consulta el estado de una transacción
    • Bancos y detalles de operación para pagos con transferencia bancaria
  • Pagos en efectivo
    • Acepta un pago en efectivo
    • Puntos de recaudo
    • Códigos de error para transacciones declinadas en efectivo
  • Dispersión de dinero
    • Transferencia bancaria
      • ¿Cómo funciona la dispersión por transferencia bancaria?
      • Códigos de error para dispersiones por transferencia
      • Dispersa a cuentas bancarias
  • Plugins
    • Shopify
      • Shopify
      • Operación del Plugin
    • Vtex
      • Guía de integración VTEX
  • Links de pago
    • Smartlinks
  • Formularios y botones de pago
    • Introducción
    • Kajita
      • Kajitas de pago
      • ¿Cómo funciona?
    • Botón de pago
      • Genera un botón de pago
      • ¿Cómo funciona el 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
      • Webhook para pagos con Webpay Plus
    • Webhooks para pagos recurrentes
      • Webhook para pagos recurrentes con tarjeta
      • Webhook para pagos recurrentes con Webpay OneClick
    • 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 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. Raw card-present API

Intercambio de claves criptográficas

Conoce cómo puedes obtener las claves criptográficas para permitir el intercambio seguro de información entre Kushki y tu comercio.

¿Cómo puedo obtener las claves criptográficas?#

¡Importante!
Para integrar este servicio es necesario que realices las solicitudes de integración a través de HTTPS, utilizando las credenciales que te proporcionaremos. Recuerda que esta información es confidencial y no debes compartir datos sensibles en lugares públicos.
Esta funcionalidad se encuentra disponible para los siguientes modelos:
☑ Adquirente

☐ Agregador
Para obtener las claves criptográficas que utilizará tu comercio para comunicarse con Kushki y habilitar el procesamiento de transacciones con tarjeta presente tu comercio, es necesario realizar los siguientes pasos:
Intercambio de claves
Dichos pasos se detallan a continuación:

1. Definición de acuerdos y condiciones de operación#

Como primer paso, se realizará una sesión entre tu comercio y Kushki, para establecer el curso de las siguientes acciones:

1.1. Revisión y aprobación de las condiciones de la ceremonia de intercambio de claves#

El HSM es un módulo de seguridad de hardware que genera, protege y administra las claves que se utilizarán para cifrar y descifrar los datos del procesamiento de transacciones en tu comercio.
Tu proveedor de HSM debe estar de acuerdo con las condiciones de la ceremonia de intercambio de claves criptográficas.
Al estar de acuerdo con dichas condiciones, tu comercio deberá intercambiar componentes con el proveedor de HSM de Kushki y realizar las siguientes solicitudes:
Realizar la firma de un Acuerdo de confidencialidad (NDA) del servicio HSM (Hardware Security Module), en el que se cargará la información de las claves criptográficas compartidas. Este proceso asegurará el resguardo de las claves y de esta manera, tu comercio podrá acceder al portal de HSM.
Crear y mantener la información de los Security Officers (SOs), incluyendo los detalles de contacto y los grupos de SO correctos dentro del portal. Estas personas serán las responsables de la seguridad en el proceso de intercambio de claves.
Seguir el paso a paso citado en este artículo para completar el proceso de intercambio de claves.
Si estás en fase de pruebas y no tienes aún un HSM 💡
Si deseas probar la API de Kushki mientras gestionas un proveedor de HSM puedes solicitar a Kushki recibir las claves de prueba (BDK) con anterioridad sin necesidad de tener aún la clave de transporte (KEK) que se almacena en el HSM.
Al recibir las claves de prueba podrás encriptar los datos de la transacción usando alguna librería. Este artículo te guía paso a paso en un ejemplo de cómo encriptar estos datos y así empezar a probar.

1.2. Establecimiento de mecanismos de trabajo y canales seguros#

Se establecerán los mecanismos de trabajo y los canales seguros por los que se compartirá información sensible entre tu comercio y Kushki.
Se definirán al menos dos (2) custodios de seguridad (conocidos como Security Officers), quienes estarán a cargo de ejecutar el intercambio de claves en las terminales POS de tu comercio. Estos custodios de seguridad no deben reportar a la misma persona.

2. Kushki solicita información requerida#

Para iniciar el proceso de intercambio de claves criptográficas:
Te solicitaremos información requerida en el proceso de afiliación y obtención del servicio de tarjeta presente.
Este proceso se realizará para habilitar el servicio de HSM de Kushki y disponibilizar la información de tu comercio en la consola de Kushki.

3. Kushki recibe información de tu comercio#

Tu comercio compartirá los datos solicitados, los cuales serán recibidos por Kushki para iniciar el proceso de revisión, y de esta forma comenzar el proceso de integración del servicio de tarjeta presente.

4. Kushki valida información para dar de alta tu comercio#

Al recibir la información solicitada, Kushki revisará y validará estos datos con el fin de dar de alta a tu comercio y habilitar el servicio a través del HSM; con el fin de ofrecer a tu comercio una conexión de host segura y de alta disponibilidad para el procesamiento de transacciones de tu comercio.
Una vez recibida y validada la información, el proceso continuará.

5. Kushki genera y envía KEK y KCV#

Kushki generará y enviará las siguientes componentes de claves para cifrado:
La clave KEK (Key Encryption Key) corresponde a una clave de transporte, la cual es compartida por Kushki a través de paquetería segura (ambiente de producción) o medios electrónicos seguros (ambiente de pruebas). Esta clave permitirá cifrar y descifrar otras claves que se compartirán en el futuro entre Kushki y tu comercio; por lo que dicha información debe almacenarse bajo estrictos estándares de confidencialidad en el Hardware Security Module (HSM) de tu comercio.
Las claves KCV (Key Checksum Value) correspondientes para verificar la integridad de las claves generadas. Esta información será enviada directamente a través de correo electrónico a los custodios de seguridad (Security officer/s) que se definieron en el paso 1.1.1.
Cuando se envíen los componentes de clave, los custodios de seguridad recibirán la siguiente información:
Información de referencia de la clave generada (Key reference information).
Datos de contacto (excluyendo la dirección) del SO que envía la componente de clave criptográfica.
Los detalles del envío y el número de serie de la bolsa de seguridad (TEA bag).
Un enlace a la página del Portal de HSM donde se debe completar la lista de verificación después de la recepción.
¡Importante!
Ten en cuenta que, para que Kushki pueda realizar el intercambio de claves, los custodios de seguridad asignados (SOs), deben cumplir con los siguientes requisitos:
Ser dados de alta en el portal del servicio de HSM de Kushki.
Contar con una cuenta activa para que puedan participar en el intercambio de claves criptográficas.
Ser incluidos en los grupos SO correctos (1, 2 o 3).
Asegurarse de actualizar la dirección para el envío de las componentes físicas cuando sea requerido.

6. Tu comercio recibe información en el portal HSM de Kushki#

Una vez que los SO de tu comercio hayan cumplido con los requisitos mencionados en el apartado anterior, estos recibirán la información sobre la cuenta de tu comercio en el portal del proveedor de HSM de Kushki. La recepción de esta información dependerá del ambiente de trabajo.
Ambiente de pruebas (UAT):
En este ambiente, los componentes pueden enviarse a través de medios electrónicos seguros, tales como correo electrónico cifrado, una bóveda de seguridad y SFTP (Protocolo de transferencia de archivos SSH). La información que recibirás aparecerá en un formato similar al siguiente:
KEY IDDESCRIPTIONALGORITHMLENGTHCLEAR TEXT KEY/COMPONENTKCV
ZMKcomponent 13DESdoubleA2F2 9E20 4515 D531 6B2C 32BC 3E58 612FEF0F99
Double-lencomponent 23DESdoubleBA1F 23CD 8529 2C7A 51EC 07A2 EA8A C11FF23EFF
component 33DESdoubleF70D 38D6 E557 A176 BC4F 1002 3D4C 01E9C41DBB
Ambiente de producción:
Kushki enviará tres sobres con un componente de clave física enviada por medio de paquetería segura de manera intercambiada a al menos dos de los custodios de seguridad que no reporten a la misma persona.
¡Importante!
Este proceso puede tomar un aproximado de dos semanas, dependiendo de las ubicaciones de los Security Officers (SO).

7. Tu comercio valida y carga los componentes en tu HSM#

Recibe los componentes y las sumas de comprobación de cada clave para posteriormente cargarlos y validarlos en tu HSM. Si dicha comprobación fue exitosa, es necesario que realices los siguientes pasos:
Informa a Kushki que la carga fue exitosa al correo electrónico seguridad@kushkipagos.com.
Los SOs de tu comercio deberán completar la lista de verificación para confirmar la recepción de los componentes de clave a través del portal del proveedor de servicio de HSM de Kushki. Esta información se recibirá a través de correo electrónico, siguiendo las instrucciones allí incluidas.
Si evidencias algún problema en la carga y validación de los componentes en tu HSM, por favor comunica esta información al correo electrónico seguridad@kushkipagos.com.
¡Importante!
Es requerido que los SOs de tu comercio realicen la destrucción del componente, una vez este haya sido activado en el portal de servicio del HSM de Kushki.

8. Kushki habilita información de tu comercio en la consola#

¡Importante!
Ten en cuenta que para que Kushki pueda habilitar la información de tu comercio en la consola, tu proceso de afiliación debe haberse realizado satisfactoriamente. Lo anterior, teniendo en cuenta que, para la generación de la BDK requerimos conocer la información que se menciona en el presente apartado.
Kushki dará de alta a tu comercio en la consola. En esta plataforma podrás verificar la siguiente información:
Merchant_id: identificador de tu comercio en las plataformas de Kushki.
Private-Credential-Id (llave privada): Clave de seguridad privada para validar y autorizar todas las transacciones de tu comercio.
Otra información relevante, tal como la Public-Credential-Id (llave pública), la cual corresponde a una clave alfanumérica exclusiva de Kushki que te permite autenticar las transacciones ejecutadas.
Para consultar esta información en la consola de Kushki de tu comercio, te recomendamos realizar el paso a paso citado en nuestra guía de llave pública y privada.

9. Generación y envío de la BDK#

Kushki genera dos claves de derivación base (Base Derivation Key, BDK). Estas claves te permitirán hacer la derivación correspondiente para seguir con el proceso DUKPT.
La primera Base Derivation Key se creará para el campo data.
La segunda Base Derivation Key se creará para el campo pin (pin_block).
Estas claves serán intercambiadas de manera cifrada y a través de medios electrónicos seguros con la KEK (Key Encryption Key) en formato TR-31.
Los tiempos de envío (SLAs) de esta información son los siguientes:
Envío de KEK en ambiente UATEnvío de KEK en ambiente de producciónEnvío de BDKs en ambiente de UAT y producción
1 día hábil2 semanas1 día hábil
Un ejemplo de la información de la BDK cifrada con una KEK en formato TR-31 se menciona a continuación:
RD0112B0TX00N00004FD842D565C0BDD9741A3EAB5106A78087A4D0729A56319F32AF9FBFC6FAE0A184DA40D08FA279FBB50E7598936AD18F
Ten en cuenta que las BDKs en ambiente de producción se compartirán a través de medios electrónicos seguros. Por ejemplo, a través de 1password.

10. Tu comercio ejecuta procesos internos para gestión de terminales POS#

Ahora que los custodios de seguridad de tu comercio (SOs) han recibido las BDKs, es momento de que ejecutes los procesos internos para gestionar esta información en las terminales POS utilizando el proceso DUKPT.
Acepta pagos
Acepta pagos con una terminal POS desde tu punto de venta a través de Raw card-present API.
Cifra datos de tarjeta por medio de script
Aprende cómo puedes encriptar la información de la transacción y empezar a hacer transacciones de prueba a través del API de Kushki.
Modificado en 2026-09-23 15:44:25
Anterior
Acepta pagos
Siguiente
Preguntas frecuentes
Built with