EPOS

 
FlypayHealthService Installation Instructions

Technical Description (Heartbeat)

  1. The idea for this service comes from Flypay. Flypay wants us to send a HTTPS request to their "heartbeat" endpoint every 2 to 3 minutes so they will know if we (POS2100.EXE terminals) are alive. The response to this request contains a "status" that allows the POS2100.EXE terminals, via this service, to keep track of the Flypay server health. If the Flypay server happens to be down, the terminals will know, and the terminals will not sit in a network delay progress-dialog every time an operator opens and closes a check.
  2. Basically there are 2 timers that drive the whole process. One timer starts a process that sends heartbeat messages to Flypay and keeps track of the resulting status. The other timer starts a process that sends a message to all of the POS2100.EXE terminals, keeping them apprised of the Flypay server status.
  3. Timer #1. This is a 2.5 minute (150 seconds) timer that starts the process that sends the HTTPS heartbeat request to the Flypay heartbeat endpoint. Flypay suggested 2 to 3 minutes. When successful we get a JSON status:ok response. If we are unable to connect or we do not receive status:ok, we retry every 10 seconds until Flypay answers with a status:ok response. This process also maintains a flag that will be used to send status notifications to the POS2100.EXE terminals on the local network. In an attempt to smooth out an occasional network "glitch", 2 failures in a row will be required to set the flag to a failed state. The 10 second failure mode timer will aid in getting the terminals back to doing Flypay business sooner. When leaving failure mode after a positive response is received, the POS2100.EXE network is immediately notified of a now working Flypay status.
  4. Timer #2. This is a 30 second timer that starts a process that broadcasts a status message of "ok" or "failed" to all POS2100.EXE terminals on the local network. The Flypay status of "ok" or "failed" is determined from a flag maintained by the Flypay heartbeat process previously described.
  5. It would be much less complicated to do all of this on a single, non-changing 2.5 minute timer but the result would be a less robust POS2100.EXE experience in the presence of failures.


Technical Description (Payment Polling)

  1. It has been noted that in some installations the POS2100.EXE would hang for 6 or more seconds when polling for payments at guest check startup. Since all guest checks with tables assigned are assumed to be Flypay guest checks, just about every guest check open was slow, and consequently slowing the entire business. To combat this, this service will attempt to poll the Flypay server for payments, relieving the POS2100.EXE from having to poll on every guest check open.
  2. Every 15 or so seconds, this service will issue a HTTPS payments poll request to the Flypay server. The response from the Flypay server will be abbreviated to an array of guest check numbers that have payments available. If there are no payments available, an empty array is formed. This array will be immediately sent to all of the POS2100.EXEs on the network.
  3. When attempting to open or retrieve a guest check, the POS2100.EXE will first check the array of guest check numbers received from this service for a match to it's own guest check number. If there is a match, the POS2100.EXE will send the payments poll request to the Flypay server, and continue on as normal. If there is no match of it's guest check number, the POS2100.EXE will skip sending the poll request to the Flypay server.
  4. Since the bulk of the POS2100.EXE guest checks will not have a Flypay payment waiting, this should significantly speed up the guest check open process.


Installation Instructions

  1. This Comtrex Flypay Health Service is intended to be installed only by Comtrex installation and support personnel.
  2. POS2100.EXE version 1.0.3.859 or 1.0.4.859 or later is required for heartbeat integration.
  3. POS2100.EXE version 1.0.3.872 or 1.0.4.872 or later is required for payment polling.
  4. POS System Options - RemotePay Definitions must be programmed before starting this service.
    This service requires the SecurityKey, BusinessID, ServerURL, and the Active flag to operate. Note that if any of the aforementioned fields are blank, or the "Active" check box is not checked, this service will not run.
  5. Installation must be on the PC that is hosting the Odyssey databases.
  6. Uninstall any existing "Comtrex Flypay Health Service" installation first.
  7. Click on the installation link below to run or download (ftp) the installation program.
    • If downloading, download it to any temporary directory on your C: drive.
    • If running directly, ignore the security warning.
  8. If you downloaded the installation program (.msi), execute it to start the installation.
  9. After installation, delete downloaded (.msi) file.


Installation Follow-up
Important: Make sure you complete the following steps right away.

  1. Be sure to open UDP port 31249 on all terminals.
    If no firewall is running on the terminals, or POS2100.EXE is passed through the firewall, there is probably nothing to do. Most machine firewalls will allow an "application" (POS2100.EXE), thus allowing all ports requested by the application.
    This port is used by the FlypayHealthService to notify the terminals (POS2100.EXE) of the current Flypay server health. This notification is especially important to keep the terminals running in a robust manner.
  2. This service will not be running after the install, so go to Control Panel - Administrative Tools - Services and start the service. It will automatically start on subsequent power-up sequences.


Installation Reference

  1. Registry entries used by FlypayHealthService and created by this installation.
    Changing any of these will require a stop/start sequence to reinitialize the service.
    • (32 bit) [HKEY_LOCAL_MACHINE\SOFTWARE\Comtrex Systems\FlypayHealthService] OR
      (64 bit) [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Comtrex Systems\FlypayHealthService]
       
      Value NameValue DataNotes
      AccessDatabasePathC:\icom\databaseThis should not be edited normally.
      OperatorNumber909Number required for HTTPS packet. It is not evaluated so just leave as is.
      FlypayPaymentsIntervalSeconds15Flypay suggests 15 to 20 second range.
      FlypayHeartbeatIntervalSeconds150Flypay suggests a 2 to 3 minute range.
      HeartbeatNotifyPOSIntervalSeconds30Minimum of 30 and certainly no more than "FlypayHeartbeatIntervalSeconds" above.
      UDPNotifyPort31249This should not be changed without direction from engineering.
  2. Files updated or installed by this installation.
    • (32 bit) C:\Program Files\Comtrex Systems\FlypayHealthService OR
      (64 bit) C:\Program Files (x86)\Comtrex Systems\FlypayHealthService
      • FlypayHealthService.exe - Service executable.
      • LogFiles - Folder with daily log files.
      • Misc. install/uninstall support files.



Click here to Download.





 
Page last updated: June 20, 2023