US 12,118,567 B2
Detecting and preventing duplicate transactions on a transaction exchange platform
Nishant Srivastava, Glen Allen, VA (US); Eric K. Barnum, Midlothian, VA (US); Suresh Chander Ramaraj, Glen Allen, VA (US); Eric Smith, Henrico, VA (US); Earle Michael Lee, Midlothian, VA (US); and Kumari Bhawprita, Glen Allen, VA (US)
Assigned to Capital One Services, LLC, McLean, VA (US)
Filed by Capital One Services, LLC, McLean, VA (US)
Filed on Jan. 3, 2023, as Appl. No. 18/149,544.
Application 18/149,544 is a continuation in part of application No. 17/389,045, filed on Jul. 29, 2021, granted, now 11,562,368.
Application 17/389,045 is a continuation of application No. 16/723,545, filed on Dec. 20, 2019, granted, now 11,080,120, issued on Aug. 3, 2021.
Prior Publication US 2023/0153826 A1, May 18, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 11/14 (2006.01); G06F 11/07 (2006.01); G06F 16/23 (2019.01); G06Q 20/08 (2012.01); G06Q 20/40 (2012.01); G06Q 20/42 (2012.01)
CPC G06Q 20/425 (2013.01) [G06F 11/0745 (2013.01); G06F 11/0757 (2013.01); G06F 11/1405 (2013.01); G06F 11/1474 (2013.01); G06F 16/2379 (2019.01); G06Q 20/085 (2013.01); G06Q 20/401 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving, by a transaction exchange platform, a first transaction object corresponding to a first payment transaction, wherein the first transaction object comprises first transaction details, wherein the transaction exchange platform includes a plurality of microservices;
determining, by a screening microservice of the plurality of microservices, whether the first transaction object is a duplicate payment transaction by comparing the first transaction details to a data structure comprising transaction details of a plurality of payment transactions;
determining, by the screening microservice and using a predictive model, whether the first transaction details indicate a likelihood that processing of the first transaction object is going to occur without any errors;
based on a determination that the first transaction object is not a duplicate of the plurality of payment transactions and based on a determination that the first transaction details indicate a likelihood that processing of the first transaction object is going to succeed, generating an identification token for the first transaction object;
adding the first transaction object to a streaming data platform, wherein adding the first transaction object to the streaming data platform comprises setting a workflow stage of the first transaction object to a pre-initialization stage;
retrieving, by a client registry microservice of the plurality of microservices and based on the workflow stage of the first transaction object being set to the pre-initialization stage, a plurality of transaction objects, wherein the plurality of transaction objects comprises the first transaction object;
determining, by the client registry microservice, whether the first payment transaction is permitted based on one or more rules;
prepending, by the client registry microservice and based on a determination that the first payment transaction is permitted, a client identifier to the identification token to generate a first transaction identifier;
updating, by the client registry microservice, the workflow stage of the first transaction object to an initialization state;
adding, by the client registry microservice, the first transaction object to the streaming data platform;
based on a determination that the workflow stage of the first transaction object indicates that the transaction object has completed processing, removing the first transaction object from the streaming data platform and outputting the first transaction object to a validation platform;
determining, by the validation platform, whether a format of the first payment transaction is valid;
based on a determination that the format of the first payment transaction is valid, appending a batch identifier to the first transaction identifier and adding the first transaction to a file; and
uploading the file to a portal to initiate the first payment transaction and a plurality of transactions contained in the file.