1. Pagos con tarjeta presente
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
    • Marcas de tarjeta soportadas
    • Funcionalidades por modelo de negocio
    • Pagos en un paso
      • ¿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
      • Cargo directo (sin token)
      • Acepta un pago con tarjeta
    • Pagos en dos pasos
      • ¿Cómo funcionan los pagos únicos con autorización y captura?
      • Recibe pagos con autorización y captura
    • Devoluciones
      • Devoluciones, anulaciones y reembolsos
    • Autenticación 3DS
      • Integración 100% API de 3DS
      • Integración 3DS con librería kushki.js
      • Códigos de error autenticación 3DS
      • Integración 3DS API + librería kushki.js
      • Introducción a 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
    • Acepta pagos one click con 3DS
    • Funcionalidades por modelo de negocio
    • Códigos de error en cargos recurrentes
    • Suscripciones externas a Kushki
    • Pagos calendarizados
      • Crea un cargo recurrente
      • Maneja tus cargos calendarizados
      • ¿Cómo funcionan los cargos recurrentes con tarjeta?
    • Pagos OneClick
      • ¿Cómo funcionan los pagos OneClick con autorización y captura?
      • Genera pagos one click
      • Recibe pagos OneClick con autorización y captura
  • Pagos con tarjeta presente
    • Datos de prueba
    • Acepta pagos con tarjeta presente
    • Webhooks para tarjeta presente
    • Raw card-present API
      • Introducción a Raw card-present API
      • Script de ejemplo para cifrar información
      • Intercambio de claves criptográficas
      • Preguntas frecuentes
      • Códigos de error para transacciones con tarjeta presente
      • Acepta pagos
    • Transacciones
      • Anula un pago
      • Transacciones
    • Kushki One
      • Autenticación y Cifrado de Requests
      • Realiza cobros con Kushki One
      • Servicios asíncronos y webhooks
      • Formato de montos en Kushki ONE
      • Catálogo Unificado de Errores — Kushki ONE Connect
      • Primeros Pasos
      • Impresión en terminal SmartPOS
    • Kushki One App de Pagos
      • Descripción general
      • Devoluciones y PreAuth & Capture
      • Pago Dividido en la terminal
      • Configuración del terminal
      • Consulta tus transacciones
      • Procesa un cobro
  • Pagos con transferencias
    • Consulta el estado de una transacción
    • Experiencias de compra y detalles de operación para pagos con transferencia bancaria
    • Recibe transferencias bancarias
  • Pagos en efectivo
    • Puntos de recaudo
    • Códigos de error para transacciones declinadas en efectivo
    • Acepta un pago en efectivo
  • Métodos alternativos de pago (APM)
    • ¿Cómo funcionan los pagos con APM?
    • Acepta pagos con Yape
  • 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
    • Tarjeta
      • ¿Cómo funciona el envío de fondos a tarjetas?
      • Envía dinero a una tarjeta
      • Códigos de error
  • Plugins
    • Shopify
      • Operación del Plugin
      • Shopify
    • 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 pagos recurrentes
      • Webhook para pagos recurrentes con tarjeta
    • Webhooks para dispersiones
      • Webhook para dispersión de dinero con Transferencia
      • Webhook para dispersión con tarjeta
    • Webhooks para smartlinks
      • Webhooks con Smartlinks
    • Webhooks para botón de pagos
      • Webhooks con Botón de pago
    • 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 con tarjeta presente

Raw card-present API

Esta funcionalidad se encuentra disponible para los siguientes modelos:
☑ Adquirente

☐ Agregador
Raw card-present API te permite integrar una terminal POS a nuestra red de pagos para procesar transacciones de forma rápida y segura. Puedes realizar diferentes operaciones con esta integración.

Características#

Operaciones#

Estas son las operaciones disponibles para integraciones a través de Raw card-present API:
Venta
Propina (pre y post)
Pagos diferidos
Reserva de saldo (pre-authorization) y captura (Capture)
Reautorizaciones (reauthorization)
Búsqueda de transacciones
Cancelaciones y devoluciones

Tarjetas#

Las siguientes son las redes y marcas de tarjeta aceptadas a través de integraciones Raw card-present API:
Visa
Mastercard
Carnet
Sodexo
Sí Vale
Edenred

Requisitos#

