1. Kushki One
Kushki Docs
Español
  • Español
  • English
  • Inicio
  • Inicio rápido
    • Preguntas frecuentes
    • Paso a producción
    • Política de cambios importantes del API
    • Códigos de error
    • Datos de prueba
    • Últimas novedades
  • Glosario de pagos
    • Glosario de pagos
  • Pagos únicos con tarjeta (Online)
    • Network Tokens
    • Funcionalidades por modelo de negocio
    • Marcas de tarjeta soportadas
    • Pagos en un paso
      • Cargo directo (sin token)
      • Códigos de error autenticación OTP
      • ¿Cómo funcionan los pagos con tarjeta?
      • Acepta un pago con tarjeta
      • Acepta pagos únicos con OTP
      • Códigos de error pagos únicos con tarjeta
    • Pagos en dos pasos
      • Recibe pagos con autorización y captura
      • ¿Cómo funcionan los pagos únicos con autorización y captura?
    • Pagos con Webpay Plus
      • Reserva fondos con Webpay Plus
    • Pagos con Apple Pay
      • Pruebas en Sandbox Apple Pay
      • Configuración de Apple Pay
    • Devoluciones
      • Devoluciones, anulaciones y reembolsos
    • Autenticación 3DS
      • Introducción a 3DS
      • Integración 3DS API + librería kushki.js
      • Integración 3DS con librería kushki.js
      • Integración 100% API de 3DS
      • Códigos de error autenticación 3DS
  • Pagos recurrentes con tarjeta (Online)
    • Autentica tus suscripciones con 3DS
    • Apple Pay en Suscripciones
    • Suscripciones externas a Kushki
    • Acepta pagos one click con 3DS
    • Funcionalidades por modelo de negocio
    • Códigos de error en cargos recurrentes
    • Pagos calendarizados
      • Maneja tus cargos calendarizados
      • Crea un cargo recurrente
      • ¿Cómo funcionan los cargos recurrentes con tarjeta?
    • Pagos calendarizados con Webpay OneClick
      • Reserva fondos en recurrencias con Webpay OneClick
      • Recurrencias con Webpay OneClick
    • Pagos OneClick con Webpay OneClick
      • Pagos one click con Webpay OneClick
      • Reserva fondos en pagos one click con Webpay OneClick
    • Pagos OneClick
      • ¿Cómo funcionan los pagos OneClick con autorización y captura?
      • Recibe pagos OneClick con autorización y captura
      • Genera pagos one click
  • Pagos con tarjeta presente
    • Acepta pagos con tarjeta presente
    • Datos de prueba
    • Webhooks para tarjeta presente
    • Raw card-present API
      • Script de ejemplo para cifrar información
      • Acepta pagos
      • Intercambio de claves criptográficas
      • Preguntas frecuentes
      • Códigos de error para transacciones con tarjeta presente
    • Transacciones
      • Anula un pago
      • Transacciones
    • Kushki One
      • Autenticación y Cifrado de Requests
      • Realiza cobros con Kushki One
      • Formato de montos en Kushki ONE
      • Impresión en terminal SmartPOS
      • Catálogo Unificado de Errores — Kushki ONE Connect
      • Servicios asíncronos y webhooks
    • Kushki One App de Pagos
      • Procesa un cobro
      • Devoluciones y PreAuth & Capture
      • Pago Dividido en la terminal
      • Configuración del terminal
      • Consulta tus transacciones
  • Pagos con transferencias
    • Recibe transferencias bancarias
    • Consulta el estado de una transacción
    • Bancos y detalles de operación para pagos con transferencia bancaria
  • Pagos en efectivo
    • Acepta un pago en efectivo
    • Puntos de recaudo
    • Códigos de error para transacciones declinadas en efectivo
  • Dispersión de dinero
    • Transferencia bancaria
      • ¿Cómo funciona la dispersión por transferencia bancaria?
      • Códigos de error para dispersiones por transferencia
      • Dispersa a cuentas bancarias
  • Plugins
    • Shopify
      • Shopify
      • Operación del Plugin
    • Vtex
      • Guía de integración VTEX
  • Links de pago
    • Smartlinks
  • Formularios y botones de pago
    • Introducción
    • Kajita
      • Kajitas de pago
      • ¿Cómo funciona?
    • Botón de pago
      • Genera un botón de pago
      • ¿Cómo funciona el botón de pago?
  • Administración de sucursales
    • ¿Cómo realizar el onboarding de subcomercios vía API?
  • Notificaciones
    • Buenas prácticas
    • Consulta tus webhooks
    • Webhooks para pagos únicos
      • Webhook para pagos únicos con tarjeta
      • Webhook para pagos únicos con transferencia bancaria
      • Webhook para pagos únicos con efectivo
      • Webhook para pagos con Webpay Plus
    • Webhooks para pagos recurrentes
      • Webhook para pagos recurrentes con tarjeta
      • Webhook para pagos recurrentes con Webpay OneClick
    • Webhooks para dispersiones
      • Webhook para dispersión de dinero con transferencia
    • Webhooks para botón de pagos
      • Webhooks con Botón de pago
    • Webhooks para smartlinks
      • Webhooks con Smartlinks
    • Webhooks para devoluciones
      • Webhook para devoluciones
      • Webhook para contracargos
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱
Colombia 🇨🇴Peru 🇵🇪
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱
Colombia 🇨🇴Peru 🇵🇪
Status
Soporte / Support
Español
  • Español
  • English
  1. Kushki One

