IP Library Granted Patent US 12711475
Granted Patent B2
US 12711475 · App. 18/477,085 · Granted Aug 18, 2026

Real time cross-matching data

Inventors: Raman Chinnappan (Foster City, CA); Raja Veeramani (Foster City, CA); Guyon Krug (San Francisco, CA)
Assignee: Visa International Service Association
G06Q20/102G06Q20/38G06Q30/0234
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 12711475
App. No.
18/477,085
Granted
Aug 18, 2026
Kind
B2
Abstract

When a merchant fails to provide payment service details, a system matches in real time information from a data processor with data from the payment service to allow matching a request from the payment system to a particular transaction. The matching system may use high speed buffers and hardware logic to rapidly match related data from different sources at speeds of thousands a second or more. This allows characterization of the transaction for recognition of current offers applicable to the transaction as well as generation of future offers.

Claims (61)

1 . A system comprising:

a transaction processor to:

receive a first data set for a first transaction from a merchant, wherein the first data set comprises a first transaction time; and

process a payment based on the first data set; and

a real time matching system comprising:

a decision engine comprising:

a first-in first-out (FIFO) buffer for queuing first incoming data for a plurality of transactions from the transaction processor, wherein the first incoming data comprises the first data set for the first transaction;

a FIFO controller for managing data flow in the FIFO buffer;

a payment service event buffer for queuing second incoming data from a payment service, wherein the second incoming data comprises a second dataset for a second transaction initiated at a user device via an interface provided by the payment service, wherein the second dataset comprises a second transaction time; and

matching logic to:

determine a time range encompassing the second transaction time;

cause the FIFO controller to obtain a subset of the first incoming data from the FIFO buffer, the subset of the first incoming data corresponding to a subset of the plurality of transactions from the transaction processor having a transaction time within the time range, wherein the subset of the first incoming data comprises the first data set for the first transaction;

access the second data set from the payment service event buffer;

determine the first transaction and the second transaction are the same transaction based on comparing the second transaction time to transaction times associated with the subset of the first incoming data from the FIFO buffer; and

match the first data set to the second data set; and

an operations module to generate a user interface action for display in real-time, via the interface at the user device during the second transaction, based on the decision engine matching the first data set to the second data set.

2 . The system of claim 1 , wherein the matching logic implements in hardware a decision tree for determining the first transaction and the second transaction are the same transaction based on the first transaction time and the second transaction time.

3 . The system of claim 1 , wherein the operations module is to receive match data from the decision engine, and wherein the operations module comprises an interface to an offers engine.

4 . The system of claim 3 , wherein the operations module comprises an interface to the payment service.

5 . The system of claim 1 , wherein the FIFO controller is configured to cause the FIFO buffer to provide the subset of the first incoming data to the matching logic based on the determined time range.

6 . The system of claim 5 , wherein the decision engine further comprises:

a first high-speed interface configured to obtain the first incoming data from the transaction processor and provide the first incoming data to the FIFO buffer; and

a second high-speed interface configured to obtain the second incoming data from the payment and provide the second incoming data to the payment service event buffer.

7 . The system of claim 6 , wherein the decision engine further comprises an output buffer configured to:

obtain and queue the matched the second data set; and

provide the matched the second data set to the operations module, wherein the operations module generates the user interface action based on obtaining the matched the second data from the output buffer.

8 . The system of claim 5 , wherein the matching logic comprises a programmable logic array configured to determine the time determine a time range encompassing the second transaction time, cause a FIFO controller to obtain the subset of the first incoming data, cause the payment service event buffer to provide the second data set, determine the first transaction and the second transaction are the same transaction, and match the first data set to the second data set.

9 . A method of cross-matching data from disparate real time database systems, the method comprising:

receiving a first dataset from a payment service at a first high speed data interface of a decision engine, the first dataset related to a transaction initiated by a user at a user device via a user interface provided by the payment service, the first dataset comprising a first transaction time;

queuing, by a payment service event buffer of the decision engine, the first dataset received at the first high speed data interface;

receiving a second dataset from a data processor at a second high speed data interface of the decision engine, the second dataset related to all transactions processed by the data processor;

queuing, by a first-in-first-out (FIFO) buffer of the decision engine, the second dataset received by the second high speed data interface;

determining, by matching logic of the decision engine, a time range encompassing the first transaction time;

causing, by the matching logic, a FIFO controller of the decision engine to obtain a subset of the second dataset from the FIFO buffer, the subset of the second dataset corresponding to transactions processed by the data processor having a transaction time within the time range;

accessing, by the matching logic, the first dataset from the payment service event buffer;

matching, in real time by the matching logic, the transaction initiated by the user described in the first dataset to a corresponding payment transaction processed by the data processor based on comparing the first transaction time to transaction times of the transactions corresponding to the subset of the second dataset provided by the FIFO buffer;

responsive to the matching, sending transaction data from the second dataset corresponding to the payment transaction to an offers engine via an operations module;

receiving from the operations module a record including offer data; and

generating, via the operations module, user interface code for execution at the user device during the transaction initiated by the user, the user interface code incorporating the offer data.

10 . The method of claim 9 , further comprising:

storing the first and second datasets in an activity database.

11 . The method of claim 9 , further comprising:

sending transaction data from the first dataset to the offers engine via the operations module.

12 . The method of claim 11 , wherein matching, in real time by the matching logic, the transaction initiated by the user described in the first dataset to the corresponding payment transaction processed by the data processor comprises comparing, by the matching logic, a first transaction time for the transaction initiated by the user described in the first dataset and a second transaction time for the corresponding payment transaction processed by the data processor.

13 . The method of claim 12 , further comprising:

managing, by the FIFO controller, data flow of the second dataset in the FIFO buffer based on the first transaction time.

14 . A real-time matching system, comprising:

a decision engine comprising:

a first-in first-out (FIFO) buffer for queuing first incoming data for a plurality of transactions from a transaction processor, wherein the first incoming data comprises a first dataset for a first transaction and; wherein the first dataset comprises a first transaction time;

a FIFO controller for managing data flow in the FIFO buffer;

a payment service event buffer for queuing second incoming data from the payment service, wherein the second incoming data comprises a second dataset for a second transaction, the second transaction initiated at a user device via an interface provided by the payment service, wherein the second dataset comprises a second transaction time; and

matching logic to:

determine a time range encompassing the second transaction time;

cause the FIFO controller to obtain a subset of the first incoming data from the FIFO buffer, the subset of the first incoming data corresponding to a subset of the plurality of transactions from the transaction processor having a transaction time within the time range, wherein the subset of the first incoming data comprises the first data set for the first transaction;

access the second data set from the payment service event buffer;

determine the first transaction and the second transaction are the same transaction based on comparing the second transaction time to transaction times associated with the subset of the first incoming data from the FIFO buffer; and

match the first data set to the second data set; and

an operations module to generate a user interface action for display in real-time, via at interface at the user device during user engagement associated with the second transaction, based on the decision engine matching the first data set to the second data set.

15 . The system of claim 14 , wherein the matching logic implements in hardware a decision tree for determining the first transaction and the second transaction are the same transaction based on the first transaction time and the second transaction time.

16 . The system of claim 14 , wherein the operations module is to receive match data from the decision engine, and wherein the operations module comprises an interface to an offers engine.

17 . The system of claim 16 , wherein the operations module comprises an interface to the payment service.