Ping Method
Used to find the fastest service provider to use to send credit card transactions.
Syntax
public void ping(String url);
Remarks
The Ping request is used to determine which one of the ServiceProviders URLs is the most efficient to use for transaction transport. The Ping request verifies that the ServiceProviders URLs are reachable and provides the average transaction time cost for each URL, returned in the PingResponseTime property. You should select the fastest ServiceProviders URL to be the active URL that you will use to process all transactions. You should maintain a list of the other ServiceProviders URLs in a queue from fastest to slowest, in the event that the fastest URL becomes unavailable.
A Ping should be sent for each of the ServiceProviders URLs after every 100 authorizations, to ensure that you're still using the fastest URL. A Ping should be run on the ServiceProviders URLs any time the application is first started.
For example:
FDMSRegister.MerchantNumber = "000000999990"; FDMSRegister.MerchantTerminalNumber = "555555"; FDMSRegister.TransactionNumber = "1"; //any unique number will do. FDMSRegister.URL = "https://stagingsupport.datawire.net/staging_expresso/SRS.do"; FDMSRegister.Register(); FDMSRegister.TransactionNumber = FDMSRegister.TransactionNumber + 1; FDMSRegister.Activate(); FDMSRegister.ServiceDiscovery(FDMSRegister.PrimaryDiscoveryURL); for (int i = 0; i < FDMSRegister.ServiceProviders.Length; i++) { FDMSRegister.Ping(FDMSRegister.ServiceProviders[i]); Console.WriteLine(FDMSRegister.ServiceProviders[i] + " = " + FDMSRegister.PingResponseTime); }
Note: This functionaly does not apply to Rapid Connect implementations.