Runbook

Use this runbook when the app cannot connect, commands timeout, the terminal NAKs frames, or a transaction result is uncertain.

Connectivity

  1. Confirm the mobile device and terminal are on the same LAN.
  2. Confirm the terminal IP and ECR port.
  3. Run status() before a financial command.
  4. Check whether the terminal closes the socket between transactions.
  5. Reconnect before the next command if the connection state is stale.

Protocol failures

NAK
ACK timeout
Response timeout

Check lrcMode, fixed-width field lengths, terminal firmware expectations, and command availability.

Check LAN reachability, terminal busy state, and ECR port configuration.

Check host-side acquirer delay, cardholder action, and whether the configured responseTimeoutMs is too short.

Uncertain payment

Recovery path

Do not run the original payment again. Reconnect and call sendLastResult(). If the result remains unavailable, reconcile with terminal totals, acquirer portal, or operator procedure before charging again.