1. Chile 🇨🇱
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)
      • Anular una transacción
      • Reembolsar una transacción
      • Solicitar opciones de diferido
      • Autorizar pagos
      • Preautorización (sin token)
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Verificar cuenta
      • Validar OTP
      • Información de BIN V2
      • Información de BIN
      • Voucher
    • One-Click & Scheduled Payments
      • Solicitar un token de cargo recurrente
      • Crear un cargo recurrente
      • Actualizar los datos de la tarjeta del cargo recurrente
      • Hacer un pago One-click
      • 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
    • Card Async
      • Solicitar un token de Card Async
      • Iniciar transacción
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar estado
    • Async Card Recurring Charges
      • Solicitar un token de cargo recurrente con tarjeta asíncrono
      • Iniciar un cargo recurrente con tarjeta asíncrono
      • Autorizar pagos
      • Capturar un pago autorizado
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • 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
    • Cash In
      • Solicitar un token de Cash In
      • Iniciar transacción
      • Estado de la transacción
    • Smartlinks V2
      • Crear un Smartlink
      • Consultar un Smartlink
      • Eliminar un Smartlink
      • Actualizar un Smartlink
    • Payment Button
      • Crear un Payment Button
    • Analytics
      • Consultar listado de transacciones v2
    • Status
      • Consultar estado de la plataforma
      • Consultar estado del gateway
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Actualizar credencial
      • Regenerar una credencial
      • Eliminar credencial
      • Activar o desactivar
      • Búsqueda avanzada
    • Settlement
      • Consultar liquidación
    • Fraud Report
      • Consultar alertas de fraude
  • API Raw Card Present Payments 🇨🇱
    • Notas de versión
    • Catálogo de errores
    • Datos de prueba
    • Proceso de intercambio de llaves
    • El objeto Amount
    • 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
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Reembolsos
      • Pagos con tarjeta
      • Revisa tus webhooks
    • 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
          • Abort
        • Search
          • Transaction Search
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
      • Print
        • Create Print Job
        • Get Print Job Status
      • Diagnostics
        • Connection test
        • Terminal info
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Abort
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
      • Diagnostics
        • Connection test
        • Terminal info
  • 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
    • documentType
    • ChargebackListResponse
    • Channel
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment-1
    • one-and-two-step-payment-1
    • Card Present (CP)
    • Card
    • Amount-cash-in
    • SubscriptionTransactionsResponse
    • SettlementDateRangeRequest
    • StatusComponent
    • FraudAlertRequest
    • amount
    • extra_taxes
    • ChargebackItem
    • SubscriptionTransaction
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • one-and-two-step-payment-11
    • networkToken
    • FraudAlertResponse
    • card
    • ErrorResponse400
    • CardData
    • CommandColumns
    • FraudAlertRecord
    • Amount-CL
    • webhooks
    • SettlementResponse
    • webhooksItem
    • headers
    • ErrorResponse401
    • SettlementRecord
    • LinkFailure
    • ColumnItem
    • Amount
    • currency
    • ValidationError
    • card_details
    • transactionType
    • enc_tlv
    • ErrorResponse403
    • CommandDivider
    • TransactionEvent
    • ErrorResponse
    • Country
    • binInfo
    • ErrorResponse500
    • payment_method
    • CommandFeed
    • TransactionStatus
    • extraTaxes
    • Deferred
    • deferred
    • CommandSpace
    • ReadingType
    • SubscriptionUpdate
    • pos_details
    • ContactDetails
    • Language
    • sub_merchant
    • CommandCut
    • FailureReason
    • contact_details
    • metadata
    • CommandImage
    • EventTerminal
    • Subscription
    • orderDetails
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountCore
    • webhooksChargeback
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • UnexpectedErrorResponse
    • FailureReason_2
    • EventTerminal_2
    • ExternalReferenceId
    • EventOperation_2
    • ExternalSubscriptionId
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • product
    • SettlementTicketRequest
    • TransactionEvent_21
    • TransactionStatus2
    • ReadingType3
    • FailureReason_24
    • EventTerminal_25
    • EventOperation_26
    • EventAmount_27
    • EventMetadata_28
    • EventExtraTaxes_29
    • PrintWebhookPayload10
    • TransactionEvent11
    • FailureReason12
    • EventTerminal13
    • EventOperation14
    • EventAmount15
    • EventMetadata16
    • EventExtraTaxes17
    • TransactionEvent_22
    • TransactionStatus3
    • ReadingType4
    • FailureReason_25
    • EventTerminal_26
    • EventOperation_27
    • EventAmount_28
    • EventMetadata_29
    • EventExtraTaxes_210
    • PrintWebhookPayload11
    • TransactionEvent12
    • FailureReason13
    • EventTerminal14
    • EventOperation15
    • EventAmount16
    • EventMetadata17
    • EventExtraTaxes18
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
Status
Soporte / Support
Español
  • English
  • Español
  1. Chile 🇨🇱

