IP Library Granted Patent US 12,555,117
Granted Patent B2
US 12,555,117 · App. 18/373,845 · Granted Feb 17, 2026

Architectures, systems, and methods for card based transactions

Inventor: Jonathan Wall (San Francisco, CA)
Assignee: Stripe, Inc.
G06Q20/4018G06Q20/341G06Q20/3827G06Q20/3829G06Q20/409G06Q20/425
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,555,117
App. No.
18/373,845
Granted
Feb 17, 2026
Kind
B2
Abstract

A method and apparatus for processing a transaction between a merchant and a customer of the merchant are described. The method may include generating, at an ingress server, an initial transaction message by generating a deterministic identifier for a card used in the transaction from card data received for the transaction and encrypting the received card data. The method may also include providing the initial transaction message from the ingress server to a payment server. Furthermore, the method may include updating, by the payment server in response to an authorization of the transaction determined based at least in part on the deterministic identifier for the card, the initial transaction message with authorization data, and providing the updated initial transaction message from the payment server to an egress server. The method may also include communicating a final transaction message to an authorization system for processing the transaction between the merchant and the customer based on the card data.

Claims (68)

1 . A method for reducing latency of authorization during processing of a network operation in a distributed network system comprising an ingress server, a server, and a plurality of egress servers, the method comprising:

receiving, by the server of the distributed network system, a network operation message from the ingress server of the distributed network system, the network operation message comprising:

encrypted data of a customer,

a deterministic card identifier associated with the encrypted data for the network operation between a merchant and the customer of the merchant, the deterministic card identifier generated by applying a cryptographic function on data of the customer and a cryptographic salt selected based on the data, the deterministic card identifier used to index the encrypted data in a vault data store, and

one or more network operation attributes;

performing, by the server, an analysis based on the one or more network operation attributes and the deterministic card identifier to detect network operation fraud;

in response to detection of a legitimate network operation based on the analysis, authorizing, by the server, the network operation;

in response to authorizing the network operation, generating, by the server, a token to reference the network operation in the distributed network system, wherein the token is a non-sensitive data element;

causing, by the server, transmission of the token to a merchant server to initiate the authorized network operation;

performing, by the server, load balancing across the plurality of egress servers of the distributed network system;

selecting, by the server, an egress server among the plurality of egress servers of the distributed network system to which the network operation message for the authorized network operation is to be transmitted based on at least a geographical location of the egress server in relation to an authorization server and performance of the load balancing across the plurality of egress servers, such that a latency in transmitting the network operation message is reduced and the distributed network system is continuously available;

transmitting, by the server to the selected egress server, the network operation message for the authorized network operation to cause the selected egress server to decrypt the encrypted data for storage in the vault store and communicate the token with the merchant server to clear the authorized network operation; and

wherein communications originating from outside the distributed network system are blocked to prevent access to the selected egress server.

2 . The method of claim 1 , wherein the encrypted data is obtained from the customer for the network operation between the merchant and the customer, and the encrypted data is not exposed to the server in unencrypted form.

3 . The method of claim 1 , wherein in response to a detection of the legitimate network operation based on the analysis, the method further comprises:

generating, by the server, a token that identifies the network operation; and

transmitting, by the server, the token to one or more of the merchant and the ingress server.

4 . The method of claim 1 , wherein the egress server is selected based on:

a geographic proximity between an authorization network server and the selected egress server,

a geography of card issuer/bank,

a legal requirement for the network operation and/or card associated with a geographic region in which egress of a final network operation message will occur, or

a combination thereof.

5 . The method of claim 1 , wherein the distributed network system comprises a plurality of ingress servers including the ingress server, a plurality of servers including the server, and a plurality of egress servers including the egress server, and the distributed network system is continuously active architecture for providing network operation processing services in event of a failure of one or more of the plurality of ingress servers, servers, and/or egress servers.

6 . The method of claim 1 , wherein the one or more network operation attributes comprise originating region of the network operation, issuing bank, card type, card brand, and network operation amount.

7 . The method of claim 1 ,

wherein network operation messages that do not originate from ingress servers of the distributed network system, and electronic communications originating from a public network are blocked from being sent to the server; and

wherein network operation messages for authorized network operations that do not originate from within the distributed network system, and electronic communications originating from the public network are blocked from being sent to the egress server.

