IP Library Granted Patent US 12,067,537
Granted Patent B2
US 12,067,537 · App. 18/382,152 · Granted Aug 20, 2024

System and method for facilitating programmatic verification of transactions

Inventors: William Hockey (San Francisco, CA); Zach Perret (San Francisco, CA); Charles Li (San Francisco, CA)
Assignee: Plaid Inc.
G06Q20/023G06Q20/3223G06Q20/4014
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,067,537
App. No.
18/382,152
Granted
Aug 20, 2024
Kind
B2
Abstract

Systems and methods for programmatic access of a financial institution system. A normalized API request provided by an application system specifies user information corresponding to at least one account endpoint of an external financial institution system. Responsive to the request, at least one application proxy instance associated with the normalized API request is used to collect transaction information from a corresponding financial institution system by providing the financial institution system with a proprietary API request that specifies at least account credentials associated with the user information. The transaction information is included in at least one proprietary API response provided by the financial institution system. A normalized API response is generated based on the collected transaction information and provided to the application system. Each application proxy instance is constructed to simulate an application of the corresponding financial institution system on behalf of a user associated with the application proxy instance.

Claims (64)

1. A computer-implemented method for retrieving transaction endpoint data to facilitate transaction processing, the method comprising:

receiving, by a computing platform from a computing device and via a normalized application programming interface (API), a request for a transaction associated with at least a first financial account held by a first financial institution and a second financial account held by a second financial institution,

wherein the first financial institution provides a first user application specific to the first financial institution that enables users of the first financial institution to access data stored by the first financial institution via a first API specific to the first financial institution, and

wherein the second financial institution provides a second user application specific to the second financial institution that enables users of the second financial institution to access data stored by the second financial institution via a second API specific to the second financial institution,

selecting, by the computing platform and from a plurality of stored application proxy instances in an application proxy system, a first application proxy instance of the first user application, wherein the first application proxy instance simulates the first user application and is specific to a user of the first financial account and the first financial institution;

initiating, by the application proxy system, using the first application proxy instance and via the first API specific to the first financial institution, a communication session with the first financial institution to retrieve transaction addressing information of the first financial account;

retrieving, by the application proxy system from the first financial institution and using the first application proxy instance, the transaction addressing information of the first financial account;

selecting, by the computing platform and from the plurality of stored application proxy instances in the application proxy system, a second application proxy instance of the second user application, wherein the second application proxy instance simulates the second user application and is specific to a user of the second financial account and the second financial institution;

initiating, by the application proxy system, using the second application proxy instance and via the second API specific to the second financial institution, a communication session with the second financial institution to retrieve transaction addressing information associated of the second financial account;

retrieving, by the application proxy system from the second financial institution and using the second application proxy instance, the transaction addressing information of the second financial account; and

initiating, by the computing platform and based on the retrieved transaction addressing information of the first financial account and the transaction addressing information of the second financial account, the transaction.

2. The method of claim 1 , wherein retrieving the transaction addressing information of the first financial account or retrieving the transaction addressing information of the second financial account includes retrieving, using a corresponding application proxy instance, one or more financial documents including the transaction addressing information.

3. The method of claim 2 , wherein retrieving the transaction addressing information comprises one of:

scraping content of the one or more financial documents to identify the transaction addressing information; or

executing an extraction script constructed to isolate the transaction addressing information.

4. The method of claim 2 , wherein the one or more financial documents include an account statement of at least one of the first financial account or the second financial account.

5. The method of claim 1 , wherein the transaction addressing information includes an account number of a corresponding account and a routing number of a corresponding financial institution.

6. The method of claim 1 , wherein the user of the first financial account is a same user as the user of the second financial account.

7. The method of claim 1 , wherein the user of the first financial account is a different user from the user of the second financial account.

8. The method of claim 1 , wherein the request for the transaction associated with at least the first financial account and the second financial account includes an account token for at least one of the first financial account or the second financial account.

9. The method of claim 8 , wherein selecting at least one of the first application proxy instance or the second application proxy instance is performed using the account token for the at least one of the first financial account or the second financial account.

10. A computing platform for retrieving transaction endpoint data to facilitate transaction processing comprising:

at least one hardware processor;

a communication interface communicatively coupled to the at least one hardware processor; and

a memory storing computer-readable instructions that, when executed by the at least one hardware processor, cause the computing platform to:

receive from a computing device and via a normalized application programming interface (API), a request for a transaction associated with at least a first financial account held by a first financial institution and a second financial account held by a second financial institution,

wherein the first financial institution provides a first user application specific to the first financial institution that enables users of the first financial institution to access data stored by the first financial institution via a first API specific to the first financial institution, and

wherein the second financial institution provides a second user application specific to the second financial institution that enables users of the second financial institution to access data stored by the second financial institution via a second API specific to the second financial institution,

select, from a plurality of stored application proxy instances, a first application proxy instance of the first user application, wherein the first application proxy instance simulates the first user application and is specific to a user of the first financial account and the first financial institution;

initiate, using the first application proxy instance and via the first API specific to the first financial institution, a communication session with the first financial institution to retrieve transaction addressing information of the first financial account;

retrieve, from the first financial institution and using the first application proxy instance, the transaction addressing information of the first financial account;