Pagos presenciales (API RAW)

La API Card Present te permite procesar pagos presenciales con tarjeta directamente desde tus terminales POS en Chile. Un único conjunto de endpoints cubre todo el ciclo de vida del pago: cargos únicos, autorización y captura en dos pasos, anulaciones, reembolsos y consultas de transacciones — en los canales de lectura chip (ICC), banda magnética (MCR) y contactless (NFC).

Operaciones disponibles#

Pagos únicos
Procesa cargos inmediatos — únicos, diferidos (Cuotas Comercio y Cuotas Emisor), con cashback o con propina — en una sola llamada a la API.
Pagos en dos pasos
Bloquea el monto (preautorización) y captura cuando estés listo. Admite reautorización y operaciones sin lectura de tarjeta.
Anulaciones y reembolsos
Anula una autorización (void), reversa una transacción (reverse) o reembolsa un pago ya liquidado — total o parcial, con o sin lectura de tarjeta.
Información de la tarjeta
Consulta los datos del BIN, verifica la disponibilidad de diferido y revisa las opciones de Cuotas Comercio / Cuotas Emisor antes de iniciar un cargo.
Consultar transacciones
Busca y pagina las transacciones de tus terminales POS con filtros por fecha, BIN, dígitos de la tarjeta o referencia.

Cómo funciona#

Todas las operaciones presenciales comparten una estructura de request común, construida alrededor de tres objetos principales: la intención de la transacción, los datos de la tarjeta y los detalles de la terminal.
{
  "transaction_type": "charge",
  "transaction_mode": "Authorization",
  "country": "CHL",
  "client_transaction_id": "<uuid-v4>",
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 10000,
    "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",
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189",
    "location": {
      "latitude": -33.4489,
      "longitude": -70.6693
    }
  }
}

Conceptos clave#

Moneda#

Chile usa CLP (peso chileno). El CLP no tiene decimales: todos los montos son enteros.
"amount": {
  "currency": "CLP",
  "subtotal_iva": 0,
  "subtotal_iva0": 10000,
  "iva": 0
}

Canales de lectura#

Envía card_details.reading_type para indicar cómo se presentó la tarjeta.
ValorCanalDatos de tarjeta requeridos
ICCChip (EMV)enc_tlv, pin_ksn, tracks.enc_track2, tracks.track_ksn
MCRBanda magnéticatracks.enc_track1, tracks.enc_track2
NFCContactlessenc_tlv, tracks.enc_track2, tracks.track_ksn

Verificación del tarjetahabiente (cvm_type)#

ValorSignificado
pinPIN en línea — el PIN block cifrado se envía en card_details.pin_block
signatureFirma en la terminal
noneSin CVM (por ejemplo, transacciones de bajo monto, contactless)

Operaciones sin lectura de tarjeta#

Chile tiene soporte completo para las operaciones sin lectura de tarjeta: no hace falta leer la tarjeta en anulaciones, reversos, reembolsos, capturas ni reautorizaciones. Envía omit_card: true para omitir card_details y cvm_type.
{
  "transaction_type": "capture",
  "transaction_mode": "Authorization",
  "omit_card": true,
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "amount": { "currency": "CLP", "subtotal_iva": 0, "subtotal_iva0": 10000, "iva": 0 }
}

