1. API Raw Card Present
Español
  • English
  • Español
  • Docs de API 🇲🇽
  • Online Payments
    • Errores ISO
    • Errores del API de Kushki
    • Notas de versión
    • Card Payments
      • Solicitar un token de tarjeta
      • Hacer un cargo o cargo diferido
      • Crear pago (sin token)
      • Solicitar opciones de diferido
      • Reembolsar una transacción
      • Autorizar pagos
      • Preautorización (sin token)
      • Anular una transacción
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Información de BIN V2
      • Información de BIN
      • Validar OTP
    • One-Click and Scheduled Payments
      • Solicitar un token de cargo recurrente
      • Crear un cargo recurrente
      • Hacer un pago One-click
      • Actualizar los datos de la tarjeta del cargo recurrente
      • Cancelar un cargo recurrente
      • Actualizar un cargo recurrente
      • Agregar un cargo o descuento temporal
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar información del cargo recurrente
    • Transfer in
      • Consultar lista de bancos
      • Solicitar un token de Transfer In
      • Iniciar transacción
      • Consultar estado
    • Transfer Out
      • Consultar lista de bancos
      • Consultar lista de bancos V2
      • Solicitar un token de Transfer Out
      • Iniciar transacción
      • Consultar estado
      • Saldo para payouts
    • Smartlinks
      • Crear un Smartlink
      • Consultar un Smartlink
      • Eliminar un Smartlink
      • Actualizar un Smartlink
    • Payment Button
      • Crear un Payment Button
    • Analytics
      • Consultar listado de transacciones v2
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Commissions
      • Consultar configuración de comisiones
    • Payment Credentials
      • Crear una credencial
      • Activar o desactivar
      • Eliminar credencial
      • Regenerar una credencial
      • Actualizar credencial
      • Búsqueda avanzada
      • Buscar credenciales
    • Platform Status
      • Consultar estado de la plataforma
      • Consultar estado del gateway
    • Settlement
      • Consultar liquidación
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Fraud Report
      • Consultar alertas de fraude
  • Card Present Billpocket
    • Notas de versión
    • Notas de versión del SDK de Android
    • Notas de versión de la app de Android
    • Notas de versión de la app de iOS
    • Get Started
      • Crear una cuenta
      • User Token
      • API Keys
    • Webhooks
      • Webhooks — Transferencia de fondos a tu cuenta bancaria
      • Errores de transferencia de fondos
    • Terminals
      • App Review
      • Splash Screen
    • Card not Present Billpocket Services
      • 3DS Checkout
        • Crear checkout
        • Consultar detalles del checkout
      • E-commerce Flex
        • Obtener token
        • Validar token
        • Cobrar pagos
        • Reembolso
        • Capturar un pago autorizado
        • Consultar estado
    • Catalogs
      • Estados
      • Municipios
      • Empresas de impuestos
      • Actividades comerciales
    • Accounts
      • Clabe Account Setup
        • Agregar cuenta CLABE
      • Deposit Accounts
        • Agregar o actualizar cuenta CLABE
    • User Settings
      • Crear usuario
    • Card Present Payment Services
      • Cloud Terminal API
        • Cobrar pagos con tarjeta
        • Imprimir ticket
        • Cancelar notificación push
        • Consultar estado de la transacción
        • Cobrar pagos con tarjeta v2
      • App-to-App
        • Android intents
        • App to App — iOS
        • App to App — Mobile Web
      • Terminal SDK
        • Terminal SDK Android
        • Errores del SDK de Android
    • Transactions
      • Transaction List
        • Obtener token
        • Consultar listado de transacciones
        • Consultar listado de transacciones v2
        • Consultar listado de transacciones v3
        • Consultar listado de transacciones v4
      • Cancel Payments
        • Códigos de error de cancelación
        • Cancelar pagos
  • API Raw Card Present
    • El objeto Amount
    • Catálogo de errores
    • Proceso de intercambio de llaves
    • Notas de versión
    • Datos de prueba
    • One-time payments
      • Pago único
    • Two-step-payments
      • Autorización y captura
    • Voids & Refunds
      • Reembolsar una transacción
      • Anular y reversar
    • Card information
      • Consultar información de BIN
      • Información de BIN V2
      • Solicitar opciones de diferido
    • Query Transactions
      • Búsqueda de transacciones
    • Webhooks
      • Webhooks — Pagos con tarjeta
      • Webhooks — Reembolsos
      • Webhooks — Introducción
      • Buenas prácticas
      • Revisa tus webhooks
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Fraud Report
      • Consultar alertas de fraude
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Release Notes
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Submerchant Document Upload
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • Card
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment-2
    • Card Present (CP)
    • one-and-two-step-payment-2
    • SubscriptionTransactionsResponse
    • FraudAlertRequest
    • StatusComponent
    • SettlementDateRangeRequest
    • amount
    • ChargebackItem
    • SubscriptionTransaction
    • extra_taxes
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • Deferred
    • networkToken
    • FraudAlertResponse
    • ErrorResponse400
    • SettlementRecord
    • card
    • CardData
    • CommandColumns
    • FraudAlertRecord
    • SettlementResponse
    • currency
    • webhooksItem
    • ErrorResponse
    • Country
    • ErrorResponse401
    • LinkFailure
    • ColumnItem
    • ValidationError
    • Amount
    • card_details
    • ErrorResponse403
    • enc_tlv
    • CommandDivider
    • TransactionEvent
    • extraTaxes
    • payment_method
    • ErrorResponse500
    • CommandFeed
    • TransactionStatus
    • deferred
    • CommandSpace
    • ReadingType
    • pos_details
    • ContactDetails
    • sub_merchant
    • CommandCut
    • FailureReason
    • contact_details
    • Subscription
    • metadata
    • CommandImage
    • EventTerminal
    • documentType
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • SubscriptionUpdate
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • SubscriptionAdjustmentRequest
    • product
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • AmountCore
    • webhooks
    • headers
    • ExtraTaxes
    • PrintWebhookPayload
    • webhooksChargeback
    • Metadata
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • ExternalReferenceId
    • EventTerminal_2
    • ExternalSubscriptionId
    • EventOperation_2
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • SettlementTicketRequest
HomePerú 🇵🇪México 🇲🇽
Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽
Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. API Raw Card Present

