Un solo motor para cobrar en caja, en el terminal, en la web del comercio y desde aplicaciones de terceros. Qué piezas existen, cómo se llaman y cómo se hablan entre sí.
La caja hablaba con el terminal, la web con un proveedor, el ERP con nadie. Tres proyectos, tres contratos, tres formas de fallar.
Pago móvil, transferencias, QR y cripto cambian de banco en banco. El comercio no debería saberlo.
Un datáfono de otra marca quedaba fuera del sistema: sin conciliación, sin telemetría, sin marketplace.

Comercios, terminales, medios, orquestación de intentos, lotes, clearing, liquidación y conciliación.
pos.finoracore.com · finora-posPanel, ventas, lotes, liquidaciones, flota, claves, medios, usuarios, marketplace y desarrolladores.
portal.finoracore.com · Next.jsAplicativos certificados y licencias: AuroraPOS, Cajas, FINORA Pago, ECR DLL. Descarga por enlace firmado.
/marketplaceLatido cada 60 s con telemetría, comandos por long-poll, estado operativo, consola del terminal.
/flotaSesiones de cobro con token corto, webhook firmado, @finora/checkout y página alojada.
pago.finoracore.com · npmCualquier caja satélite cobra por API local, URI finora-pago:// o CLI. Sin tarjetas, sin ISO.
127.0.0.1:9810 · v1.4.1Mostrador, kiosco forzado, autoservicio, inventario, flujo guiado de cobro.
Tablet: atendida o autoservicio; tarjeta en el mismo equipo (AuroraPOS), en la nube o con lector.
com.dcgeeks.finora.cajaLee el chip, captura el PIN, expone la API ECR y recibe cobros empujados y comandos del TMS.
Autoriza, reversa y cierra lotes; enruta on-us / off-us por BIN con criptografía EMV.
switch.finoracore.comPago móvil, transferencias, QR, cripto y host ISO. El simulado responde con reglas por céntimos.
Datáfonos AMP 6500/6700/8000/8200 por Smart Connect. Mismo checkout, TMS y conciliación.
AMPEventos, KPIs 1 / 15 min / hoy, alertas por reglas, SSE y modo TV por sucursal.
/monitoreo · /tv


POST /api/v1/checkout/sesiones · <finora-checkout> · pago.finoracore.com/s/{id}?t= · X-Finora-Signature: t=,v1=,v0=
POST http://127.0.0.1:9810/v1/cobros · finora-pago://cobrar?… · finora-pago.exe cobrar --monto 227.00 --referencia 8841 --jsonGuía: finoracore.com/academy/pago
DatDeviceHeartbeat). Sin latido más de 3 minutos, la Torre abre una alerta.DatDeviceCommand por long-poll con deviceToken; COBRAR y REEMBOLSAR reutilizan el DispatchService. Para terminales AMP: ESTADO, CERRAR_LOTE, ACTIVAR y DESACTIVAR.DE39 = 58 aunque la app siga viva. Parámetros con versión: el terminal solo compara igualdad./flota): vista por terminal, comandos con TID, badge AMP, publicación de versiones y licencias del marketplace.
/monitoreo · /monitoreo/sucursal/… · /monitoreo/terminal/… · /monitoreo/alertas · TV: /tv/{código}Semáforo VERDE · AMARILLO · ROJO · GRISLOG_STREAM: el terminal sube lotes de líneas durante hasta 15 minutos. Cualquier secuencia de 13 a 19 dígitos que pase Luhn se enmascara 6+4 antes de guardar y antes de publicar — el terminal no tiene que enmascarar nada por su cuenta.COBRO_PRUEBA con doble compuerta (comercio en modo pruebas + terminal en modo pruebas), PRUEBA_LECTOR para probar el chip o contactless sin transacción, ECO para medir latencia de ida y vuelta sin tocar el lector ni el switch.400000******0002) y el detalle crudo del intento, registrado en la Torre como evento propio (changelog 097) cada vez que alguien lo abre./terminales/{id}/360.

