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

Pagos únicos

El endpoint de pagos únicos procesa cargos presenciales directamente desde tu terminal POS en México 🇲🇽. Un solo endpoint maneja todos los canales de lectura y variantes de cargo: cargos estándar, diferido a Meses Sin Intereses (MSI) y propina.

Tipos de cargo#

TipoCómo activarlo
Cargo únicotransaction_type: "charge", transaction_mode: "Authorization"
MSI (Meses Sin Intereses)Igual que el anterior + is_deferred: true + deferred.months
PropinaIgual que el cargo único + amount.tip

Canales de lectura#

ValorCanal
ICCChip (Integrated Circuit Card)
MCRBanda magnética
NFCContactless

Cargo único#

{
  "transaction_type": "charge",
  "transaction_mode": "Authorization",
  "country": "MEX",
  "client_transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "amount": {
    "currency": "MXN",
    "subtotal_iva": 0,
    "subtotal_iva0": 500,
    "iva": 0,
    "tip": 0,
    "extra_taxes": {
      "airport_tax": 0,
      "iac": 0,
      "ice": 0,
      "travel_agency": 0
    }
  },
  "card_details": {
    "reading_type": "ICC",
    "enc_tlv": "<encrypted-tlv>",
    "pin_ksn": "<ksn-value>",
    "tracks": {
      "enc_track2": "<encrypted-track2>",
      "track_ksn": "<ksn-value>"
    }
  },
  "cvm_type": "pin",
  "contact_details": {
    "document_type": "-1",
    "document_number": "",
    "first_name": "",
    "last_name": "",
    "email": "",
    "phone_number": ""
  },
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189",
    "location": {
      "latitude": 19.4326,
      "longitude": -99.1332
    }
  }
}

MSI (Meses Sin Intereses)#

Llama siempre primero a Get BIN Info para confirmar que la tarjeta admite MSI y obtener las opciones de meses válidas para el BIN del tarjetahabiente.
WARNING
Los cargos a MSI por debajo del monto mínimo del plazo elegido se rechazan. Revisa la tabla de abajo antes de enviar el request.
Montos mínimos requeridos para MSI en México
MesesMonto mínimo
3$300 MXN
6$600 MXN
9$900 MXN
12$1,200 MXN
18$1,800 MXN
Envía el número de meses dentro del objeto deferred. months es su único campo.
{
  "transaction_type": "charge",
  "transaction_mode": "Authorization",
  "country": "MEX",
  "client_transaction_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "is_deferred": true,
  "deferred": {
    "months": "6",
    },
  "amount": {
    "currency": "MXN",
    "subtotal_iva": 0,
    "subtotal_iva0": 600,
    "iva": 0,
    "tip": 0
  },
  "card_details": {
    "reading_type": "NFC",
    "enc_tlv": "<encrypted-tlv>",
    "pin_ksn": "<ksn-value>",
    "tracks": {
      "enc_track2": "<encrypted-track2>",
      "track_ksn": "<ksn-value>"
    }
  },
  "cvm_type": "none",
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189"
  }
}

Modelo agregador#

Para facilitadores de pago o marketplaces, incluye el objeto sub_merchant.
{
  "transaction_type": "charge",
  "transaction_mode": "Authorization",
  "country": "MEX",
  "client_transaction_id": "e5f6a7b8-c9d0-1234-ef01-567890abcdef",
  "amount": {
    "currency": "MXN",
    "subtotal_iva": 0,
    "subtotal_iva0": 500,
    "iva": 0
  },
  "card_details": {
    "reading_type": "ICC",
    "enc_tlv": "<encrypted-tlv>",
    "pin_ksn": "<ksn-value>",
    "tracks": {
      "enc_track2": "<encrypted-track2>",
      "track_ksn": "<ksn-value>"
    }
  },
  "cvm_type": "pin",
  "sub_merchant": {
    "mcc": "5411",
    "id_affiliation": "987654321",
    "soft_descriptor": "Mi Comercio México",
    "city": "Ciudad de México",
    "country_ans": "MEX",
    "zip_code": "06600",
    "address": "Av. Insurgentes Sur 1234",
    "social_reason": "Mi Comercio México S.A. de C.V.",
    "code": "SUB001MEX"
  },
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189"
  }
}

Campos del request#

Campos de primer nivel#

CampoObligatorioDescripción
transaction_typeSí"charge" para un pago único.
transaction_modeSí"Authorization" para cobrar de inmediato.
countrySíISO 3166-1 alpha-3. Debe ser "MEX".
client_transaction_idSíUUID v4 generado por el comercio. Debe ser único por transacción.
is_deferredNoPonlo en true para crear un cargo a MSI.
deferredNoObligatorio cuando is_deferred es true.
cvm_typeSíMétodo de verificación del tarjetahabiente: "none", "pin" o "signature".
sub_merchantNoModelo agregador: datos del subcomercio.
metadataNoObjeto llave-valor con datos adicionales.

El objeto amount#

CampoObligatorioDescripción
currencySíDebe ser "MXN". Admite dos decimales.
subtotal_ivaSíSubtotal afecto a IVA.
subtotal_iva0SíSubtotal exento de IVA.
ivaSíMonto del IVA.
tipNoMonto de la propina en MXN.
extra_taxesNoImpuestos adicionales: airport_tax, iac, ice, travel_agency.

El objeto deferred#

CampoObligatorioDescripción
monthsSíNúmero de meses de MSI. Los valores disponibles dependen del BIN de la tarjeta. Valores comunes: 3, 6, 9, 12, 18.

El objeto card_details#

CampoObligatorioDescripción
reading_typeSí"ICC", "MCR" o "NFC".
enc_tlvNoDatos TLV cifrados (obligatorio para ICC y NFC).
pin_blockNoPIN block cifrado para transacciones con PIN en línea.
pin_ksnNoKey serial number (KSN) del PIN o del TLV.
tracks.enc_track1NoTrack 1 cifrado (obligatorio para MCR).
tracks.enc_track2NoTrack 2 cifrado (MCR y NFC).
tracks.track_ksnNoKSN del Track 2 (ICC y NFC).

El objeto pos_details#

CampoObligatorioDescripción
terminal_idSíIdentificador de la terminal asignado por Kushki.
brandNoMarca de la terminal (por ejemplo, "SUNMI").
modelNoModelo de la terminal (por ejemplo, "P2-EU").
versionNoVersión del software de la terminal.
has_printNotrue si la terminal tiene impresora (comprobante).
locationNo{ "latitude": 19.4326, "longitude": -99.1332 } — coordenadas GPS de la terminal.

Autenticación#

CabeceraValor
Private-Merchant-Id<your-private-key>
Content-Typeapplication/json

Entornos#

🟢 Producción
🧪 Sandbox (UAT)
https://api.kushkipagos.com/

Endpoints disponibles#

Procesar un pago presencial
Envía una transacción única en POS — cargo estándar, diferido a MSI o propina — con lectura ICC, MCR o NFC.

¿Tienes una sugerencia sobre esta documentación? Escríbenos.
Modified at 2026-09-11 14:45:55
Previous
Datos de prueba
Next
Pago único
Built with