HS1 Pay Test program - OASiS

https://soeidental.atlassian.net/browse/OAS-55839
As of the OASiS 12.6 release, there is now a tool to test Oasis's connection to HS1Pay - to test that it is correctly set up, and to assist in resolving any connectivity issues that may arise once set up.

When Oasis is configured to use SOEPay/HS1Pay for Payments only or for full Claiming, on the System Manager menu, the Hicaps menu is renamed "Payment System"
it will contain a menu item called "Test HS1Pay Connectivity".

Clicking on HS1Pay Connectivity will attempt to connect to HS1Pay, and if unsuccessful, perform more tests to highlight issues & suggest what the possible causes could be.

The main test performed attempts to check the status of a non-existent Invoice with HS1Pay. The expected result for a successful test is for HS1Pay to indicate that the invoice does not exist. In checking the status with HS1Pay if HS1Pay cannot be contacted, any errors that occur are used to analyse the possible cause of the issue.

When the main test is unsuccessful, Oasis checks whether the SOEPay/HS1Pay server (SoeConnect) is reachable directly over the Internet (ie. without going via SOELink, as it has already tried that!) It does not attempt to communicate with HS1Pay in any way, so no credentials or data are exchanged, it simply determines whether it can connect to the server over TCP/IP.

If this test is run on the Oasis server and fails, it indicates that there is either an issue with the HS1Pay server, or with the internet. If this test is run on a workstation that is not the Oasis server and it fails, this part of the result should be ignored if it is known that the workstation has limited or no Internet access, and the test should bu re-run from the Oasis server for a more accurate diagnosis.

If the above HS1Pay connectivity test fails, Oasis checks whether it is possible to connect to a website on the Internet.

If this test is run on the Oasis server and fails, it indicates that there is an issue with internet connectivity from the Oasis server. If this test is run on a workstation that is not the Oasis server and it fails, this part of the result should be ignored if it is known that the workstation has limited or no Internet access, and the test should be re-run from the Oasis server for a more accurate diagnosis.

Each of these three types of test return a code that is displayed in the message box at the completion of the test - They are shown after the Outcome, in brackets. These code represent the test results in succinct form, and it is intended that they could be used by the Development team to quickly identify the cause of the problem.

The first two chars of this code indicate the result of the main connectivity test, and have the following meanings:

Code

Meaning

Code

Meaning

00

Success

01

Success, but not quite the expected result.

WV

Oasis and SOELink are not the correct version for each other - most likely SOELink is older than the Oasis version.

IR

SOELink was contacted but the response was incomplete (and there's not much more to analyse!)

EM

SOELink returned an error message. This error message is shown when the results are displayed.

SE

Internal Server Error (500) when communicating with SOELink

TO

Attempt to contact the server timed-out.

WS

WinSocket error. Error number and details are shown when the results are displayed.

??

Unable to determine what went wrong!

Subsequent characters indicate the result of the HS1Pay server connectivity test and the Internet connectivity test.

These are in the form "{source}{destination}{result}" and are separated by commas, where

  • {source} is either W for Workstation or S for Server
    ie. The test was run on a workstation or on the Oasis Server.

  • {dest} is either H for HS1Pay or I for Internet
    ie. Tested connectivity to HS1Pay, or to the Internet.

  • {result} is either + for success or - for failure.

Note that if a connectivity test fails when run on a workstation, it means nothing if that workstation is not supposed to have internet access.
Running the test on the Oasis server - where SOELink resides - provides a more accurate diagniosis.

Some examples:

  • "TO,WH-,WI+" indicates that the main test timed-out (TO), the connection from the workstation (W) to the HS1Pay server (H) failed (-), and the connection from the workstation (W) to the Internet (I) passed (+). This result suggests that the HS1Pay server is down… assuming the workstation that performed the test actually has full internet access.

  • SE,SH+” indicates that the main test resulted in an Internal Server Error (SE), but the Oasis server (S) was able to connect to HS1Pay (H) successfully (+). Because the HS1Pay server was able to be contacted directly, it implies Internet connectivity from the workstation is okay, so there is no need to do a subsequent test of Internet connectivity from the workstation.
    Of course there could be an issue with Internet connectivity from the server, but the workstation can’t test that, which is why it suggests running the test from the server! Either way, the most likely cause of this error is invalid SOEPay credentials in the BLSOEPAY record.