IP Library › Granted Patent US 12,639,704
Granted Patent B2
US 12,639,704 · App. 18/143,421 · Granted May 26, 2026

Method and apparatus for performing transactions over a network using cross-origin communication

Inventors: Patrick Collison (San Francisco, CA); John B. Collison (San Francisco, CA); Greg D. Brockman (San Francisco, CA); Saikat Chakrabarti (New York, NY); Ross A. Boucher (New York, NY)
Assignee: STRIPE, LLC
G06Q20/3829G06Q20/102G06Q20/38215G06Q20/385G06Q20/4097
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,639,704
App. No.
18/143,421
Granted
May 26, 2026
Kind
B2
Abstract

A transaction is conducted between a merchant site and a customer's electronic device using a payment processor. The merchant site is associated with a client-side application and a server-side application. The client-side application executes on the customer's electronic device. The client-side application electronically sends payment information retrieved from the customer's electronic device to the payment processor. The client-side application does not send the payment information to the server-side application. The payment processor creates a token from the payment information sent by the client-side application. The token functions as a proxy for the payment information. The payment processor electronically sends the token to the client-side application. The client-side application electronically sends the token to the server-side application for use by the server-side application in conducting the transaction. The payment information can thus be used by the server-side application via the token without the server-side application being exposed to the payment information.

Claims (52)

1 . A method for processing a request between a network site and an electronic device of a user, the method comprising:

setting up a secure communication tunnel to a third-party server from a client-side application executed by the electronic device of the user for cross-origin communication between the client-side application and the third party server, the client side-side application served to the electronic device of the user from a server of the network site;

receiving an input from the user as part of a submission from a form displayed to the user by the client-side application to a server-side application of the server of the network site, and wherein authorization information associated with an account of the user accompanies the submission;

in response to the submission, sending user information that includes the authorization information to the third-party server using the secure communication tunnel as part of the cross-origin communication;

creating a token by the third party server through the use of cross-origin communication between the client-side application and the third party server in response to the submission using the authorization information received from the user via the client-side application, wherein at least a portion of the user information accompanies the submission;

receiving, over the secure communication tunnel, the token from the third-party server for completing processing the request; and

sending the token to the server of the network site as part of completing the submission to process the request, wherein the token is sent by the client-side application without user intervention, and the token being used to authorize the use of the account of the user as part of completing the processing of the request.

2 . The method of claim 1 further comprising:

encrypting the at least the portion of the user information; and

comparing the encrypted user information with data stored in a database as part of completing the processing of the request.

3 . The method of claim 1 wherein the submission includes a request for the token, and further comprising:

detecting, by the third-party server, whether the submission includes sensitive information; and

redacting, by the third-party server, the sensitive information from the submission prior to sending the token.

4 . The method of claim 1 further comprising capturing, with an event handler, a submit event in response to the submission, the submission including a callback function to cause return of the token through the secure communication tunnel to be part of the submission to the server-side application.

5 . The method of claim 1 further comprising validating, by the third party server, the user information prior to creating the token.

6 . The method of claim 1 wherein the user information is sent to the third-party server over the secure communication tunnel using an iframe generated by the client side application when setting up the secure communication tunnel.

7 . The method of claim 1 wherein sending the created token to the server of the network site occurs without sending the user information to the server of the network site.

8 . The method of claim 1 wherein the network site has a secret key, and further comprising:

receiving the token and the secret key from the network site as part of completing the processing of the request; and

denying authorization of the request upon determining:

the token has been previously used,

the secret key is not valid, or

the secret key is not associated with the network site.

9 . A network arrangement for processing a request, the network arrangement comprising:

a network site having a network site server with a server-side application;

an electronic device associated with a user and communicably coupled to the network site, wherein the electronic device includes a client-side application for enabling a user to issue the request to the network site,

a third-party server,

wherein the electronic device is configured to:

set up a secure communication tunnel to the third-party server from the client-side application for cross-origin communication between the client-side application and the third party server, the client side-side application served to the electronic device of the user from the network site server;

receive an input from the user as part of a submission from a form displayed to the user by the client-side application to the server-side application of the network site server, and wherein authorization information associated with an account of the user accompanies the submission;

in response to the submission, send user information that includes the authorization information to the third-party server using the secure communication tunnel as part of the cross-origin communication;

receive, over the secure communication tunnel, a token from the third-party server for completing processing the request; and

send the token to the network site server as part of completing the submission to process the request, wherein the token is sent by the client-side application without user intervention, and the token being used to authorize the use of the account of the user as part of completing the processing of the request.

10 . The network arrangement of claim 9 further comprising:

encrypting the at least the portion of the user information; and

comparing the encrypted user information with data stored in a database as part of completing the processing of the request.

11 . The network arrangement of claim 9 further comprising capturing, with an event handler, a submit event in response to the submission, the submission including a callback function to cause return of the token through the secure communication tunnel to be part of the submission to the server-side application.