8 . The method of claim 7 , wherein rejection of messages and electronic communications by the server and the egress server enforce a strict flow of communications within the distributed network system.

9 . The method of claim 1 , wherein the network operation is a card present network operation or a card not present network operation.

10 . The method of claim 1 , wherein communications exchanged between the ingress server and the server, and communications exchanged between the server and the egress server, are each transmitted using a secure communications protocol.

11 . A non-transitory computer readable storage medium including instructions that, when executed by a plurality of processors of a distributed processing system comprising an ingress server, a server, and a plurality of egress servers, cause the plurality of processors to perform operations for reducing latency of authorization during processing of a network operation in the distributed processing system, the operations comprising:

receiving, by the server of the distributed processing system, a network operation message from the ingress server of the distributed processing system, the network operation message comprising:

encrypted data of a customer,

a deterministic card identifier associated with the encrypted data for the network operation between a merchant and the customer of the merchant, the deterministic card identifier generated by applying a cryptographic function on data of the customer and a cryptographic salt selected based on the data, the deterministic card identifier used to index the encrypted data in a vault data store, and

one or more network operation attributes;

performing, by a detection system of the server, an analysis based on the one or more network operation attributes and the deterministic card identifier to detect network operation fraud;

in response to detection of a legitimate network operation based on the analysis, authorizing, by the server, the network operation;

in response to authorizing the network operation, generating, by the server, a token to reference the network operation in the distributed network system, wherein the token is a non-sensitive data element;

causing, by the server, transmission of the token to a merchant server to initiate the authorized network operation;

performing, by the server, load balancing across the plurality of egress servers of the distributed network system;

selecting, by the server, an egress server among the plurality of egress servers of the distributed processing system to which the network operation message for the authorized network operation is to be transmitted based on at least a geographical location of the egress server in relation to an authorization server and load balancing across the plurality of egress servers, such that a latency in transmitting the network operation message is reduced and the distributed network system is continuously available;

transmitting, by the server to the selected egress server, the network operation message for the authorized network operation to cause the selected egress server to decrypt the encrypted data for storage in the vault store and communicate the token with the merchant server to clear the authorized network operation; and

wherein communications originating from outside the distributed network system are blocked to prevent access to the selected egress server.

12 . The non-transitory computer readable storage medium of claim 11 , wherein the encrypted data is obtained from the customer for the network operation between the merchant and the customer, and the encrypted data is not exposed to the server in unencrypted form.

13 . The non-transitory computer readable storage medium of claim 11 , wherein the distributed processing system comprises a plurality of ingress servers including the ingress server, a plurality of payment servers including the server, and a plurality of egress servers including the egress server, and the distributed processing system is a continuously active architecture for providing processing services in event of a failure of one or more of the plurality of ingress servers, servers, and/or egress servers.

14 . A distributed processing system for reducing latency of authorization during processing of a network operation, comprising:

a server comprising at least one processor coupled with memory configured to:

receive a network operation message from an ingress server of the distributed processing system, the network operation message comprising:

encrypted data of a customer,

a deterministic card identifier associated with the encrypted data for a network operation between a merchant and the customer of the merchant, the deterministic card identifier generated by applying a cryptographic function on data of the customer and a cryptographic salt selected based on the data, the deterministic card identifier used to index the encrypted data in a vault data store, and

one or more network operation attributes,

perform, by a detection system of the server, an analysis based on the one or more network operation attributes and the deterministic card identifier to detect network operation fraud;

in response to detection of a legitimate network operation based on the analysis, authorize the network operation;

in response to authorizing the network operation, generate a token to reference the network operation in the distributed network system, wherein the token is a non-sensitive data element;

cause transmission of the token to a merchant server to initiate the authorized network operation;

perform load balancing across the plurality of egress servers of the distributed network system;

select an egress server among a plurality of egress servers of the distributed processing system to which the network operation message for the authorized network operation is to be transmitted based on at least a geographical location of the egress server in relation to an authorization server and performance of load balancing across the plurality of egress servers, such that a latency in transmitting the network operation message is reduced and the distributed network system is continuously available;

transmit, to the selected egress server, the network operation message for the authorized network operation to cause the selected egress server to decrypt the encrypted data for storage in the vault store and communicate the token with the merchant server to clear the authorized network operation; and