Antes de poder realizar una integración, deberás cumplir con los siguientes requisitos:
Completar el proceso de afiliación.
Tener una cuenta de pruebas.
Contar con terminales POS con certificación PCI PTS V6.0, EMV Contactless L1, EMV L1 y EMV L2.
Recibir las llaves públicas y llaves privadas con las cuales podrás autenticar, validar y autorizar las transacciones provenientes de tu comercio.
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 MYHSM.
Crear y mantener la información de los Security Officer (SO), 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.
Contar con un HSM (Hardware Security Module) para el almacenamiento seguro de claves de cifrado.

Certificación con marcas (Visa y Mastercard)#

Se requiere certificación con las marcas Visa y Mastercard en los siguientes casos:
1.
Cuando se realiza una nueva integración con Kushki debido a la incorporación de un nuevo adquirente o red de tarjetas (Visa, Mastercard, Amex, Diners).
2.
Antes de lanzar un nuevo modelo de terminal o actualizar su firmware.
3.
Si se modifica el kernel EMV o la lógica de transacción que impacta el flujo de pago.
4.
Si así lo requiere alguno de los esquemas de las marcas (Visa, Mastercard, etc.).

Tipos de certificación#

Cada marca tiene un proceso específico:
Visa: requiere certificación con los protocolos ADVT (Acquirer Device Validation Toolkit) y CDET (Contactless Device Evaluation Toolkit).
Mastercard: se requiere pasar la certificación M-TIP (Mastercard Terminal Integration Process).
Estas certificaciones validan que el hardware y software involucrado cumplen con los estándares técnicos y de seguridad requeridos por cada marca.

Acompañamiento durante la certificación#

Kushki acompaña a los comercios en este proceso con el soporte de sus equipos de Ingeniería e Integraciones, garantizando que los escenarios cubiertos reflejen la operativa real del comercio.
También existen casas certificadoras autorizadas por las marcas que pueden brindar asistencia directa en la validación y ejecución del proceso. El comercio puede decidir con cuál entidad contratar este acompañamiento.

Entorno de certificación#

La certificación no se realiza en el ambiente de pruebas tradicional, sino en un entorno dedicado:
https://api-qa-acq.orizaba.kushki.dev
Este ambiente está específicamente habilitado para ejecutar los casos de prueba requeridos por Visa y Mastercard.

¿Qué escenarios deben certificarse?#

Solo es necesario certificar los escenarios reales que se operarán con Kushki. No es obligatorio validar casos que no se utilizarán.
Algunos ejemplos de escenarios que pueden formar parte de la certificación incluyen:
Pagos con tarjeta débito o crédito.
Transacciones contactless (sin contacto).
Pagos por montos bajos (por debajo del monto piso) o montos altos.
Transacciones con opción de cuotas.
Combinaciones de los anteriores para cada marca.
La cantidad exacta y naturaleza de los casos a certificar dependerá del modelo de operación del comercio.
Importante
La certificación debe realizarse únicamente para los flujos que efectivamente se operarán con Kushki y que soporta la terminal elegida.

Ambientes#

Realiza todas las adecuaciones a tu sistema mediante pruebas en el ambiente de desarrollo dev.
Cuando estés listo, podrás cambiar al ambiente de producción live para procesar transacciones reales.
Recuerda que en este ambiente no se procesarán transacciones reales, por lo que puedes usar cualquier tarjeta válida que tengas disponible.
AmbienteUrl base
devhttps://api-uat.kushkipagos.com
Certification with Brandshttps://api-qa-acq.orizaba.kushki.dev
livehttps://api.kushkipagos.com

Procesa un pago#

Te contamos a continuación el proceso general del funcionamiento de pagos con tarjeta presente:
INTEGRACIÓN
La integración entre Kushki y tu comercio se establecerá a través de una API REST, la cuál emplea un sistema de claves criptográficas que
permite el intercambio seguro de información mediante el cifrado de la información sensible que se lee de las tarjetas de tus clientes para procesar sus solicitudes de manera rápida y bajo estrictos estándares de seguridad y confidencialidad.
PROCESO DE PAGO DEL CLIENTE
Tu cliente presenta su tarjeta de crédito o tarjeta de débito física o digital en tu punto de venta.
La terminal POS de tu comercio, la cual podrá estar conectada a través de USB, bluetooth u otros tipos de conexión, realiza las siguientes acciones:
Realiza la lectura de los datos recibidos de tu cliente por medio de banda magnética, chip o pagos sin contacto (NFC).
Envía la información leída de manera cifrada a tu backend para que este pueda enviar la información a Kushki por medio de la API REST.
La API de Kushki procesa la solicitud y regresa una respuesta a tu backend con la aprobación o denegación de la solicitud recibida. En caso de ser una transacción exitosa, Kushki debita el monto de la transacción de la cuenta de tu cliente.
overview card present es

