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.| Valor | Canal | Datos de tarjeta requeridos |
|---|
ICC | Chip (EMV) | enc_tlv, pin_ksn, tracks.enc_track2, tracks.track_ksn |
MCR | Banda magnΓ©tica | tracks.enc_track1, tracks.enc_track2 |
NFC | Contactless | enc_tlv, tracks.enc_track2, tracks.track_ksn |
VerificaciΓ³n del tarjetahabiente (cvm_type)#
| Valor | Significado |
|---|
pin | PIN en lΓnea β el PIN block cifrado se envΓa en card_details.pin_block |
signature | Firma en la terminal |
none | Sin 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.| Tipo | CΓ³mo activarlo | Rango |
|---|
| 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_type | 2β48 meses |
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Γ³n | Corte |
|---|
| 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 |
| Reembolso | Disponible 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.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.| Modelo | DescripciΓ³n | Campos requeridos |
|---|
| Adquirente | IntegraciΓ³n directa β el comercio estΓ‘ registrado directamente con Kushki | Body de request estΓ‘ndar |
| Agregador | Marketplace / facilitador de pagos β los subcomercios transaccionan bajo tu paraguas | Agrega 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.
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).Los webhooks presenciales solo se pueden configurar desde la Console. No se admite la configuraciΓ³n de webhooks por API.
AutenticaciΓ³n#
| OperaciΓ³n | Cabecera |
|---|
| Cargos, anulaciones, reversos, reembolsos, BIN lookup, consulta de transacciones (analytics) | Private-Credential-Id: <your-private-credential> |
| Opciones de diferido | Public-Merchant-Id: <your-public-key> |
Ambientes#
π¬ 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.