1. API Raw Card Present Payments 🇨🇱
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
          • Refund
          • 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
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • 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)
  • 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 🇨🇱
  1. API Raw Card Present Payments 🇨🇱

Pagos en dos pasos

Los pagos en dos pasos separan la autorización (retención) de la captura (cobro). Úsalos cuando necesites confirmar la transacción antes de cobrar: por ejemplo, en check-in, estaciones de servicio u hotelería.

Flujo#

1. POST /pos/v1/transaction  (transaction_type: "preAuth")        → hold funds
2. POST /pos/v1/transaction  (transaction_type: "reAuthorization") → extend hold (optional)
3. POST /pos/v1/transaction  (transaction_type: "capture")         → collect
También puedes anular una preautorización antes de la captura para liberar la retención.

Paso 1 — Preautorización#

Pon transaction_type: "preAuth" y transaction_mode: "Authorization". Los campos varían un poco según el canal de lectura:
ICC (Chip)
MCR (Banda magnética)
NFC (Contactless)
{
"transaction_type": "preAuth",
"transaction_mode": "Authorization",
"country": "CHL",
"client_transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"amount": {
"currency": "CLP",
"subtotal_iva": 0,
"subtotal_iva0": 20000,
"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",
"pos_details": {
"brand": "SUNMI",
"model": "P2-EU",
"version": "Kushki SunmiV1.1.26",
"has_print": true,
"terminal_id": "PB04216R20537",
"location": {
  "latitude": -33.4489,
  "longitude": -70.6693
}
}
}
La respuesta devuelve un ticketNumber que necesitarás para el paso de la captura.

Paso 2 — Captura#

Pon transaction_type: "capture" y envía el transaction_reference de la respuesta de la preautorización. Los campos varían un poco según el canal de lectura:
ICC (Chip)
MCR (Banda magnética)
NFC (Contactless)
{
"transaction_type": "capture",
"transaction_mode": "Authorization",
"country": "CHL",
"client_transaction_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
"amount": {
"currency": "CLP",
"subtotal_iva": 0,
"subtotal_iva0": 20000,
"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": "Kushki SunmiV1.1.26",
"has_print": true,
"terminal_id": "PB04216R20537"
}
}
INFO
El transaction_reference de la captura debe venir de la autorización, no de una reautorización.

Reautorización#

Para extender o aumentar una retención existente, usa transaction_type: "reAuthorization". Envía el transaction_reference de la preautorización original. Los campos varían un poco según el canal de lectura:
ICC (Chip)
MCR (Banda magnética)
NFC (Contactless)
{
"transaction_type": "reAuthorization",
"transaction_mode": "Authorization",
"country": "CHL",
"client_transaction_id": "c3d4e5f6-a7b8-9012-cdef-34567890abcd",
"transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
"amount": {
"currency": "CLP",
"subtotal_iva": 0,
"subtotal_iva0": 5000,
"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": "none",
"pos_details": {
"brand": "SUNMI",
"model": "P2-EU",
"version": "Kushki SunmiV1.1.26",
"has_print": true,
"terminal_id": "PB04209860189"
}
}
INFO
Envía un monto de 0 en la reautorización para extender la fecha de captura sin aumentar el monto retenido.

Operaciones sin tarjeta#

Chile tiene soporte completo para operaciones sin tarjeta: no hace falta leer la tarjeta al momento de la captura, la reautorización o la anulación. Pon omit_card: true y omite card_details, cvm_type, contact_details y pos_details.
INFO
Las operaciones sin tarjeta están disponibles para tarjetas de crédito y débito Visa y Mastercard en Chile.

Captura sin tarjeta#

{
  "transaction_type": "capture",
  "transaction_mode": "Authorization",
  "client_transaction_id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "omit_card": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 30000,
    "iva": 0
  }
}

Reautorización sin tarjeta#

{
  "transaction_type": "reAuthorization",
  "transaction_mode": "Authorization",
  "client_transaction_id": "e5f6a7b8-c9d0-1234-ef01-567890abcdef",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "omit_card": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 0,
    "iva": 0
  }
}

Anulación de preautorización sin tarjeta#

{
  "transaction_type": "preAuth",
  "transaction_mode": "Void",
  "client_transaction_id": "f6a7b8c9-d0e1-2345-f012-6789abcdef01",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "omit_card": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 20000,
    "iva": 0
  }
}

Límites de la retención#

Tipo de tarjetaDuración máxima de la retención
Tarjeta de crédito28 días
Tarjeta de débito7 días
Si la transacción no se captura dentro del plazo permitido, el banco emisor libera los fondos retenidos.

Campos del request#

CampoObligatorioDescripción
transaction_typeSí"preAuth" para retener, "capture" para cobrar, "reAuthorization" para extender.
transaction_modeSí"Authorization" para continuar; "Void" para anular una preautorización.
countrySíISO 3166-1 alpha-3. Debe ser "CHL" (opcional en operaciones sin tarjeta).
client_transaction_idSíUUID v4 generado por el comercio. Debe ser único por transacción.
transaction_referenceNoObligatorio para la captura, la reautorización y la anulación (no se necesita en preAuth).
cvm_typeSí"none", "pin" o "signature". Opcional para operaciones sin tarjeta.
omit_cardNotrue para hacer una operación sin tarjeta.
metadataNoObjeto llave-valor con datos adicionales.

amount#

CampoObligatorioDescripción
currencySíDebe ser "CLP". Usa enteros: sin decimales.
subtotal_ivaSíPonlo en 0.
subtotal_iva0SíMonto de la transacción en CLP.
ivaSíPonlo en 0.
tipNoMonto de la propina.

card_details#

CampoObligatorioDescripción
reading_typeSí"ICC", "MCR" o "NFC". Opcional en operaciones sin tarjeta.
enc_tlvNoDatos TLV cifrados (ICC y NFC).
pin_blockNoPIN block cifrado para transacciones con PIN en línea.
pin_ksnNoKSN del PIN block o del TLV.
tracks.enc_track2NoDatos del Track 2 cifrados (obligatorio para ICC, MCR y NFC).
tracks.track_ksnNoKSN del Track 2 (ICC y NFC).

Autenticación#


Entornos#

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

Endpoints disponibles#

Preautorización, captura, reautorización y anulación
Retén el saldo de una tarjeta (preAuth), cobra los fondos (capture), extiende una retención (reAuthorization) o anula una preautorización: todo con un solo endpoint. Soporte completo sin tarjeta.

¿Tienes una sugerencia sobre esta documentación? Escríbenos.
Modified at 2026-09-11 14:52:00
Previous
Pago único
Next
Autorización y captura
Built with