Este software de medios de pago es un servidor de pagos y middleware de pagos que ofrece a la aplicación una API de pagos común. Facilita la integración de billeteros y, en general, la integración de medios de pago: software para monederos, control de hoppers y aceptadores de monedas. Es una base de software vending reutilizable en sistemas de pago para máquinas de autoservicio.
El software proporciona una capa intermedia entre la aplicación principal y dispositivos como billeteros, aceptadores de monedas y hoppers, evitando que el software del cliente tenga que implementar directamente los protocolos y particularidades de cada periférico.
La solución se estructura como una librería y servicio de comunicaciones independiente, con una interfaz basada en sockets, proporcionando a la aplicación final una API común para gestionar operaciones de cobro, devolución, aceptación y dispensación de efectivo.
Abstracción de los medios de pago
Una de las principales ventajas de la plataforma es la independencia entre la aplicación del cliente y el hardware de pago instalado en la máquina.
El servidor se encarga de gestionar las comunicaciones específicas con cada periférico y proporciona a la aplicación una interfaz de mayor nivel.
La arquitectura puede representarse como:
- Aplicación del cliente
- Socket/API
- Servidor de pagos
- Drivers de dispositivos
- Medios de pago
Gracias a esta separación, la aplicación principal puede trabajar con operaciones lógicas de pago sin necesidad de conocer los detalles del protocolo utilizado por cada dispositivo.
Control de billeteros
El software permite integrar y gestionar aceptadores de billetes, centralizando las operaciones necesarias para su utilización.
El servidor puede gestionar eventos relacionados con la detección y aceptación de billetes, estados del dispositivo, incidencias y demás información proporcionada por el periférico.
La aplicación recibe la información procesada mediante la interfaz común de comunicaciones.
Control de aceptadores de monedas
La plataforma proporciona soporte para monederos y validadores de monedas, permitiendo integrar diferentes dispositivos dentro de la misma arquitectura software.
El servidor interpreta los eventos generados por el aceptador y los transforma en operaciones comprensibles para la aplicación principal, simplificando considerablemente el desarrollo de la lógica de cobro.
Gestión de hoppers
El sistema permite controlar hoppers para dispensación de monedas, posibilitando desarrollar funciones de devolución de efectivo o entrega controlada de monedas.
La aplicación puede solicitar operaciones de dispensación a través de la interfaz común y el servidor se encarga de ejecutar la secuencia correspondiente sobre el dispositivo físico.
Esto permite centralizar tanto la entrada como la salida de efectivo dentro de una misma plataforma.
Comunicación mediante sockets
La comunicación entre la aplicación del cliente y el servidor de pagos se realiza mediante sockets.
Esta arquitectura desacopla ambos componentes y permite que el servidor de pagos funcione como un proceso independiente.
La aplicación final no necesita acceder directamente al hardware ni incorporar los drivers específicos de los dispositivos de pago, sino únicamente implementar la interfaz de comunicación definida por el servidor.
API común para diferentes periféricos
La capa de abstracción permite ofrecer una interfaz homogénea independientemente del fabricante o tecnología utilizada por cada medio de pago.
Operaciones como consultar el estado de un dispositivo, habilitar o inhibir la aceptación, recibir eventos de crédito, solicitar una devolución o gestionar una incidencia pueden exponerse mediante una API común.
Esta filosofía facilita considerablemente la evolución de los equipos y la incorporación de nuevos periféricos.
Arquitectura modular
El servidor está concebido con una arquitectura modular que permite separar la lógica general de pagos de los módulos específicos encargados de gestionar cada dispositivo.
Esto facilita incorporar nuevos modelos de billeteros, monederos, validadores o hoppers sin necesidad de realizar cambios importantes en la aplicación principal.
La sustitución de un periférico por otro compatible puede quedar limitada al servidor de pagos y su correspondiente driver.
Desarrollo en C#
La plataforma está desarrollada en C#, proporcionando una arquitectura adecuada para su ejecución en sistemas Windows sobre hardware x86.
El entorno permite implementar comunicaciones, gestión de procesos, registro de eventos, configuración y herramientas de diagnóstico dentro de una plataforma software ampliamente utilizada en sistemas de autoservicio.
Plataforma x86 y Windows
El servidor está diseñado para ejecutarse sobre arquitectura x86 con sistema operativo Windows embedded, facilitando su integración en ordenadores industriales y sistemas embebidos utilizados en máquinas automáticas.
La aplicación de usuario y el servidor de pagos pueden ejecutarse de forma independiente sobre el mismo sistema o, dependiendo de la arquitectura de comunicaciones implementada, como componentes separados.
Supervisión y diagnóstico
La centralización de las comunicaciones permite disponer de un único punto desde el que supervisar el funcionamiento de los diferentes medios de pago.
El servidor puede recopilar información relacionada con estados, eventos, operaciones e incidencias, facilitando las tareas de diagnóstico y mantenimiento.
Esta información también puede utilizarse para implementar registros de actividad y trazabilidad de las operaciones realizadas por el sistema.
Independencia de la aplicación final
El principal objetivo de la arquitectura es evitar que la aplicación del cliente quede ligada a un determinado fabricante o modelo de periférico.
Por ejemplo, la aplicación puede solicitar una operación de pago utilizando la interfaz definida por el servidor mientras éste determina cómo debe comunicarse con el hardware instalado.
Esto proporciona una arquitectura más mantenible y facilita la evolución del producto durante su ciclo de vida.
Aplicaciones
La plataforma está especialmente orientada a máquinas vending, kioscos de autoservicio, sistemas de ticketing, máquinas recreativas, terminales de pago, sistemas de reciclaje incentivado, lavanderías autoservicio y cualquier equipo automático que necesite gestionar diferentes medios de pago.
También resulta especialmente útil para fabricantes que desarrollan diferentes familias de máquinas y quieren reutilizar una misma arquitectura software de pagos.
Especificaciones técnicas
| Tipo | Servidor / middleware de pagos |
|---|---|
| Lenguaje | C# |
| Arquitectura | x86 |
| Sistema operativo | Windows |
| Comunicación con aplicación | Socket |
| Billeteros | Sí |
| Aceptadores de monedas | Sí |
| Hoppers | Sí |
| Arquitectura software | Modular |
| Abstracción de hardware | Sí |
| Interfaz común | API de comunicaciones |
| Diagnóstico | Centralizado |
| Aplicaciones | Vending, kioscos y autoservicio |