Proceso de intercambio de llaves

Beta
Producto en versión beta 🔐
Estamos trabajando en nuestra versión beta para México 🇲🇽. Contacta a tu ejecutivo de cuenta para más información.
Para obtener las llaves criptográficas de trabajo que se usan en el proceso Derived Unique Key Per Transaction (DUKPT), Kushki y el comercio realizan las actividades que se detallan a continuación.

Acuerdos y condiciones iniciales#

Kushki y el comercio sostienen una sesión para revisar las condiciones del intercambio de llaves con terceros. Este proceso requiere que el proveedor de HSM del comercio acepte los términos de la ceremonia de intercambio de llaves. Si hay acuerdo, se establecen los mecanismos de trabajo y los canales seguros para intercambiar información sensible, y se definen al menos dos security officers (SOs) por parte del comercio.
INFO
El comercio debe contar con un Hardware Security Module (HSM) debido al proceso de intercambio de llaves criptográficas.

Condiciones de terceros#

El comercio debe estar preparado para intercambiar componentes con el proveedor de HSM en representación de Kushki. Estos son los pasos a seguir:
Firma el NDA del proveedor de HSM de Kushki y obtén acceso al portal.
Crea y mantén los SOs con datos de contacto y grupos correctos en el portal.
Prepárate para seguir el proceso de intercambio de llaves definido en esta documentación.

Solicitud y validación de la documentación requerida#

