1. Terminal SDK
Kushki Docs
Español
  • Español
  • English
  • Inicio
  • Inicio rápido
    • Últimas novedades
    • Preguntas frecuentes
    • Paso a producción
    • Política de cambios importantes del API
    • Datos de prueba
    • Códigos de error
  • Glosario de pagos
    • Glosario de pagos
  • Pagos únicos con tarjeta (Online)
    • Network Tokens
    • Marcas de tarjeta soportadas
    • Funcionalidades por modelo de negocio
    • Guía de integración Comisiones a terceros
    • ¿Cómo funcionan las Comisiones a terceros?
    • Pagos en un paso
      • Acepta un pago con tarjeta
      • Cargo directo (sin token)
      • ¿Cómo funcionan los pagos con tarjeta?
      • Acepta pagos únicos con OTP
      • Códigos de error autenticación 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?
    • Devoluciones
      • Devoluciones, anulaciones y reembolsos
    • Autenticación 3DS
      • Integración 3DS API + librería kushki.js
      • Introducción a 3DS
      • Integración 100% API de 3DS
      • Integración 3DS con librería kushki.js
      • Códigos de error autenticación 3DS
    • Pagos con Apple Pay
      • Configuración de Apple Pay
      • Pruebas en Sandbox Apple Pay
  • 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
      • ¿Cómo funcionan los cargos recurrentes con tarjeta?
      • Maneja tus cargos calendarizados
      • Crea un cargo recurrente
    • Pagos OneClick
      • Genera pagos one click
      • Recibe pagos OneClick con autorización y captura
      • ¿Cómo funcionan los pagos OneClick con autorización y captura?
  • Pagos con tarjeta presente
    • Acepta pagos con tarjeta presente
    • Datos de prueba
    • Webhooks para tarjeta presente
    • Cloud Terminal API
      • Acepta pagos
      • Anula una solicitud de pago
      • Consulta el estado de una petición de cobro
      • ¿Cómo imprimir un ticket personalizado?
    • App-to-app
      • Acepta pagos
    • Transacciones
      • Anula un pago
      • Transacciones
    • Terminal SDK
      • Acepta pagos
    • 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
    • Raw card-present API
      • Acepta pagos
      • Script de ejemplo para cifrar información
      • Intercambio de claves criptográficas
      • Preguntas frecuentes
      • Códigos de error para transacciones con tarjeta presente
    • Kushki One App de Pagos
      • Devoluciones y PreAuth & Capture
      • Procesa un cobro
      • Pago Dividido en la terminal
      • Consulta tus transacciones
      • Configuración del terminal
  • Pagos con transferencias
    • Bancos y detalles de operación para pagos con transferencia bancaria
    • Recibe transferencias bancarias
    • Consulta el estado de una transacción
  • Dispersión de dinero
    • Transferencia bancaria
      • Dispersa a cuentas bancarias
      • Códigos de error para dispersiones por transferencia
  • Plugins
    • Shopify
      • Operación del Plugin
    • Vtex
      • Guía de integración VTEX
  • Links de pago
    • Smartlinks
  • Formularios y botones de pago
    • Kajita
      • Kajitas de pago
      • ¿Cómo funciona?
    • Botón de pago
      • ¿Cómo funciona el botón de pago?
      • Genera un 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
    • 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 pagos recurrentes
      • Webhook para pagos recurrentes con tarjeta
    • 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. Terminal SDK

Acepta pagos

Realiza operaciones directamente con una terminal desde tu aplicación punto de venta móvil en Android.

Agrega el SDK a tu proyecto#

Agrega el SDK en el archivo build.gradle de tu proyecto.
Agrega los siguientes plugins en tu archivo build.gradle.
Agrega los siguientes repositorios en tu archivo settings.gradle.

Inicializa el SDK#

Es necesario inicializar el SDK configurando tu token de usuario y el ambiente de trabajo.
PropiedadTipoRequeridoDescripciónValores permitidos
contextObjectSíandroid.content.Context
sdkModeObjectSíInitBillpocketSDK.SdkMode.TEST, PRODUCTION
userTokenStringSíToken de usuario.
deviceTokenStringNOID del dispositivo. Se puede ver y renombrar desde el panel de control de Billpocket, en la sección 'Mis dispositivos
listenerObjectSíEventListenerInitSDK
Envía un objeto eventListener el cuál implementa la interfaz EventListenerInitSDK para escuchar el resultado de la inicialización.

Conecta un lector bluetooth#

Vincula la terminal con tu dispositivo móvil vía bluetooth para que pueda ser visible a través del SDK. Obtén la lista de terminales disponibles utilizando el método getListBluetoothReaders.
Implementa el método resultListReaders de la interfaz EventListenerConnection para obtener el resultado.
Para dispositivos con un nivel de API inferior a 31, deberás verificar los permisos bluetooth.
Implementa el método connectReader para obtener el elemento seleccionado de la lista de dispositivos disponibles. Obtén los datos type, macAddress y name del objeto BluetoothDevice previamente seleccionado.
Implementa el método resultReaderConnect de la interfaz EventListenerConection para obtener el resultado de la conexión.

Modelo de datos de la solicitud#

Estos son todos los parámetros que puedes configurar al momento de realizar una solicitud.
PropiedadTipoRequeridoDescripción
contextObjectSíandroid.content.Context
amountNumberSíMonto de la transacción.
descriptionStringSíDescripción de la transacción.
locationObjectSíInstancia del objeto android.location.Location con latitud y longitud desde donde se realiza la operación.
tipNumberNoMonto de la propina. Dos decimales.
listenerObjectSíInstancia de EventListenerTransaction.
rotationSignatureBooleanNoConfigura la pantalla para firmar la transacción en horizontal (false) o vertical (true).

Operaciones#

Descubre todas las operaciones disponibles a través de integraciones por Terminal SDK.

Venta#

Realiza una venta por un monto fijo (incluyendo impuestos) en tu comercio a través de una terminal. La terminal te permite leer la tarjeta de tu cliente y realizar operaciones implicadas en el proceso DUKPT. La responsabilidad de tu sistema punto de venta es obtener los datos leidos de la terminal y armar el mensaje con la información requerida para enviar una solicitud. Envía la información a Kushki para su procesamiento.
Utiliza el método doTransaction para iniciar una transacción con la terminal. Debes enviar todos los parámetros requeridos en la solicitud.
Envía un objeto eventListener el cuál implementa la interfaz EventListenerTransaction para escuchar eventos de transacción.
Descubre cómo implementar pagos diferidos, desconectar una terminal, autenticar una transacción y otros métodos disponibles en la documentación del SDK.

Respuesta#

La respuesta será devuelta como uno de los siguientes callbacks, dependiendo el resultado.

onTransactionSuccessful#

Este callback es llamado cuando la transacción ha sido exitosa.

onTransactionFinished#

Este callback es llamado cuando se ha realizado un cobro con una tarjeta de banda magnética o se ha producido un error durante la transacción.

onTransactionAborted#

Este callback es llamado cuando se cancela la operación. Por ejemplo, es llamado cuando se desconecta la terminal o se agotó el tiempo de lectura de la tarjeta.
Revisa la referencia SDK para información más detallada.

Datos de prueba
Realiza los ajustes necesarios en tu sistema con los datos de prueba.
Transacciones
Obtén la lista de transacciones con información relevante para tus operaciones.
Modificado en 2026-10-21 19:52:23
Anterior
Terminal SDK
Siguiente
Kushki One
Built with