12 . The network arrangement of claim 9 further comprising validating, by the third party server, the user information prior to creating the token.

13 . The network arrangement of claim 9 wherein the user information is sent to the third-party server over the secure communication tunnel using an iframe generated by the client side application when setting up the secure communication tunnel.

14 . An article of manufacture having one or more non-transitory computer readable media storing instructions which, when executed by an electronic device of a user, a network site server and a third-party server of a network arrangement, cause the network arrangement to perform a method for processing a request of the user without requiring a preexisting relationship between the third-party server and the user while preventing access by the network arrangement to certain sensitive information of the user used to complete the processing of the request, the method comprising:

setting up a secure communication tunnel to a third-party server from a client-side application executed by the electronic device of the user for cross-origin communication between the client-side application and the third party server, the client side-side application served to the electronic device of the user from a server of the network site;

receiving an input from the user as part of a submission from a form displayed to the user by the client-side application to a server-side application of the server of the network site, and wherein authorization information associated with an account of the user accompanies the submission;

in response to the submission, sending user information that includes the authorization information to the third-party server using the secure communication tunnel as part of the cross-origin communication;

creating a token by the third party server through use of cross-origin communication between the client-side application and the third party server in response to the submission using the authorization information received from the user via the client-side application, wherein at least a portion of the user information accompanies the submission;

receiving, over the secure communication tunnel, the token from the third-party server for completing processing the request; and

sending the token to the server of the network site as part of completing the submission to process the request, wherein the token is sent by the client-side application without user intervention, and the token being used to authorize the use of the account of the user as part of completing the processing of the request.

15 . The article of manufacture of claim 14 wherein the submission includes a request for the token, and further wherein the method includes:

detecting, by the third-party server, whether the submission includes sensitive information; and

redacting, by the third-party server, the sensitive information from the submission prior to sending the token.

16 . The article of manufacture of claim 14 wherein the method further comprises:

receiving the token from the network site as part of completing the processing of the request; and

in response to determining that the token has been previously used, denying authorization of the request.

