IP Library Granted Patent US 12,354,099
Granted Patent B2
US 12,354,099 · App. 17/717,360 · Granted Jul 8, 2025

Dynamic gateway selection

Inventors: Vivek Malasi (Haryana, IN); Sagar Kumar V (Karnataka, IN); Sudhindra Magadi S (Karnataka, IN); Sudeep Nayak (Karnataka, IN)
Assignee: PAYU PAYMENTS PRIVATE LTD.
G06Q20/4012G06Q20/065G06Q20/405
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,354,099
App. No.
17/717,360
Granted
Jul 8, 2025
Kind
B2
Abstract

Systems, methods and computer program code are provided to select a payment gateway for use in a transaction which include receiving information identifying the transaction, identifying a set of available payment gateways, calculating a success probability associated with each payment gateway in the set of available payment gateways, selecting the payment gateway having the highest success probability, and causing the transaction to be processed using the selected payment gateway.

Claims (60)

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.

2. The computer-implemented method of claim 1 , wherein the information identifying the transaction includes information identifying a payment amount, and payment account information, the payment account information including a bank identification number (“BIN”).

3. The computer-implemented method of claim 2 , further comprising:

identifying at least a first payment gateway that is incompatible with the BIN; and

removing the at least first payment gateway from the set of available payment gateways.

4. The computer-implemented method of claim 1 , wherein the at least first configuration parameter further specifies a merchant preference for at least one of: (i) a maximum transaction cost value, and (ii) a minimum success rate threshold.

5. The computer-implemented method of claim 1 , further comprising:

identifying at least a first payment gateway having a latency value that exceeds the maximum latency value; and

selecting the at least first payment gateway only if the at least first payment gateway is the only remaining gateway in the set of available payment gateways.

6. The computer-implemented method of claim 4 , further comprising:

identifying at least a first payment gateway having a transaction cost that exceeds the maximum cost value; and

selecting the at least first payment gateway only if the at least first payment gateway is the only remaining gateway in the set of available payment gateways.

7. The computer-implemented method of claim 1 , wherein the prior success probability is success rate calculated for the payment gateway in a prior transaction.

8. The computer-implemented method of claim 7 , wherein the prior success rate factor is a factor to adjust the prior success probability associated with the prior transaction based on an actual success of the prior transaction.

9. The computer-implemented method of claim 1 , wherein the current success rate is based on a percentage of successful transactions involving the payment gateway.

10. The computer-implemented method of claim 1 , further comprising:

identifying that the transaction is a repeat transaction;

identifying a prior payment gateway used in a prior transaction; and

removing the prior gateway from the set of available payment gateways.

11. The computer-implemented method of claim 1 , wherein causing the transaction to be processed using the selected payment gateway includes:

causing a payment authorization request message to be transmitted to the selected payment gateway.

12. The computer-implemented method of claim 11 , further comprising:

receiving a response to the payment authorization request message, the response associated with one of a failure reason and a success reason.

13. The computer-implemented method of claim 12 , further comprising:

mapping the failure reason to a standardized set of failure reasons.

14. The computer-implemented method of claim 13 , further comprising:

determining that the failure reason is a type of failure reason that impacts the prior success rate of the payment gateway; and

storing the failure reason in a data store for use in calculating future success rates.

15. A system comprising:

a communication device to receive information associated with a transaction from a remote device, the information including information identifying a merchant associated with the transaction;

a processing unit; and

a memory storage device including program code that when executed by the processing unit causes to the system to:

identify 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, the at least first configuration parameter includes a maximum latency value;

identify 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;

determine, 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 processing unit, (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 processed by the processor;

operate 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;

select 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

cause the transaction to be processed using the selected payment gateway.

16. The system of claim 15 , wherein the information identifying the transaction includes information identifying a merchant, a payment amount, and payment account information, the payment account information including a bank identification number (“BIN”).

17. The system of claim 16 , further comprising program code that causes the system to:

identify at least a first payment gateway that is incompatible with the BIN; and

remove the at least first payment gateway from the set of available payment gateways.

18. The system of claim 15 , wherein the at least first configuration parameter further specifies a merchant preference for at least one of: (i) a maximum transaction cost value, and (ii) a minimum success rate threshold.

19. The system of claim 18 , further comprising program code that causes the system to:

remove any payment gateway from the set of available payment gateways that at least one of (i) exceeds the maximum cost value and (ii) has a latency value that exceeds the maximum latency value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2023
From: MIH PAYMENTS HOLDINGS B.V.
To: PAYU PAYMENTS PRIVATE LTD.
Reel/Frame 063243/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: MALASI, VIVEK; V, SAGAR KUMAR; S, SUDHINDRA MAGADI; NAYAK, SUDEEP
To: MIH PAYMENTS HOLDINGS B.V.
Reel/Frame 059558/0784 →
Continuity (1)
Related Publication 20230325832A1 · Oct 12, 2023
References Cited (10)
US 7774402B2 · Singh et al. · 2010 [cited by applicant]
US 8639846B2 · Singh et al. · 2014 [cited by applicant]
US 11080711B2 · Levy et al. · 2021 [cited by applicant]
US 11836715B1 · Dinan · 2023 [cited by examiner]
US 20070233603A1 · Schmidgall et al. · 2007 [cited by applicant]
US 20200058029A1 · Spitz · 2020 [cited by examiner]
US 20200134628A1 · Jia · 2020 [cited by examiner]
US 20210125179A1 · Mach · 2021 [cited by examiner]
US 20220222662A1 · Ketharaju · 2022 [cited by examiner]
WO 2020123013A1 · 2020 [cited by applicant]