wherein communications originating from outside the distributed network system are blocked to prevent access to the selected egress server.

15 . The method of claim 1 , wherein the distributed network system is executed across a plurality of computing clusters, and

wherein performing the load balancing further comprises performing the load balancing across the plurality of computing clusters, and

wherein selecting the egress server further comprises selecting, from the plurality of computing clusters, a computing cluster including the egress server based on at least the geographical location of the computing cluster and performance of load balancing across the plurality of computing clusters.

16 . The non-transitory computer readable storage medium of claim 11 , wherein the distributed network system is executed across a plurality of computing clusters, and

wherein performing the load balancing further comprises performing the load balancing across the plurality of computing clusters, and

wherein selecting the egress server further comprises selecting, from the plurality of computing clusters, a computing cluster including the egress server based on at least the geographical location of the computing cluster and performance of load balancing across the plurality of computing clusters.

17 . The distributed processing system of claim 14 , wherein the server is further configured to:

perform the load balancing across a plurality of computing clusters executing the plurality of egress servers; and

select, from the plurality of computing clusters, a computing cluster including the egress server based on at least the geographical location of the computing cluster and performance of load balancing across the plurality of computing clusters.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 074264/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: WALL, JONATHAN
To: STRIPE, INC.
Reel/Frame 068541/0969 →
Continuity (2)
Continuation 16523528 · Jul 26, 2019
Related Publication 20240020702A1 · Jan 18, 2024
References Cited (33)
US 5530887A · Harper et al. · 1996 [cited by applicant]
US 8954740B1 · Moscaritolo et al. · 2015 [cited by applicant]
US 9830596B2 · Collison et al. · 2017 [cited by applicant]
US 9913141B2 · Ulrich et al. · 2018 [cited by applicant]
US 10659379B2 · Bonig · 2020 [cited by examiner]
US 10986031B2 · Bonig · 2021 [cited by examiner]
US 20040052377A1 · Mattox et al. · 2004 [cited by applicant]
US 20090245515A1 · Bond et al. · 2009 [cited by applicant]
US 20120143770A1 · Pauker et al. · 2012 [cited by applicant]
US 20130018795A1 · Kolhatkar · 2013 [cited by examiner]
US 20130018796A1 · Kolhatkar · 2013 [cited by examiner]
US 20140164254A1 · Dimmick · 2014 [cited by applicant]
US 20150019443A1 · Sheets · 2015 [cited by examiner]
US 20170048708A1 · Ulrich et al. · 2017 [cited by applicant]
US 20180199197A1 · Ulrich et al. · 2018 [cited by applicant]
US 20180225653A1 · Vokes et al. · 2018 [cited by applicant]
US 20190005499A1 · Wall et al. · 2019 [cited by applicant]
US 20190019169A1 · Mclaughlin et al. · 2019 [cited by applicant]
US 20190205993A1 · Rodriguez et al. · 2019 [cited by applicant]
US 20200036809A1 · Ulrich et al. · 2020 [cited by applicant]
CA 3073981A1 · 2019 [cited by applicant]
CN 105556553A · 2016 [cited by applicant]
EP 3373556A1 · 2018 [cited by examiner]
JP S62237570A · 1987 [cited by applicant]
JP 2011034556A · 2011 [cited by applicant]
JP 2012244380A · 2012 [cited by applicant]
JP 2016525254A · 2016 [cited by applicant]
Kumar, Algorithms for provisioning virtual private networks in the hose model, IEEE, Aug. 2002, vol. 10 (4), p. 565-578. [cited by examiner]
1st Examiner's Requisition dated Apr. 4, 2024 for CA App. 3,148,809 (4 pages). [cited by applicant]
Nur Abdullah, Geography and Routing in the Internet, ACM transactions on spatial algorithms and systems, 2018, vol. 4 (4), p. 1-16. [cited by applicant]
Office Action dated Apr. 1, 2024 on JP Appl. 2018/0225653 (3 pages incl. English translation). [cited by applicant]
First Office Action on CN Application 202080054189.6 dated Apr. 7, 2025 (7 pages). [cited by applicant]
Office Action on JP App. 2024-172141, dated Jun. 25, 2025 (7 pages incl. English Translation). [cited by applicant]