Formato de montos en Kushki ONE

Aprende a construir el campo amount en unidades mínimas según la moneda de tu país y evita cobros con el monto equivocado
🚧 Early Release — Beta
Este producto está en acceso temprano. Los parámetros, estructuras de respuesta y comportamientos pueden cambiar sin previo aviso. No uses esta versión en producción sin coordinarlo previamente con el equipo de integraciones de Kushki.
Todos los endpoints de Kushki ONE Connect que involucran dinero comparten el mismo objeto amount. Antes de construir tu primer request, necesitas entender una sola regla: los montos se envían como números enteros, en la unidad mínima de la moneda.
Nunca envíes puntos, comas, espacios ni ningún otro separador.

Tu moneda y sus decimales#

En Chile operas en pesos chilenos (CLP), que no usan decimales.
La moneda no viaja en el request
El objeto amount no incluye un campo de moneda: la terminal resuelve la moneda desde su propia configuración. El equipo de integraciones confirma cuál usa tu terminal durante el onboarding.

La regla de conversión#

El valor se envía tal cual, sin agregar ceros.
Para cobrarEnvías
1,244 CLP1244
12,000 CLP12000
15,990 CLP15990
Nunca rellenes un monto en pesos chilenos
Si agregas 00 al final de un monto en CLP, cobrarás 100 veces más de lo debido. Los ceros de relleno aplican solo a monedas con dos decimales.

Cómo se compone el monto#

El monto cobrado es la suma de todos los campos del objeto amount.
CampoQué representa
subtotal_ivaPorción de la venta afecta a impuesto
ivaMonto del impuesto sobre esa porción
subtotal_iva0Porción exenta. Usa solo este campo cuando la venta no tiene desglose
extra_taxesImpuestos de giros específicos: airport_tax, iac, ice, travel_agency. Envía 0 cuando no aplican
tipPropina. Viaja en /charge y /authorization; en /pos_tip es el monto de la operación. Si la funcionalidad no está habilitada la terminal la ignora — solicítala en soporte@kushkipagos.com

Ejemplo completo#

Venta de retail: 15,990 CLP, de los cuales 2,553 corresponden al IVA del 19%.
ComponenteValorUnidad mínima
subtotal_iva13,437 CLP13437
iva2,553 CLP2553
Total cobrado15,990 CLP15990
{
  "amount": {
    "iva": 2553,
    "subtotal_iva": 13437,
    "subtotal_iva0": 0,
    "extra_taxes": { "airport_tax": 0, "iac": 0, "ice": 0, "travel_agency": 0 }
  },
  "client_transaction_id": "9a8b7c6d-2222-4000-8000-ffeeddccbbaa"
}

Venta sin desglose de impuestos#

Cuando no detallas impuestos, coloca el monto completo en subtotal_iva0:
{
  "amount": {
    "iva": 0,
    "subtotal_iva": 0,
    "subtotal_iva0": 11800,
    "extra_taxes": { "airport_tax": 0, "iac": 0, "ice": 0, "travel_agency": 0 }
  },
  "client_transaction_id": "1a2b3c4d-3333-4000-8000-112233445566"
}

Convierte a la unidad mínima#

Tu moneda no necesita conversión
En una moneda sin decimales el entero que envías es el monto: no hay multiplicación ni relleno. El helper de abajo solo importa si tu sistema de caja también atiende un mercado de dos decimales.
JavaScript
Python

Errores frecuentes#

ErrorQué pasaCómo lo evitas
Enviar el monto con decimalesEl cobro sale con el monto equivocado o el request se rechazaConvierte a unidad mínima antes de enviar
Rellenar con 00 una moneda sin decimalesCobras 100 veces más de lo debidoEn COP y CLP el monto se envía tal cual
Reutilizar un helper de conversión de otro mercadoCobras 100 veces más o de menosDeriva los decimales por terminal, no por código
Enviar el monto como texto con separadoresError de validaciónElimina todos los separadores y envía un entero
Convertir con punto flotanteDiferencia de un centavo en algunos montosUsa enteros o un tipo decimal
Reutilizar un monto devuelto por un webhookMagnitud incorrectaEl evento no copia tu request: operation.amount omite iva y subtotal_iva cuando van en cero y agrega currency y tip
Valida antes de enviar
Verifica que los campos de amount sumen el total que esperas cobrar antes de llamar a la API. Un monto mal armado es la causa más frecuente de diferencias en conciliación.

Si operas en varios mercados#

Esta sección aplica solo si tu sistema de caja atiende comercios en más de un país.
MonedaPaísDecimales
CLPChile0
COPColombia0
MXNMéxico2
PENPerú2
El mismo entero es distinto dinero
1244 representa 12.44 MXN en México y 1.244 COP en Colombia: una diferencia de 100 veces. Como el payload no lleva campo de moneda, resolver esto queda enteramente de tu lado.
Consulta el currency_code configurado en cada terminal y deriva la cantidad de decimales a partir de ahí, nunca a partir de la sucursal o del idioma del usuario.
Acepta cobros con Kushki ONE
Con el monto correctamente construido, revisa los flujos de cobro: venta directa, pre-autorización, captura, propina posterior y anulación.
Catálogo de errores
Consulta los códigos de validación de monto y las acciones correctivas recomendadas.
Modificado en 2026-10-13 20:10:34
Anterior
Realiza cobros con Kushki One
Siguiente
Impresión en terminal SmartPOS
Built with