Kushki solicita la documentación necesaria para registrar al comercio en el servicio de HSM y en la Kushki Console. Una vez recibida, Kushki la valida y el proceso continúa.

Generación y envío de los componentes de la Key Encryption Key (KEK)#

Kushki genera y envía tres componentes de llave para la Key Encryption Key (KEK), junto con sus respectivos Key Check Values (KCV), por los canales seguros establecidos arriba, y los entrega a los security officers definidos previamente.
Cuando se envían los componentes, los SOs reciben un correo con lo siguiente:
Información de referencia de la llave
Datos de contacto (sin incluir la dirección) del SO remitente
Los detalles del envío y el número de serie de la bolsa tamper-evident
Un link al checklist del Portal que se debe completar tras la recepción
INFO
Según el ambiente, Kushki puede enviar los componentes de la KEK de forma electrónica (pruebas) o física (producción).

Requisitos para los SOs antes del intercambio de llaves#

Estar registrados en el portal del servicio de HSM de Kushki.
Cada SO que participa debe tener una cuenta activa.
Estar asignados a los grupos de SO correctos (1, 2 o 3).
Mantener actualizada la dirección de envío para la entrega de los componentes físicos.

Ambiente de pruebas#

Kushki puede enviar los componentes de la KEK por medios electrónicos seguros (correo, bóveda de seguridad, SFTP). El comercio recibe una tabla como la siguiente:
KEY IDDESCRIPCIÓNALGORITMOLONGITUDLLAVE/COMPONENTE EN CLAROKCV
ZMKComponente 13DESdoubleA2F2 9E20 4515 D531 6B2C 32BC 3E58 612FEF0F99
Double-lenComponente 23DESdoubleBA1F 23CD 8529 2C7A 51EC 07A2 EA8A C11FF23EFF
Componente 33DESdoubleF70D 38D6 E557 A176 BC4F 1002 3D4C 01E9C41DBB

Ambiente productivo#

Kushki envía tres sobres de seguridad — un componente de llave impreso en papel por sobre — a por lo menos dos custodios de seguridad que no reporten a la misma persona.
WARNING
El envío de los componentes físicos suele tomar aproximadamente dos semanas, según la ubicación de los SOs.
El comercio recibe los componentes y las sumas de verificación, los carga en su HSM y los valida. Si la verificación es exitosa, el comercio debe:
1.
Enviar un correo a seguridad@kushkipagos.com con el asunto "KEK component check successful - [MERCHANT_NAME]" y el mensaje "Check successful".
2.
Los SOs deben completar el checklist de confirmación de recepción a través del Portal del Proveedor del Servicio de HSM de Kushki (el link llega por correo).
Si hay algún problema con la validación, contacta a Kushki en la misma dirección de correo.
INFO
Una vez que el componente se ha activado en el portal del servicio de HSM de Kushki, los SOs deben destruir el componente físico.

Generación y envío de las Base Derivation Keys (BDK)#

Kushki registra al comercio en la Kushki Console, donde el comercio obtiene:
merchant_id
Private-Credential-Id (llave privada para transaccionar)
Otra configuración relevante
Luego Kushki genera dos Base Derivation Keys (BDK) — una para data y otra para pin (PIN block) — cifradas con la KEK en formato TR-31, y las intercambia por medios electrónicos seguros.
Ejemplo de una BDK cifrada con la KEK en formato TR-31:
RD0112B0TX00N00004FD842D565C0BDD9741A3EAB5106A78087A4D0729A56319F32AF9FBFC6FAE0A184DA40D08FA279FBB50E7598936AD18F
INFO
Las BDK del ambiente de producción se comparten por medios electrónicos seguros (por ejemplo, 1Password).
Una vez obtenidas las BDK, el comercio ejecuta sus procesos internos de gestión DUKPT para las terminales POS.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-11 14:45:36
Previous
Catálogo de errores
Next
Notas de versión
Built with