E:System.Net.WebException: The underlying connection was closed: A connection that was expected to be kept alive was closed by the server....
See the example below. What causes this to happen and what should I do?
A - This is a typical time out error. Time outs can happen for various reasons. It could be an Internet traffic issue, or the payment gateway server/credit card processor is temporarily busy. When Elliott sends a credit card transaction to the payment gateway server, it can't wait forever for the result to return. So at some point, Elliott will time out if it does not receive the result back. As far as Elliott goes, it considers the time out transaction as no good. But it is possible that the transaction eventually gets processed on the payment gateway server side while Elliott declared time out. Even though this condition rarely happens, it is a possibility.
So you should check the payment gateway server to see if the transaction got through at all. For Payware Connect, you need to login to https://ipcharge.com/mc Web portal to check. For Payware PC, you need to use the Payment Center to check. Based on the result, this is what you should do:
(1) Credit Card Transaction Did Not Go Through
If the credit card transaction did not go through, you can simply try to process the credit card a second time. If retry does not work, then you may want to check the underlying reasons on why the time out take place. For example, does your user or server has Internet access ...etc.
(2) Credit Card Transaction Did Go Through
If it did go through, then you should not charge it a second time since that would result in duplicate charges. In this scenario, you will use the AR -> Processing -> Credit Card Transaction Handle, enter the credit card transaction, and at "21. Approval No" field, leave the field blank and do not press F4 as you normally do. This will make sure we don't interface with the Payment Gateway server again. See example below:
You will see a message "You failed to press F4 to interface with PAYware........ Are you sure?" The default is "No." You want to choose "Yes" so this transaction will only impact the Elliott side without interfacing with the Payware Gateway server. See example below.
You can now complete this transaction and post it. Then you are all set.