Cargos diferidos#

Chile admite dos tipos de pagos diferidos. Llama siempre primero al BIN lookup para confirmar que la tarjeta admite el tipo de cuotas que quieres usar.
TipoCómo activarloRango
Cuotas Comercio (cuotas ofrecidas por el comercio)is_deferred: true + deferred.credit_type: "03"2–12 meses
Cuotas Emisor (cuotas ofrecidas por el emisor)is_deferred: true — sin credit_type2–48 meses
Beta
Cuotas Comercio (cuotas ofrecidas por el comercio) está actualmente en fase Beta. Contacta al equipo de Kushki para habilitar esta funcionalidad en tu Kushki Console.

Cortes de reverso, anulación y reembolso#

OperaciónCorte
Reverso (mismo día)Antes de las 23:59 hora local de Chile — se usa para verificar el resultado de una transacción afectada por un timeout o un problema de comunicación
Anulación (mismo día)Antes de las 23:59 hora local de Chile
ReembolsoDisponible después del corte de anulación, hasta 120 días desde la transacción original

Cashback#

Chile admite cashback en el momento de un pago presencial. Envía is_cashback: true e incluye cashback_amount.
WARNING
El cashback solo está disponible con tarjetas locales y no se admite en transacciones contactless (NFC).

Idempotencia#

Cada request debe incluir un client_transaction_id único (UUID v4). Reutilizar el mismo ID en los reintentos es seguro: Kushki devuelve el resultado de la transacción original sin crear un duplicado.

Modelos de integración#

Chile admite los modelos Adquirente y Agregador.
ModeloDescripciónCampos requeridos
AdquirenteIntegración directa — el comercio está registrado directamente con KushkiBody de request estándar
AgregadorMarketplace / facilitador de pagos — los subcomercios transaccionan bajo tu paraguasAgrega el objeto sub_merchant al request

Agregador — objeto sub_merchant#

"sub_merchant": {
  "mcc": "5411",
  "id_affiliation": "987654321",
  "soft_descriptor": "Mi Comercio Chile",
  "city": "Santiago",
  "country_ans": "CHL",
  "zip_code": "7550000",
  "address": "Av. Apoquindo 4501",
  "social_reason": "Mi Comercio Chile SpA",
  "code": "SUB001CHL"
}

Cifrado#

Los datos de la tarjeta (TLV, track data, PIN blocks) deben cifrarse con el protocolo DUKPT (Derived Unique Key Per Transaction) antes de enviarse a la API. Kushki y el comercio intercambian las Base Derivation Keys (BDK) mediante una ceremonia segura de Key Encryption Key (KEK) antes de salir a producción.
Consulta Proceso de intercambio de llaves para conocer el procedimiento completo.

Webhooks#

Kushki envía notificaciones webhook para todos los eventos presenciales: cargos, autorizaciones, capturas, anulaciones, reversos y reembolsos. Configura tus endpoints de webhook desde la Console (Developers > Webhooks).
WARNING
Los webhooks presenciales solo se pueden configurar desde la Console. No se admite la configuración de webhooks por API.

Autenticación#

OperaciónCabecera
Cargos, anulaciones, reversos, reembolsos, BIN lookup, consulta de transacciones (analytics)Private-Credential-Id: <your-private-credential>
Opciones de diferidoPublic-Merchant-Id: <your-public-key>

Ambientes#

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

Recursos adicionales#

Proceso de intercambio de llaves
Ceremonia DUKPT/KEK requerida antes de procesar transacciones en producción.
Datos de prueba
Montos y escenarios para pruebas en sandbox en Chile.
Catálogo de errores
Códigos de estado HTTP y códigos de error ISO para Mastercard y Visa.
Buenas prácticas
Buenas prácticas de seguridad e integración para pagos presenciales.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-11 14:51:50
Previous
Consultar alertas de fraude
Next
Notas de versión
Built with