select, from the plurality of stored application proxy instances, a second application proxy instance of the second user application, wherein the second application proxy instance simulates the second user application and is specific to a user of the second financial account and the second financial institution;

initiate, using the second application proxy instance and via the second API specific to the second financial institution, a communication session with the second financial institution to retrieve transaction addressing information of the second financial account;

retrieve, from the second financial institution and using the second application proxy instance, the transaction addressing information of the second financial account; and

initiate, based on the retrieved transaction addressing information of the first financial account and the transaction addressing information of the second financial account, the transaction.

11. The computing platform of claim 10 , wherein retrieving the transaction addressing information of the first financial account or retrieving the transaction addressing information of the second financial account includes retrieving, using a corresponding application proxy instance, one or more financial documents including the transaction addressing information.

12. The computing platform of claim 11 , wherein the instructions, when executed, cause the computing platform to retrieve the transaction addressing information of the first financial account or retrieve the transaction addressing information of the second financial account by causing the computing platform to:

scrape content of the one or more financial documents to identify the transaction addressing information; or

execute an extraction script constructed to isolate the transaction addressing information.

13. The computing platform of claim 11 , wherein the one or more financial documents include an account statement of at least one of the first financial account or the second financial account.

14. The computing platform of claim 10 , wherein the transaction addressing information includes an account number of a corresponding account and a routing number of a corresponding financial institution.

15. The computing platform of claim 10 , wherein the user of the first financial account is a same user as the user of the second financial account.

16. The computing platform of claim 10 , wherein the user of the first financial account is a different user from the user of the second financial account.

17. The computing platform of claim 10 , wherein the request for the transaction with at least the first financial account and the second financial account includes an account token for at least one of the first financial account or the second financial account.

18. The computing platform of claim 17 , wherein the instructions, when executed, cause the computing platform to select the first application proxy instance using the account token for the first financial account or select the second application proxy instance using the account token for the second financial account.

19. One or more non-transitory computer-readable media storing instructions that, when executed, cause a computing platform to:

receive from a computing device and via a normalized application programming interface (API), a request for a transaction associated with at least a first financial account held by a first financial institution and a second financial account held by a second financial institution,

wherein the first financial institution provides a first user application specific to the first financial institution that enables users of the first financial institution to access data stored by the first financial institution via a first API specific to the first financial institution, and

wherein the second financial institution provides a second user application specific to the second financial institution that enables users of the second financial institution to access data stored by the second financial institution via a second API specific to the second financial institution,

select, from a plurality of stored application proxy instances, a first application proxy instance of the first user application, wherein the first application proxy instance simulates the first user application and is specific to a user of the first financial account and the first financial institution;

initiate, using the first application proxy instance and via the first API specific to the first financial institution, a communication session with the first financial institution to retrieve transaction addressing information of the first financial account;

retrieve, from the first financial institution and using the first application proxy instance, the transaction addressing information of the first financial account;

select, from the plurality of stored application proxy instances, a second application proxy instance of the second user application, wherein the second application proxy instance simulates the second user application and is specific to a user of the second financial account and the second financial institution;

initiate, using the second application proxy instance and via the second API specific to the second financial institution, a communication session with the second financial institution to retrieve transaction addressing information of the second financial account;

retrieve, from the second financial institution and using the second application proxy instance, the transaction addressing information of the second financial account; and

initiate, based on the retrieved transaction addressing information of the first financial account and the transaction addressing information of the second financial account, the transaction.

20. The one or more non-transitory computer-readable media of claim 19 , wherein retrieving the transaction addressing information of the first financial account or retrieving the transaction addressing information of the second financial account includes retrieving, using a corresponding application proxy instance, one or more financial documents including the transaction addressing information.

21. The one or more non-transitory computer-readable media of claim 20 , wherein the instructions, when executed, cause the computing platform to retrieve the transaction addressing information of the first financial account or retrieve the transaction addressing information of the second financial account by causing the computing platform to:

scrape content of the one or more financial documents to identify the transaction addressing information; or

execute an extraction script constructed to isolate the transaction addressing information.

22. The one or more non-transitory computer-readable media of claim 20 , wherein the one or more financial documents include an account statement of at least one of the first financial account or the second financial account.

23. The one or more non-transitory computer-readable media of claim 19 , wherein the user of the first financial account is a same user as the user of the second financial account.

24. The one or more non-transitory computer-readable media of claim 19 , wherein the user of the first financial account is a different user from the user of the second financial account.

25. The one or more non-transitory computer-readable media of claim 19 , wherein the request for the transaction with at least the first financial account and the second financial account includes an account token for at least one of the first financial account or the second financial account.

Assignments (2)
CHANGE OF NAME Recorded Nov 14, 2023
From: PLAID TECHNOLOGIES, INC.
To: PLAID INC.
Reel/Frame 065566/0735 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2023
From: HOCKEY, WILLIAM; PERRET, ZACH; LI, CHARLES
To: PLAID TECHNOLOGIES, INC.
Reel/Frame 065537/0001 →
Continuity (7)
Continuation 17533728 · Nov 23, 2021
Continuation 16800543 · Feb 25, 2020
Continuation 15455959 · Mar 10, 2017
Continuation 14790897 · Jul 2, 2015
Continuation 14719117 · May 21, 2015
Provisional Application 62001461 · May 21, 2014
Related Publication 20240046271A1 · Feb 8, 2024