Continuity (6)
Continuation 16165859 · Oct 19, 2018
Continuation 15792253 · Oct 24, 2017
Continuation 15251907 · Aug 30, 2016
Continuation 13664808 · Oct 31, 2012
Provisional Application 61554246 · Nov 1, 2011
Related Publication 20240296444A1 · Sep 5, 2024
References Cited (75)
US 7047305B1 · Brooks · 2006 [cited by examiner]
US 7113930B2 · Eccles · 2006 [cited by examiner]
US 7457778B2 · Li et al. · 2008 [cited by applicant]
US 8010425B1 · Garcia, III · 2011 [cited by examiner]
US 8255280B1 · Kay · 2012 [cited by examiner]
US 8505106B1 · Bhosle · 2013 [cited by examiner]
US 9697517B1 · Chambers et al. · 2017 [cited by applicant]
US 10715536B2 · Klawe · 2020 [cited by examiner]
US 20010047306A1 · Garretson · 2001 [cited by examiner]
US 20020046189A1 · Morita · 2002 [cited by examiner]
US 20030005118A1 · Williams · 2003 [cited by examiner]
US 20030061170A1 · Uzo · 2003 [cited by examiner]
US 20030200184A1 · Dominguez · 2003 [cited by examiner]
US 20040044621A1 · Huang · 2004 [cited by examiner]
US 20040098350A1 · Labrou · 2004 [cited by examiner]
US 20050222961A1 · Staib · 2005 [cited by examiner]
US 20060031338A1 · Kang · 2006 [cited by examiner]
US 20060049255A1 · von Mueller · 2006 [cited by examiner]
US 20060235796A1 · Johnson · 2006 [cited by examiner]
US 20090023474A1 · Luo · 2009 [cited by examiner]
US 20090043696A1 · Ornce et al. · 2009 [cited by applicant]
US 20090048979A1 · Al-Herz et al. · 2009 [cited by applicant]
US 20090055170A1 · Nagahama · 2009 [cited by applicant]
US 20090060199A1 · von Mueller · 2009 [cited by examiner]
US 20090276623A1 · Jevans · 2009 [cited by examiner]
US 20090276835A1 · Jackson · 2009 [cited by examiner]
US 20100008245A1 · Viger · 2010 [cited by examiner]
US 20100010912A1 · Jones · 2010 [cited by examiner]
US 20100094755A1 · Kloster · 2010 [cited by applicant]
US 20100107088A1 · Hunt · 2010 [cited by examiner]
US 20100131415A1 · Sartipi · 2010 [cited by applicant]
US 20100257612A1 · Mcguire et al. · 2010 [cited by applicant]
US 20100312667A1 · Bishop et al. · 2010 [cited by applicant]
US 20100327054A1 · Hammad · 2010 [cited by examiner]
US 20110065420A1 · Reyes · 2011 [cited by examiner]
US 20110078762A1 · Bijlsma · 2011 [cited by examiner]
US 20110145424A1 · Sattari · 2011 [cited by examiner]
US 20110154466A1 · Harper et al. · 2011 [cited by applicant]
US 20110202465A1 · Mashhour · 2011 [cited by applicant]
US 20110208600A1 · Aharoni et al. · 2011 [cited by applicant]
US 20110246772A1 · O'Connor · 2011 [cited by examiner]
US 20110276418A1 · Velani · 2011 [cited by examiner]
US 20110276479A1 · Thomas · 2011 [cited by examiner]
US 20110307710A1 · Mcguire et al. · 2011 [cited by applicant]
US 20120016731A1 · Smith · 2012 [cited by examiner]
US 20120016799A1 · Killian · 2012 [cited by examiner]
US 20120030047A1 · Fuentes et al. · 2012 [cited by applicant]
US 20120173431A1 · Ritchie · 2012 [cited by examiner]
US 20120284506A1 · Kravitz · 2012 [cited by examiner]
US 20120317238A1 · Beard · 2012 [cited by examiner]
US 20130031462A1 · Calvo · 2013 [cited by examiner]
US 20130278622A1 · Sun · 2013 [cited by examiner]
US 20140324698A1 · Dolcino · 2014 [cited by examiner]
US 20150178819A1 · Kassemi · 2015 [cited by examiner]
US 20150188779A1 · McCanne · 2015 [cited by examiner]
US 20170091762A1 · Rezayee · 2017 [cited by examiner]
US 20170359723A1 · Pal · 2017 [cited by examiner]
US 20200394728A1 · Fishberg · 2020 [cited by examiner]
“International Preliminary Report on Patentability Chapter I” for PCT/US2012/062968, Date of Mailing: May 6, 2014, including “Written Opinion of the International Search Authority” dated Jan. 9, 2013, 7 pages. [cited by applicant]
“Notification of Transmittal of International Preliminary Report on Patentability Chapter I” for PCT/US2012/062968, Date of Mailing: May 15, 2014, 1 page. [cited by applicant]
Braintree php examples—environment, printout from web page: https://github.com/braintree/braintree_php_examples/blob/master/_environment.php posted on GitHub, original posting date appears to be May 27, 2011, printout d… [cited by applicant]
Chia-Ping Chen et al: “MVA Processing of Speech Features” IEEE Transactions on Audio, Speech and Language Processing, IEEE Service Center, New York, NY, USA, vol. 15, No. 1, Jan. 1, 2007 (Jan. 1, 2007), pp. 257-270. [cited by applicant]
Office Action for counterpart U.S. Appl. No. 13/664,808, 19 pages, mailed Jan. 4, 2017. [cited by applicant]
Office Action for counterpart U.S. Appl. No. 15/251,907, 19 pages, mailed Nov. 17, 2016. [cited by applicant]
Office Action for counterpart U.S. Appl. No. 15/251,907, Jun. 2, 2017, 24 pages. [cited by applicant]
Hersbach Adam A et al: “A beamformer post-filter for cochlear implant noise reduction”, The Journal of the Acoustical Society of America, American Institute of Physics for the Acoustical Society of America, New York, NY… [cited by applicant]
International Preliminary Report on Patentability received for PCT Patent Application No. PCT/US12/62968, mailed on Sep. 28, 2017, 11 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Patent Application No. PCT/US12/62968, mailed on Oct. 28, 2015, 13 pages. [cited by applicant]
Linc Wonham, Emerging E-Payment Providers, printout web page: http://www.websitemagazine.com/contenUblogs/posts/archive/2010/09/13/the-future-of- payments.aspx, originally posted on Sep. 13, 2010, printout date: Oct. 30… [cited by applicant]
Int'l Search Report and Written Opinion issued Jan. 9, 2013 in Int'l Application No. PCT/US12/62968. [cited by applicant]
Mildrey Carbonell et al. “Secure multiparty payment with an intermediary entity,” Computers & Security 28 (2009) 289-300, 12 pages. [cited by applicant]
PCI DSS Tokenization Guidelines, PCI Security Standards Council, Aug. 2011, 23 pages. [cited by applicant]
Wikipedia entry for “JSONP.” Printout from web page: http://en.wikipedia.org/w/index.php?Title=JSONP&oldid=518629882 Printout date: Oct. 24, 2012, original posting date: unknown, 4 pages. [cited by applicant]
Xiaohu Hu et al: “Optimal smoothing for microphone array post-filtering under a combined deterministic hybrid model”, Journal of Electronics (China), SP Service Press, Heiderberg, vo. 28, No. 4-6, Mar. 8, 2012 (Mar. 8, … [cited by applicant]
Xiong Xiao et al: “Normalization of the Speech Modulation Spectra for Robust Speech Recognition”, IEEE Transactions on Audio, Speech and Language Processing, IEEE Service Center, New York, NY, USA, vol. 16, No. 8, Nov. … [cited by applicant]