Claves de cifrado#

Es requerido realizar una ceremonia de intercambio de claves criptográficas entre Kushki y tu comercio a través de módulos de seguridad de hardware (HSM) para asegurar la integridad y seguridad de la información. Deberás cifrar la información leída de la tarjeta de los clientes mediantes el proceso DUKPT utilizando las claves recibidas. Descubre más sobre el intercambio de claves criptográficas y revisa los datos de prueba.
Deberás realizar la carga de claves de trabajo en las terminales de acuerdo al ambiente.

Credenciales#

Para enviar solicitudes a la API, deberás contar con tus credenciales válidas. Para obtener tus credenciales, inicia sesión en el panel de administración de acuerdo al ambiente (dev o live), selecciona el módulo de Desarrolladores en el menú lateral y selecciona la opción de Credenciales.
Módulo de desarrolladores
Puedes añadir una nueva credencial o utilizar una previamente creada.
Credenciales de desarrollo

Realizar un cobro#

Consume el endpoint Single payment enviando la información requerida para procesar una transacción. Debes generar la mensajería de acuerdo a los datos leídos de la tarjeta a través de la terminal POS.
Ejemplo de una solicitud de cobro:
{
  "card": {
    "card_holder_name": "John Doe"
  },
  "amount": {
    "iva": 0,
    "tip": 0,
    "currency": "PEN",
    "subtotal_iva": 0,
    "subtotal_iva0": 2000
  },
  "country": "MEX",
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.13",
    "location": {
      "latitude": -0.1842214,
      "longitude": -78.4212761
    },
    "has_print": true,
    "terminal_id": "PB04209860189"
  },
  "card_details": {
    "tracks": {
      "track_ksn": "FFFF4357486333600002",
      "enc_track2": "283587285CE10278E7FA50AD5C97CFFE87F472C9FE6406F8"
    },
    "enc_tlv": "CE447A062C49774934E42A7F826668C0A53CE9AF633A510E66C8031171AAFCF8CE29857B19101326ED67512533B86C51ED16C5E624DA97EDA72864A39763822418FCAC5439D2F1F72F6FC0BAA6EED37630767D9D161612654E49944FC435525C6C356177B1BD0A545C19FF5E47685E35B02B20B307BDE2A26FAD2F42D7CB00BE9C53FD05BECE71110919ADE3158398B8B02003F682374B942C4B6D7FD54DE2B65A9C66125DF28A80",
    "pin_ksn": "FFFF4357486333600002",
    "reading_type": "NFC"
  },
  "contact_details": {
    "email": "",
    "last_name": "",
    "first_name": "",
    "phone_number": "",
    "document_type": "0",
    "document_number": "123666",
    "second_last_name": ""
  },
  "transaction_mode": "Authorization",
  "transaction_type": "charge",
  "client_transaction_id": "ae6dd91a-9173-4ec7-8934-3178454ef341"
}
Revisa el artículo Acepta pagos para más información.

Acepta pagosCobra con terminal POS vía Raw card-present APIVer artículo →
WebhooksEventos de tus operaciones por webhookVer artículo →
Introducción a Raw card-present APIUsa tus propias terminales en nuestra redVer artículo →
Script de ejemplo para cifrar informaciónScript para cifrar datos en pruebasVer artículo →
Intercambio de claves criptográficasObtén las claves para intercambiar datosVer artículo →
Preguntas frecuentesRespuestas a las dudas más comunesVer artículo →
Códigos de error para transacciones con tarjeta presenteErrores comunes con tarjeta presenteVer artículo →
Modificado en 2026-10-15 15:28:26
Anterior
Webhooks para tarjeta presente
Siguiente
Introducción a Raw card-present API
Built with