Saltar al contenido principal

Modo consola

El modo consola corre sin pantalla: sirve para el primer contacto con un switch nuevo, para dejar un visor de trazas escuchando y para ejecutar proyectos de certificación en integración continua.

# macOS o Linux, desde la carpeta del simulador
./ejecutar-simulador.sh cli --help

# Windows
ejecutar-simulador.bat cli --help

En los ejemplos, switch.example.net y el puerto 9502 representan tu switch o autorizador de pruebas.

1. Probar la conexión con un mensaje de red​

cli echo envía un 0800. Valida el framing y la codificación sin tocar tarjetas: es el primer disparo recomendado contra un switch nuevo.

./ejecutar-simulador.sh cli echo --host switch.example.net --port 9502

2. Enviar una transacción y verificar el resultado​

./ejecutar-simulador.sh cli send --host switch.example.net --port 9502 \
--pan "$PAN_PRUEBA" --expiry 2812 \
--amount 10.00 --currency 928 \
--terminal TERM0042 --merchant 000000000012345 \
--expect-rc 00 --json-out evidencia/compra.json

$PAN_PRUEBA es una tarjeta de pruebas de tu emisor (por ejemplo 990500******0015); nunca uses tarjetas reales.

OpciónPor defectoUso
--host, --port127.0.0.1, 9502Destino TCP.
--timeout15000Milisegundos de espera de la respuesta.
--header-length2Bytes binarios (big-endian) del prefijo de longitud.
--charsetCp1047 (EBCDIC)Usa US-ASCII si el host lo pide.
--ascii-bitmap—Bitmap en texto en lugar de binario.
--no-hex-length—Longitudes LLVAR/LLLVAR en texto, no BCD.
--mti0200Por ejemplo 0800 o 0400.
--template0200_FINANCIALPlantilla de partida.
--processing-code—6 dígitos (DE 3).
--stan, --rrn—Fijar DE 11 y DE 37.
--de NUMERO=VALOR—Sobrescribe cualquier data element; repetible.
--expect-rc—Código esperado en el DE 39; define el código de salida.
--json-out—Guarda la evidencia (petición y respuesta) en JSON.

Código de salida: 0 si la respuesta llegó y coincide con --expect-rc; 1 si no.

3. Capturar las tramas de tu punto de venta​

cli listen abre un puerto y muestra cada trama que llega, decodificada, con respuesta automática.

# Aprobar todo y guardar la sesión en CSV al salir con Ctrl+C
./ejecutar-simulador.sh cli listen --port 9600 --respond aprobar --out trazas.csv

# Host EBCDIC que declina con 51
./ejecutar-simulador.sh cli listen --port 9600 --dialect ebcdic --respond declinar:51

# Solo escuchar, sin responder (para probar los tiempos de espera del punto de venta)
./ejecutar-simulador.sh cli listen --port 9600 --respond ninguna
OpciónPor defectoUso
--port9600Puerto de escucha.
--prefix2Bytes del prefijo de longitud: 0, 2 o 4.
--respondaprobaraprobar, ninguna o declinar:NN.
--dialectasciiascii, ebcdic o ascii-bitmap-texto.
--out—CSV con la sesión, escrito al salir.
--no-hex—No imprimir el hexadecimal de cada trama.

4. Ejecutar un proyecto de certificación​

cli run ejecuta un proyecto completo (creado en la interfaz gráfica) y termina con código 0 solo si todos los casos pasan. Es el modo pensado para integración continua.

./ejecutar-simulador.sh cli run --project MI-PROYECTO --report informe.html
OpciónUso
--project IDProyecto a ejecutar (obligatorio).
--script IDEjecuta un solo guion en lugar de todos.
--report RUTAInforme en .txt, .csv o .html.
--quietSin avance paso a paso.

Una invocación sin --project o con opciones desconocidas termina con código distinto de cero.