Catálogo de nueve capacidades (changelog 098); ámbar = con dinero de por medio. Encender o apagar una es una decisión de FINORA sobre ese comercio, no un permiso que se le da a un empleado.
tba_capability) + fila por comercio (dat_merchant_capability), caché de 30 s: sin fila, hereda el valor por defecto; con fila, manda la fila. Reutiliza exactamente la herencia de DatMerchantRail.DESARROLLADOR, COBRO_SIN_POS y MARKETPLACE, ya en el catálogo.GET /api/v1/portal/yo devuelve capacidades[]; sin una, la sección desaparece del menú y la ruta responde 403 CAPACIDAD_NO_HABILITADA con una pantalla explicativa, no un error crudo.comercio.capacidad.cambiada en la Torre con quién y cuándo. Se implementó el cambio inmediato de un solo actor; la cola de aprobación de dos personas de FINORA queda pendiente, dicho así.Entitlement: versión certificada y (pública, regla de política o licencia con HMAC). Descargas por enlace firmado de 5 minutos, servidas desde el Merchant.
0500 / 0520) o POST /pos/lotes/cierre. Solo entran ventas con RC 00 capturadas.1240 · 200, cabecera 1644 · 697). Hoy sin transmisión a la red.
POST /api/v1/pos/ops/ciclo; el asiento en el core es asíncrono.EN_VUELO antes de enviar el 0200, no después de la respuesta; si la app muere en el medio, al arrancar pasa a EN_DUDA con reverso en cola.REVISION_MANUAL, nunca se borra.POST /lotes/{n}/cerrar con totales; si no cuadran, 409 LOTE_DESCUADRADO dispara el detalle operación por operación y el veredicto queda con totalesHost y las discrepancias listadas.:sdkpos con puertos (lector, switch, configuración) lo comparten FINORA Pago Terminal, AuroraPOS y Caja Android — el mismo código de lote y SAF, no tres implementaciones.:sdkpos y desplegar el Merchant y el switch corregidos.:sdkpos en verde.La conciliación de lote terminal ⇄ Merchant (API-09) ya está implementada, no solo probada.X-API-Key con alcance por comercio; en la base solo vive el hash. Clave sandbox marcada como tal: integrar sin tocar dinero real.
El portal entra al authserver que el propio Merchant trae; tokens de acceso de 15 minutos, roles portal-comercio y portal-comercio-admin acotan los datos.
Cada terminal se autentica con su deviceToken; la TV con un token de larga duración (hash SHA-256) acotado a su sucursal; FINORA Pago con un token local.
X-Finora-Signature: t=,v1=,v0= con HMAC-SHA256 y tolerancia de 5 minutos; se firma en cada envío y se reintenta con backoff. Callback local de FINORA Pago también firmado.
Tarjeta = terminal físico. El PAN vive solo entre AuroraPOS y el switch; el SDK, la caja y el portal no ven datos de tarjeta. AMP solo con tarjeta presente.
Credenciales AMP con AES-256-GCM (FINORA_CRYPTO_KEY, fail-closed); clave de API en FINORA Pago con DPAPI; descargas del marketplace por enlace firmado de 5 minutos.
/admin: el router relee la base en cada transacción, no hace falta reiniciar el contenedor.MessageFactory por dialecto (nodo sin dialecto usa el layout histórico); el HSM real (Thales payShield) y el simulador son el mismo puerto — sin plantilla de llaves configurada, el paso criptográfico falla cerrado con DE 39 = 96, nunca aprueba sin verificar.Presupuesto de latencia del diseño completo, no solo del switch — incluye red, Merchant y autorización.
El plan de capacidad empieza por cerrar los puntos únicos de fallo — respaldos verificados y cifrados, réplica de datos, monitoreo (F0) — antes de hablar de autoescalar. Cada escalón cierra con una prueba de conmutación real, no con una estimación.
PgBouncer y réplica ya en F0; switch activo-activo y HSM real en el escalón siguiente; Citus por comercio y Kubernetes on-premise (RKE2 + Cilium) recién en F3, cuando el negocio ya validó 1.500 TPS reales.
TARJETA_CERCANIA · prepago, fidelidad, credencial, pulsera de evento — circuito cerrado, sin PAN, sin switchFlujo rápido de kiosco (0.4.3, ya publicado): la cédula y el tipo de cuenta viajan con la orden, así que el terminal solo pide tarjeta —y PIN si es débito— sin repreguntar lo que ya sabe. Tiempo en terminal por venta [estimado].
FINORA Toolbox en Android quedó diseñado, no descartado: DISENO_TOOLBOX_ANDROID_2026-09-15.md define el alcance; pendiente el keystore de release para publicarlo. La tarjeta de cercanía es diseño de dominio, sin código ni changelog todavía — se modela como un solo riel con cuatro variantes, no cuatro módulos.




Entrar como comercio.demo. Panel: ventas de hoy y ayer, terminales en línea, última liquidación, novedades. Recorrer Ventas, Lotes, Liquidaciones y Medios.
Mostrar AuroraPOS 1.4.1, Caja Windows 1.7.0, Caja Android 1.3.1 y FINORA Pago 1.4.1. Descargar uno: el enlace es firmado y vence en 5 minutos.
La caja abre la venta, el terminal se enciende con el monto, tarjeta del banco simulado (BIN 400000, céntimos .00 aprueba, .51 rechaza), recibo en la caja.
Crear la sesión sandbox, abrir la página de pago, pagar por pago móvil y ver llegar el webhook firmado en la misma consola.
Desde una terminal de Windows: se abre la ventana de FINORA Pago, el cliente elige el medio, la CLI imprime el JSON y sale con código 0. Alternativa: POST 127.0.0.1:9810/v1/cobros.
KPIs vivos del minuto, semáforo por sucursal, la venta recién hecha en la línea de tiempo; vincular la pantalla de la sucursal con el código de seis dígitos.
Trece componentes con nombre, cuatro flujos que se pueden mostrar hoy, un núcleo financiero precertificado 23 de 23 y un motor que ya empieza a hablar con bancos.
FINORA es un producto de DC GEEKS · presentación web · P o Ctrl+P para exportar a PDF