| CPC G06Q 20/4012 (2013.01) [G06Q 20/065 (2013.01); G06Q 20/405 (2013.01)] | 19 Claims |

|
1. A computer implemented method to select a payment gateway for use in a transaction, the method comprising:
receiving, by a gateway selection platform, information identifying a transaction, the information including information identifying a merchant associated with the transaction;
identifying, by the gateway selection platform, at least a first configuration parameter associated with the merchant, the at least first configuration parameter selected by the merchant prior to the transaction via a user interface, wherein the at least first configuration parameter includes a maximum latency value;
identifying a set of available payment gateways, the set of available payment gateways determined at least in part by operating a gateway downtime detector to determine the current availability of each of a plurality of payment gateways;
determining, for each available payment gateway in the set of available payment gateways, (i) a prior success probability determined based on the success rate of each available payment gateway in prior transactions processed by the gateway selection platform, (ii) a current success rate determined based on historical transaction data associated with each available payment gateway, and (iii) a prior success rate factor determined based on the size of historical transaction data;
operating a dynamic switching module to calculate a success probability associated with each payment gateway in the set of available payment gateways based on the prior success probability, the current success rate and the prior success rate factor;
selecting the payment gateway having the highest calculated success probability and that satisfies the maximum latency value, the maximum latency value satisfied at least in part by querying a real-time latency database to retrieve real-time latency data for each of the set of available payment gateways and comparing the real-time latency data of each available payment gateway with the maximum latency value, the real-time latency data for each available payment gateway generated by:
periodically operating a transaction engine to transmit payment authorization requests to one of the available payment gateways;
logging a first timestamp associated with the time when the payment authorization request is transmitted;
logging a second timestamp associated with a time when a response to the payment authorization request is received; and
storing the difference between the first timestamp and the second timestamp as the real-time latency data associated with the payment gateway; and
causing the transaction to be processed using the selected payment gateway.
|