US 11,810,121 B2
Systems and methods for end to end encryption utilizing a commerce platform for card not present transactions
Jonathan Wall, San Francisco, CA (US); Ross Favero, Oakland, CA (US); Gautam Seshan Raj, Sunyvale, CA (US); and Eric Glass, Denver, CO (US)
Assigned to STRIPE, INC., San Francisco, CA (US)
Filed by Stripe, Inc., San Francisco, CA (US)
Filed on Jul. 26, 2019, as Appl. No. 16/523,456.
Prior Publication US 2021/0027297 A1, Jan. 28, 2021
Int. Cl. G06Q 20/40 (2012.01); G06Q 20/38 (2012.01); G06Q 20/32 (2012.01)
CPC G06Q 20/409 (2013.01) [G06Q 20/3829 (2013.01); G06Q 20/322 (2013.01); G06Q 2220/00 (2013.01)] 27 Claims
OG exemplary drawing
 
1. A method for a server computer system processing a transaction between a merchant system and a customer system, the customer system associated with a customer of the merchant system, the method comprising:
periodically transmitting, by the server computer system to the merchant system, sets of pluralities of transient public encryption keys that are each associated with a period of validity, where a new set of a plurality of transient encryption keys is transmitted to the merchant system for each new periodic interval;
receiving, at a server computer system, a transaction request from the merchant system, wherein the transaction request is generated by the merchant system and comprises a card identifier, encrypted payment card data, and data indicative of a transaction time, wherein the card identifier is determined from card data for a payment card used in the transaction, the encrypted payment card data comprises at least an encryption of a payment account number generated by the merchant system upon ingestion of the card data by the merchant system, and wherein the merchant system selects a public encryption key from among a plurality of transient public encryption keys of a set of transient public encryption keys to perform the encryption based on the card identifier;
decrypting, by the server computer system, the encrypted payment card data using a private encryption key comprising selecting a set of private encryption keys that correspond to the set of transient public encryption keys from among two or more sets of pluralities of private encryption keys based at least on the transaction time, and in response to selecting the set of private encryption keys, selecting the private encryption key from the selected set of private encryption keys based on the card identifier;
authorizing, by the server computer system in communication with one or more authorization systems, the transaction using the decrypted payment card data; and
in response to the one or more authorization systems authorizing the transaction, the server computer system returning a transaction authorization for the transaction request to the merchant system.