Web-mediated transactions and tracking using quick response codes
Patent Information
- Application Number
- JP2024545235
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-01-27
- Filing Date
- 2023-01-26
- Publication Date
- 2025-02-26
Smart Images

Figure 2025505446000001_ABST
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to and benefit of U.S. Provisional Patent Application No. 63 / 303,646, filed January 27, 2022, and entitled "WEB-MEDIATED TRANSACTIONS USING QUICK RESPONSE CODES AND TRACKING OF THE SAME," the entire contents of which are incorporated by reference into this specification.
[0002] Field FIELD OF THE DISCLOSURE
[0002] This disclosure relates to the field of electronic commerce ("e-commerce"), and more particularly to web-mediated processing of transactions using Quick Response (QR) codes. [Background technology]
[0003] background
[0003] In-person commerce, particularly commerce that is impromptu in nature (e.g., yard sales, farm stands, etc.), often involves manual invoice generation and the physical exchange of currency or the swipe of a credit card on a credit card reader (e.g., a Square® credit card reader). There is an increasing trend for consumers not to carry cash and / or to be reluctant to provide their credit card in local settings. Thus, there is a need for a coordinated transaction platform for in-person commerce that eliminates the use of currency or credit cards. Summary of the Invention [Means for solving the problem]
[0004] overview
[0004] Embodiments of the present disclosure facilitate the generation of quick response (QR) codes and web-mediated processing of contactless transactions using the QR codes. In some embodiments, a method includes receiving user input including a representation of an amount (and optionally comments and / or invoice identification information) at a processor of a first mobile computing device (e.g., a "point of sale" mobile computing device). The user input and the first mobile computing device are associated with a first user. The method also includes generating a quick response (QR) code based on the user input at a processor of the first mobile computing device, and displaying the QR code via a graphical user interface (GUI) of the first mobile computing device such that the QR code is scannable by a second mobile computing device associated with a second user. The method also includes receiving a signal representing a response message associated with the second user at the processor of the first mobile computing device, the response message including an indication of a payment status for a payment initiated based on the QR code and approved by the second user. The response message can be a response received from a payment gateway, for example.
[0005] In some embodiments, a method includes scanning a quick response (QR) code using a camera of a second mobile computing device (e.g., a "guest" mobile computing device), during which the QR code is displayed via a graphical user interface (GUI) of a first mobile computing device that is different from the second mobile computing device. The method also includes, in response to scanning the QR code, causing a first web page to be displayed via the GUI of the second mobile computing device. The first web page includes a representation of a price, a representation of at least one product, and an interactive graphical object. After causing the first web page to be displayed, interaction with the interactive graphical object by a user of the second mobile computing device is detected. The method also includes, in response to detecting the interaction with the interactive graphical object, causing a second web page to be displayed via the GUI of the second mobile computing device. The second web page includes a plurality of representations of payment options and the interactive graphical object. The method also includes initiating a payment transaction by a processor of the second mobile computing device in response to detecting interaction with the representation of the payment option from the plurality of representations of payment options of the second web page and interaction with the interactive graphical object. The method also includes receiving, at the processor of the second mobile computing device and from the server, a signal representing a transaction response message associated with the transaction.
[0006]
[0006] In some embodiments, the method includes automatically generating, at a processor of the first mobile computing device, a quick response (QR) code representing an amount associated with one of the products or services, and displaying the QR code via a graphical user interface (GUI) of the first mobile computing device associated with the first user such that the QR code is scannable by a second mobile computing device associated with the second user. The method also includes receiving, at the processor of the first mobile computing device, a signal representing a response message associated with the second user. The response message includes an indication of a payment status for a payment initiated based on the QR code and approved by the second user. [Brief description of the drawings]
[0007] BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1] FIG. 1 illustrates data flow within a system for processing web-mediated transactions, according to some embodiments. [Diagram 2]
[0008] FIG. 1 is a system diagram illustrating a system for processing web-mediated transactions, according to some embodiments. [Diagram 3]
[0009] FIG. 2 is a flow diagram illustrating a first method for processing a web-mediated transaction from the perspective of a “point of sale” mobile computing device according to some embodiments. [Figure 4]
[0010] FIG. 2 is a flow diagram illustrating a method for processing a web-mediated transaction from the perspective of a “guest” mobile computing device, according to some embodiments. [Diagram 5]
[0011] FIG. 11 is a flow diagram illustrating a second method for processing a web-mediated transaction from the perspective of a “point of sale” mobile computing device according to some embodiments. [Figure 6A]
[0012] 1 illustrates an example set of information displayed via a graphical user interface (GUI) on a point of sale mobile computing device and a guest mobile computing device during a transaction, according to one embodiment. [Figure 6B] 1 illustrates an example set of information displayed via a graphical user interface (GUI) on a point of sale mobile computing device and a guest mobile computing device during a transaction, according to one embodiment. [Figure 6C] 1 illustrates an example set of information displayed via a graphical user interface (GUI) on a point of sale mobile computing device and a guest mobile computing device during a transaction, according to one embodiment. [Figure 6D] 1 illustrates an example set of information displayed via a graphical user interface (GUI) on a point of sale mobile computing device and a guest mobile computing device during a transaction, according to one embodiment. [Figure 6E] 1 illustrates an example set of information displayed via a graphical user interface (GUI) on a point of sale mobile computing device and a guest mobile computing device during a transaction, according to one embodiment. [Figure 6F] 1 illustrates an example set of information displayed via a graphical user interface (GUI) on a point of sale mobile computing device and a guest mobile computing device during a transaction, according to one embodiment. [Figure 7A]
[0013] 1 illustrates an example sequence of actions taken during a transaction and information displayed via the GUI of a point of sale mobile computing device and a guest mobile computing device, according to one embodiment. [Figure 7B]
[0013] An example sequence of actions taken during a transaction and information displayed via the GUI of a point of sale mobile computing device and a guest mobile computing device is shown according to one embodiment. [Figure 7C]
[0013] An example sequence of actions taken during a transaction and information displayed via the GUI of a point of sale mobile computing device and a guest mobile computing device is shown according to one embodiment. [Figure 7D]
[0013] An example sequence of actions taken during a transaction and information displayed via the GUI of a point of sale mobile computing device and a guest mobile computing device is shown according to one embodiment. [Figure 7E]
[0013] An example sequence of actions taken during a transaction and information displayed via the GUI of a point of sale mobile computing device and a guest mobile computing device is shown according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Detailed Description
[0014] Embodiments of the present disclosure facilitate "on-the-fly" generation of quick response (QR) codes and web-mediated processing of contactless transactions using QR codes. The systems and methods described herein can be initiated at any time by a user, for example, by interaction with a graphical user interface ("GUI") on a mobile computing device (e.g., smartphone, tablet, laptop, etc.), which displays a website. The QR code-based transaction methods described herein provide various technical advantages over known software-based trading arrangements. For example, transaction steps can be completed without direct communication, connection, and / or coordination (e.g., Bluetooth synchronization) of the mobile computing devices of the transaction participants, by transaction participants being in the same given geographic location and being able to directly communicate with another (including, for example, a purchaser participant being able to manually scan a QR code when displayed on a seller participant's mobile computing device). In addition, the QR code-based transaction methods described herein facilitate the completion of automated payments without the purchaser participant having to manually enter any financial information during the transaction, and payment confirmations are automatically generated and transmitted to the mobile computing devices of both transaction participants without any additional action by the transaction participants. Overall, transactions facilitated by the present disclosure may involve fewer steps, require less input to be provided by the transaction participants, and have more flexibility in that transaction details may be defined / specified contemporaneously with the transaction, e.g., in response to local negotiations and / or agreements between the parties.
[0009]
[0015] In some embodiments, a user (e.g., a merchant or a merchant, also referred to herein as a "point of sale" ("POS") user) navigates to a website within a browser on a mobile computing device and completes a registration or "on-boarding" process by entering user details such as name, business, username, password, contact information (e.g., email address, phone number, address, etc.), back account information, credit card information, payment platform credentials, settings, preferences, etc. Once registration is complete, the user may be considered a registered user and may optionally be assigned a user-specific Uniform Resource Locator (URL) that is unique to the registered user. After registration, if the registered user wishes to transact with a customer (also referred to herein as a "guest user"), the registered user may navigate to the user-specific URL and enter one or more details related to the desired transaction at the website referenced by the URL. As used herein, the term "transaction" may refer to one or more unidirectional (i.e., from a seller participant to a buyer participant) or bidirectional (e.g., transfer of product ownership, product licenses, service ownership, and / or service licenses from a seller participant to a buyer participant, and transfer of currency from a buyer participant to a seller participant) transfer or exchange of currency, product ownership, product licenses, service ownership, and / or service licenses.
[0010]
[0016] In some implementations, the one or more details include only the price / dollar amount. In other implementations, the details include the price and one or more of a product description, a service description, a quantity, a date, a buyer name, a buyer account number, and / or a transaction identification. After entering the one or more details, the registered user can select an object in the website (e.g., a graphical object such as a "Send" button, a user interface element, a glyph, etc.) to trigger the generation of a QR code, which is then rendered on the registered user's screen (e.g., via the website). A guest user can use his or her mobile computing device to scan the QR code displayed on the registered user's mobile computing device. Scanning the QR code causes the guest user's mobile computing device browser to display a message prompting the user to pay for the transaction (e.g., "Pay $1.00") and automatically navigate to a web page that renders a representation of one or more payment methods (e.g., PayPal®, Venmo®, Zelle®, Apple Wallet®, Cash App®, Google Pay®, etc.).
[0011]
[0017] In some implementations, transactions are processed without launching a dedicated software application ("app").
[0012]
[0018] FIG. 1 is a diagram illustrating data flow within a system for processing contactless, web-mediated POS transactions using QR codes, according to some embodiments. As shown in FIG. 1, the system 100 includes a QR code generation module 102, a POS user interface module 104, a guest user interface module 106, a payment gateway integration module 108, a payment gateway module 110, and a gateway response processing module 112 operably coupled to a database 114. Each of the QR code generation module 102, the POS user interface module 104, the guest user interface module 106, the payment gateway integration module 108, the payment gateway module 110, and the gateway response processing module 112 may be implemented by hardware and / or software. The QR code generation module 102 is operably coupled to the POS user interface module 104, which is operably coupled to each of the guest user interface module 106 and the gateway response processing module 112. The guest user interface module 106 is also operably coupled to the payment gateway integration module 108 and the gateway response processing module 112. The payment gateway integration module 108 is also operatively coupled to a payment gateway module 110 and a gateway response processing module 112. In some implementations, at least the payment gateway integration module 108 and the gateway response processing module 112 reside in a centralized server in network communication with one or more client devices (e.g., POS client device 212A and / or guest client device 212B of FIG. 2, discussed below).
[0013]
[0019] The POS user 101 may be associated with a POS computing device 101A (e.g., a mobile computing device such as a smartphone) and the guest user 103 may be associated with a guest computing device 103A (e.g., a mobile computing device such as a smartphone). Any of the QR code generation module 102, the POS user interface module 104, the guest user interface module 106, the payment gateway integration module 108, the payment gateway module 110, and the gateway response processing module 112 may be implemented by software in one or both of the POS computing device 101A and the guest computing device 103A or may be accessible by one or both of the POS computing device 101A and the guest computing device 103A (e.g., via wireless or wired communication with a remote computing device such as a server).
[0014]
[0020] The QR code generation module 102 is configured to receive user input from the POS user interface module 104. The user input may include data such as one or more amounts (i.e., prices), one or more comments, one or more invoice numbers, etc. The user input may be entered by the POS user 101 via a GUI of the POS computing device 101A and received at the POS user interface module 104. The GUI may be implemented by software resident on the POS computing device 101A and may display at least a portion of a web page and / or data provided by the web page. The QR code generation module 102 is also configured to convert the user input into a QR code and transmit the QR code to the POS user interface module 104 for display via the POS computing device 101A. In some implementations, the QR code is transmitted to the POS user interface module 104 without any other data (e.g., payload data) being transmitted, thereby increasing the efficiency of transmission of transaction details compared to known approaches. In some implementations, wireless signals representing QR codes may be exchanged between multiple POS computing devices 101A (e.g., for display to multiple guest users).
[0015]
[0021] The POS user interface module 104 is configured to cause the QR code generated by the QR code generation module 102 to be displayed via the GUI of the POS computing device 101A. In some implementations, the POS user interface module 104 is also configured to cause the POS user 101 to view the status of one or more transactions via the GUI.
[0016]
[0022] The guest user interface module 106 can be in the guest computing device 103A and can be configured to scan the QR code displayed via the GUI of the POS computing device 101A. The scan can be initiated, for example, by the guest user 103 turning on the camera of the guest computing device 103A and / or in response to a user request / selection made via the GUI of the guest computing device 103A. The GUI can be an implementation software resident on the POS computing device 103A. Scanning the QR code can result in a browser opening on the guest computing device 101A and / or the browser navigating to a web page (or a change of content displayed via the GUI) that displays, for example, the total amount borrowed by the guest, one or more comments, and / or any other data or subset of data of the user input originally received at the POS user interface module 104. The web page or other GUI can also include a user selectable object (e.g., a pay button) that allows the guest user 103 to agree to the transaction and trigger payment. In response to the guest user 103 selecting the user selectable object (e.g., by clicking a pay button), the guest user interface module 106 may display one or more user selectable payment methods (e.g., credit card, PayPal®, Google Pay®, Apple Pay®, Venmo®, Zelle®, Apple Wallet®, Cash App®, etc.) via the guest computing device 101A. In response to the guest user 103 selecting one of the displayed user selectable payment methods and successfully completing a payment, the guest user interface module 106 may generate and send a response message (e.g., a payment confirmation message) to the payment gateway integration module 108, in the form of a token, such as, for example, a software token or “soft token.”
[0017]
[0023] In some implementations, payment by credit card is selected by the guest user, and the guest user completes the payment by one or more of entering at least a portion of the digits of the credit card number, entering the expiration date of the credit card number, or clicking a "Submit" button. In response to completing the payment, a token (e.g., a nonce token) is automatically created / generated and sent to a centralized server (e.g., including a payment gateway integration module 108 and a gateway response processing module 112). In response to receiving the token, the centralized server can in turn forward the token to an appropriate payment gateway (e.g., a payment gateway associated with the type of credit card used by the guest user to complete the payment). Once the payment gateway processes the token, the payment gateway can send a result message (e.g., indicating success or failure) to the centralized server. The centralized server can then cause the display of the result message to the user (e.g., via the guest computing device 103A).
[0018]
[0024] In some implementations, rather than including a user selectable object (e.g., a pay button), user preferences or user adjustable settings may be stored or received in the guest computing device 101A such that a payment is automatically / autonomously triggered without further intervention from the guest user 103 in response to scanning a QR code with the guest computing device 103A. The user preferences or user adjustable settings may specify, for example, a preferred payment method, a preferred set of payment methods, a payment limit, a list of approved merchants, etc. In other implementations, rather than including one or more user selectable payment methods, the user preferences or user adjustable settings may be applied in the guest computing device 101A such that a payment is automatically / autonomously triggered without further intervention from the guest user in response to the guest user 103 selecting a user selectable object (e.g., a pay button).
[0019]
[0025] The payment gateway integration module 108 serves as a communications bridge between the payment gateway module 110 and the gateway response processing module 112. The payment gateway integration module 108 is configured to transmit the result / token generated by the guest user interface module 106 to the payment gateway module 110. In response to receiving a response from the payment gateway module 110 indicating the completion of the payment (the "gateway response"), the payment gateway integration module 108 transmits a signal representative of the gateway response to the gateway response processing module 112 to indicate that the payment is complete. The gateway response processing module 112 is configured to store the gateway response in the database 114, as well as to transmit a signal representative of the gateway response and / or an indication that the transaction is complete to (1) the POS user interface module 104 (e.g., for display via the GUI of the POS computing device 101A) and (2) the guest user interface module 106 (e.g., for display via the GUI of the guest computing device 103A). In some implementations, the gateway response and / or a representation of the transaction completion are displayed simultaneously or nearly simultaneously via each of the GUI of the POS computing device 101A and the GUI of the guest computing device 103A.
[0020]
[0026] In some implementations, one or more of the QR code generation module 102, the POS user interface module 104, the guest user interface module 106, the payment gateway integration module 108, the payment gateway module 110, or the gateway response processing module 112 may be located in a centralized server configured to track and store data related to transactions initiated and / or performed using the system 100.
[0021]
[0027] In some implementations, at least one of the POS user interface module 104, the guest user interface module 106, the payment gateway integration module 108, and the gateway response processing module 112 are configured to coordinate content displayed via the GUI of the POS computing device 101A and the GUI of the guest computing device 103A. The coordination may include, for example, displaying a QR code via the GUI of the POS computing device 101A while the guest user completes payment for the transaction via the GUI of the guest computing device 103A. Alternatively or additionally, the coordination may include simultaneously (or at least partially overlapping in time, simultaneously, or approximately simultaneously) displaying a "payment successful" message via both the GUI of the POS computing device 101A and the GUI of the guest computing device 103A. For example, similar to the discussion above, once a payment is selected by the guest user and the guest user completes the payment, a token (e.g., a nonce token) is automatically created / generated and sent from the guest user interface module 106 to the payment gateway module 110 in response to the completion of the payment. Once the payment gateway module 110 has processed the token, it may send a result message (e.g., indicating success or failure) to the gateway response processing module 112. The gateway response processing module 112 may then forward the result message to each of the POS user interface module 104 and the guest user interface module 106 for display via each of the POS computing device 101A and the guest computing device 103A. Upon seeing both messages displayed via both computing devices (101A, 103A), for example, a store clerk may feel secure in knowing that the guest user / customer has made the payment and may then release the product to the guest user / customer.
[0022]
[0028] Figure 2 is a system diagram illustrating a system for processing web-mediated transactions, according to some embodiments. As shown in Figure 2, the system 200 includes a POS transaction server 202 that communicates with a plurality of client devices (a POS client device 212A and a guest client device 212B) over a wireless or wired communication network N, and with one or more remote computing devices 210 over the same or different wireless or wired communication network N. The POS transaction server 202 includes a processor 206 operatively coupled to a memory 204 and a communication interface 208 (e.g., a transceiver configured to transmit and receive signals over the communication network N). The memory 204 stores one or more user inputs 204A, one or more models 204B (e.g., one or more machine learning models), a graphical user interface 204C, transaction data 204D, a QR code 204E, product data 204F, service data 204G, user account data 204H, payment gateway data 204I, payment data 204J, one or more web pages 204K, one or more invoice identification information 204L, and optionally one or more recommendations 204M. Any one or more recommendations 204M may be generated, for example, using one or more models 204B and may refer to one or more products and / or one or more services recommended for a particular user. The POS client device 212A may be similar to the POS computing device 101A described with respect to FIG. 1 above, and the guest client device 212B may be similar to the guest computing device 103A described with respect to FIG. 1 above. While shown in FIG. 2 as being in network communication with the POS transaction server 202, the POS client device 212A and the guest client device 212B may (alternatively or in addition) be in peer-to-peer communication with each other via, for example, a Bluetooth® connection, peer-to-peer near field communication (NFC), WiFi® Direct, a mesh network such as Zigbee®, or the like.
[0023]
[0029] During operation of the system 200, a guest user associated with the guest client device 212B may wish to purchase goods and / or services from a POS user associated with the POS client device 212A. The guest user and the POS user may discuss / negotiate the price of the goods and / or services in real time / "on site" (e.g., face to face, by telephone conversation, by short message service (SMS) text messaging, etc.). Optionally, product data 204F and / or invoice identification information 204L may be retrieved by the POS client device 212A from the memory 204 of the POS transaction server 202 or transmitted from the POS transaction server 202 to the POS client device 212A. Once an agreement on the price is reached, the POS user may enter the price and, optionally, one or more of comments, goods and / or service description, invoice number, date, time, location information, guest user information (e.g., contact information), POS user information (e.g., contact information), etc. (i.e., "user input") via the GUI of the POS client device 212A. The user input may be transmitted from the POS client device 212A over network N to the POS transaction server 202 and used by the processor 206 to generate a QR code 204E (e.g., based on processor-executable instructions (not shown) stored in memory 204). The generated QR code 204E may then be transmitted from the POS transaction server 202 over network N to the POS client device 212A via the communications interface 208. Alternatively, the QR code may be generated locally within the POS client device 212A (e.g., using a software application stored thereon).Once the QR code is received at the POS client device 212A, it is displayed via the GUI of the POS client device 212A, and the guest user uses his / her guest client device 212B to scan the QR code displayed via the GUI of the POS client device 212A, for example, by holding the guest client device 212B in close proximity to the display of the POS client device 212A with the camera of the guest client device 212B facing the display of the POS client device 212A. In response to scanning the QR code, the browser of the guest client device 212B automatically navigates to a web page (e.g., one of web pages 204K) that prompts the user to pay for the transaction and presents a representation of one or more payment methods by which the guest user can complete the transaction (e.g., as shown and described with respect to FIG. 1). Completing the transaction may involve communication between the guest client device 212B, the POS transaction server 202, and one or more remote computing devices 210 (e.g., including a payment gateway similar to the payment gateway module 110 of FIG. 1). Data related to the completed transaction may be transmitted to the POS transaction server 202 and stored as transaction data 204D. In some implementations, the transaction data may also be recorded in a distributed ledger (e.g., a blockchain) (not shown).
[0024]
[0030] FIG. 3 is a flow diagram illustrating a first method for processing a web-mediated transaction from the perspective of a "point of sale" computing device (e.g., POS client device 212A of FIG. 2) according to some embodiments. As shown in FIG. 3, method 300 includes receiving, at 302, a user input including a representation of an amount (and optionally a comment and / or bill identification information) at a processor of a first mobile computing device (e.g., a "point of sale" computing device). The user input and the first mobile computing device are associated with a first user. Method 300 also includes generating, at 304, at a processor of the first mobile computing device based on the user input, and displaying, at 306, the QR code via a graphical user interface (GUI) of the first mobile computing device such that the QR code is scannable by a second mobile computing device associated with a second user. Method 300 also includes receiving, at 308, at a processor of the first mobile computing device, a signal representing a response message associated with the second user. The response message includes an indication of a payment status for the payment initiated based on the QR code and approved by the second user. The payment status may include, for example, "approved," "pending," "rejected," "timeout," "needs confirmation," etc. The response message may be, for example, a response received from a payment gateway.
[0025]
[0031] In some implementations, in response to and based on the user input, the bill identification information is automatically generated by at least one of the client computing device (eg, the first mobile computing device) or the server.
[0026]
[0032] In some implementations, generation of the QR code is in response to a first user interaction with the GUI, which may include, for example, touch selection of a graphical object such as a button, text entry, and / or a voice command.
[0027]
[0033] In some implementations, the amount includes at least one of an amount of currency, an amount of one or more goods, or a quantification of one or more services.
[0028]
[0034] In some implementations, the method 300 also includes displaying the response message via a GUI of the first mobile computing device. The display of the response message via the GUI of the first mobile computing device may occur substantially simultaneously with the display of the response message via the GUI of the second mobile computing device. As used herein, "substantially simultaneously" may refer to events that occur simultaneously when adjusted for processing-related delays (e.g., computational delays, transmission delays, etc.) or may refer to events that overlap in time, such as the display of QR codes via multiple mobile computing devices during a common period of time.
[0029]
[0035] In some implementations, the QR code is configured to navigate a browser of the second mobile computing device to a web page in response to the QR code being scanned by the second mobile computing device. The web page may include a representation of the amount (and optionally a comment and / or invoice identification information). Navigation may be completed using functionality built into the smartphone, such as by a camera software application. The camera software application may be configured to scan the QR code and read a web URL embedded within / represented by the QR code. In response to identifying the web URL, the camera software application may present a user-selectable option to navigate to (or automatically trigger navigation to) the URL using a web browser (e.g., the smartphone's default web browser).
[0030]
[0036] In some implementations, the amount (and optionally the comment and / or the invoice identification information) is associated with the set of at least one product, and in some such implementations, the web page does not include product information for any product different from the set of at least one product. In other such implementations, the web page includes one or more product-related features, such as information about “one or more products related to” the at least one product and / or “one or more services related to” the at least one product, and / or one or more product or service recommendations. The one or more product or service recommendations may be generated at the first mobile computing device (or generated at a remote computing device and received at the first mobile computing device) based, for example, on one or more detected shopping tendencies of the first user, one or more detected shopping tendencies associated with a plurality of networked computing devices including the first mobile computing device, and / or the browser history of the first user.
[0031]
[0037] In some implementations, the amount (and optionally the comment and / or the invoice identification information) is related to the set of at least one service, and the web page does not include service information of any service different from the set of at least one service. In other such implementations, the web page includes information about “one or more products related to” the at least one service and / or “one or more services related to” the at least one service, and / or one or more service-related features, such as one or more product or service recommendations. The one or more product or service recommendations may be generated at the first mobile computing device (or generated at a remote computing device and received at the first mobile computing device) based, for example, on one or more detected shopping tendencies of the first user, one or more detected shopping tendencies associated with a plurality of networked computing devices including the first mobile computing device, and / or the browser history of the first user.
[0032]
[0038] In some implementations, the user input further includes a representation of a comment related to the monetary amount.
[0033]
[0039] In some implementations, generating the QR code is further based on invoice identification information that is automatically generated in response to user input.
[0034]
[0040] FIG. 4 is a flow diagram illustrating a method for processing a web-mediated transaction from the perspective of a "guest" computing device (e.g., guest client device 212B of FIG. 2) according to some embodiments. As shown in FIG. 4, method 400 includes, at 402, scanning a quick response (QR) code using a camera of a second mobile computing device (e.g., the "guest" computing device), while the QR code is displayed via a graphical user interface (GUI) of a first mobile computing device that is different from the second mobile computing device. Method 400 also includes, at 404, causing a first web page to be displayed via the GUI of the second mobile computing device in response to scanning the QR code. The first web page includes a representation of a price, a representation of at least one product, and an interactive graphical object. After causing the first web page to be displayed at 404, an interaction with the interactive graphical object by a user of the second mobile computing device is detected at 406. The method 400 also includes, in response to detecting 406 the interaction with the interactive graphical object, causing a second web page to be displayed via a GUI of the second mobile computing device at 408. The second web page includes a plurality of representations of payment options and the interactive graphical object. The method 400 also includes, in response to detecting 410 the interaction with a representation of a payment option from the plurality of representations of payment options of the second web page and the interaction with the interactive graphical object, initiating a payment transaction by a processor of the second mobile computing device. The method 400 also includes, in response to detecting 412 the interaction with the interactive graphical object and at the processor of the second mobile computing device, receiving a signal from the server and representing a transaction response message associated with the transaction.
[0035]
[0041] In some implementations, the method 400 also includes causing a user understandable message representing the transaction response message to be displayed via a GUI of the second mobile computing device. The display of the response message via the GUI of the second mobile computing device may occur substantially simultaneously with the display of the response message via the GUI of the first mobile computing device.
[0036]
[0042] In some implementations, the interactive graphical object of the first web page includes one of a text button, a ghost button, a raised button, a toggle button, or a floating action button.
[0037]
[0043] In some implementations, the first web page also includes text entered by a user associated with the first mobile computing device.
[0038]
[0044] 5 is a flow diagram illustrating a second method for processing a web-mediated transaction from the perspective of a "point of sale" computing device (e.g., POS client device 212A of FIG. 2) according to some embodiments. As shown in FIG. 5, method 500 includes automatically generating 502, at a processor of a first mobile computing device, a quick response (QR) code representing an amount associated with one of the products or services, and displaying 504, the QR code via a graphical user interface (GUI) of a first mobile computing device associated with the first user, such that the QR code is scannable by a second mobile computing device associated with the second user. Method 500 also includes receiving 506, at a processor of the first mobile computing device, a signal representing a response message associated with the second user. The response message includes an indication of a payment status for a payment initiated based on the QR code and approved by the second user.
[0039]
[0045] In some implementations, the response message includes a software token.
[0040]
[0046] In some implementations, the method 500 also includes storing transaction data associated with the QR code at the remote computing device, for example, to track transactions occurring over time.
[0041]
[0047] In some implementations, the method 500 also includes displaying a loading icon via the GUI of the first mobile computing device after displaying the QR code via the GUI of the first mobile computing device and prior to receiving the signal representing the response message. For example, the loading icon may be displayed via the GUI of the first mobile computing device while the second user is completing a payment process.
[0042]
[0048] In some implementations, payment and / or transaction data is transmitted to one or both of the purchaser's (or "guest user's") bank and the merchant's (or "POS user's") bank.
[0043]
[0049] In some implementations, no token is generated in connection with the transaction (e.g., where the payment information can be securely transmitted directly to the payment processor without passing through an intervening gateway).
[0044]
[0050] 6A-6F illustrate an example set of information displayed via a graphical user interface (GUI) of a POS computing device and a guest computing device during a transaction, according to one embodiment. FIG. 6A illustrates a GUI screen of a POS computing device of a garage sale ("Pete's Garage Sale") merchant who wishes to charge a customer for a transaction. The GUI screen of FIG. 6A is displayed after the merchant logs into a web-based application ("web app") or mobile software application ("mobile app") and includes a fillable form with text boxes in which the merchant can enter a total price (here, 30) and comments (here, "Product A" and "Product B"). The GUI screen of FIG. 6A also includes a user selectable object (button) for generating a QR code. In some implementations, the total price is a required field in that the button for generating a QR code is deactivated until the total price field is populated. In some implementations, the comment field is an optional field in that the button for generating a QR code may be activated / selectable regardless of whether the comment field is populated or not.
[0045]
[0051] When the merchant selects (e.g., clicks) the "Generate QR" button, and in response to the merchant selecting the "Generate QR" button, the information entered by the merchant via the GUI screen of Figure 6A is transmitted to a server (e.g., including functionality such as QR code generation module 102 of Figure 1 and / or similar to POS transaction server 202 of Figure 2) which generates a QR code for the transaction. As shown in Figure 6B, the QR code and optionally supplemental data (e.g., text such as the invoice number, "Amount Invoiced" and "Description") are transmitted to the POS computing device for display on the POS computing device.
[0046]
[0052] The merchant may present the QR code to the customer, who may then scan or capture an image of the QR code with the camera of his or her computing device (guest computing device). In response to capturing the QR code with his or her guest computing device, the browser of the guest computing device automatically navigates to a web page that may be presented as shown in FIG. 6C. As shown in FIG. 6C, the web page is relatively sparse and includes a price and optional comments (e.g., "Product A" and "Product B") along with a user-selectable "Pay" button, but does not otherwise include any other information. For example, the web page has a plain white background and does not include any advertisements. Although not shown in FIGS. 6A-6E, in some implementations, an address bar, a displayed URL, one or more additional graphics, and / or additional text may be displayed within the viewable area of the web page.
[0047]
[0053] When the customer selects (e.g., clicks) the pay button in the web page of Figure 6C, the browser of the guest computing device is automatically redirected to the web page shown in Figure 6D, which provides payment options from which the guest user can select, as discussed above. As the customer navigates from the web page of Figure 6C to the web page of Figure 6D, the POS computing device continues to display the content of Figure 6B.
[0048]
[0054] If the customer decides that he or she no longer wishes to complete the transaction, the customer may select the "Cancel" button shown in FIG. 6D. Alternatively, once the customer has selected a payment option (and optionally completed the payment process with the selected payment processor), the user may select the "Send" button shown in FIG. 6D. In response to selecting the "Send" button, a token containing a representation of the completed payment is automatically sent to the server, which may forward the token to a payment gateway to charge the amount. A payment confirmation message may then be displayed on both the POS computing device and the guest computing device, as shown in FIG. 6E and FIG. 6F, respectively. As shown in FIG. 6E, the payment confirmation message displayed via the POS computing device may include an acknowledgement ("OK") button to allow the merchant / POS user to initiate a new transaction. The payment confirmation message displayed via the guest computing device may not include an acknowledgement ("OK") button (as shown in FIG. 6F), or in other implementations, may include an acknowledgement ("OK") button that, when selected by the guest user, closes the browser window and / or terminates the session associated with the transaction.
[0049]
[0055] 7A-7E illustrate an example sequence of actions taken during a transaction and information displayed via the GUI of the point of sale and guest computing devices, according to one embodiment. As shown in FIG. 7A, the POS user enters user input including a comment indicating an amount (price) and an item (stereo) being purchased via the GUI of the POS mobile computing device. In response to submitting the user input (e.g., by pressing the "Create QR" button shown in FIG. 7A), a QR code generated based on the user input is generated as described above and displayed via the GUI of the POS computing device (shown on the left side of FIG. 7B). As shown on the right side of FIG. 7B, the customer / purchaser scans the QR code using the camera / scanner of his / her computing device (i.e., the guest computing device). In response to scanning the QR code, as shown in FIG. 7C, the guest computing device's browser navigates to a web page showing the details of the proposed transaction ("stereo" and "$20.00") along with a user selectable button for payment. In response to the customer selecting the "Pay" button shown in FIG. 7C, the guest computing device's browser navigates to a web page showing user selectable payment options as shown on the right side of FIG. 7D. While the user selectable payment options are displayed via the guest computing device, a QR optionally remains displayed via the POS computing device, as shown on the left side of Figure 7D. As an alternative to what is shown on the left side of Figure 7D, a loading icon ("slobber") or other animated graphical control element may be displayed via the POS computing device while the user selectable payment options are displayed via the guest computing device. In response to a customer selecting a payment option from the user selectable payment options shown in Figure 7D and completing a payment with the selected payment processor, a "success" message is displayed simultaneously or nearly simultaneously via each of the POS computing device and the guest computing device, as shown in Figure 7E, to indicate to both the merchant and the customer that the transaction has been completed.
[0050]
[0056] In various embodiments, a transaction facilitated by the present disclosure as discussed above involves the scanning of a QR code by the guest computing device and directing a browser on the guest computing device to a web page associated with the transaction in response to the scanning of the QR code, in some such implementations the transaction is completed without the use of any locally installed software applications on the guest computing device, apart from the browser itself.
[0051]
[0057] In an alternative embodiment, the transaction may include executing a software application on the guest computing device, the software application configured to listen / detect a first Bluetooth® communication from the POS computing device. The first Bluetooth® communication may include instructions for displaying product and price information via a GUI of the guest computing device (e.g., by directing a browser of the guest computing device to a website containing such information). The product and price information may be entered by a POS user into the POS computing device vis-a-vis before the Bluetooth® communication is sent from the POS computing device. The above steps may be performed in lieu of displaying a QR code via a display of the POS computing device and scanning the displayed QR code using the guest computing device. Similarly, once the POS user has made one or more selections on the web page to complete a payment, and in response to receiving a payment confirmation message, the software application may generate and send a second Bluetooth® communication to the POS computing device for displaying a payment confirmation message via a display of the POS computing device.
[0052]
[0058] All combinations of the above concepts and additional concepts discussed herein are considered part of the disclosure herein (provided that the concepts are not mutually inconsistent). Terms expressly used herein that may appear in any disclosure incorporated by reference shall be given the meaning most consistent with the particular concepts disclosed herein.
[0053]
[0059] Those skilled in the art will appreciate that the drawings are primarily for illustrative purposes and are not intended to limit the scope of the subject matter described herein. The drawings are not necessarily drawn to scale, and in some instances, various aspects of the subject matter disclosed herein may be exaggerated or enlarged in the drawings to aid in understanding various features. In the drawings, like reference characters generally refer to like features (e.g., functionally similar and / or structurally similar elements).
[0054]
[0060] The term "automatically" is used herein to qualify an action that occurs without direct input or prompting by an external source such as a user. Actions that occur automatically may occur periodically, sporadically, in response to a detected event (e.g., a user logging in), or according to a predetermined schedule.
[0055]
[0061] The term "determining" encompasses a wide variety of actions, and thus "determining" can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up a table, database, or another data structure), ascertaining, and the like. Additionally, "determining" can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Additionally, "determining" can include resolving, selecting, electing, establishing, and the like.
[0056]
[0062] The phrase "based on" does not mean "based only on," unless otherwise specified. In other words, the phrase "based on" refers to both "based only on" and "based at least on."
[0057]
[0063] The term "processor" should be interpreted broadly to encompass a general purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some contexts, a "processor" may refer to an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term "processor" may refer to a combination of processing devices, such as a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0058]
[0064] The term "memory" should be interpreted broadly to encompass any electronic component capable of storing electronic information. The term memory may refer to various types of processor-readable media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage areas, registers, etc. A memory is said to be in electronic communication with a processor if the processor can read information from the memory and / or write information to the memory. Memory that is integral to a processor is in electronic communication with the processor.
[0059]
[0065] The terms "instructions" and "code" should be interpreted broadly to include any type of computer-readable statements. For example, the terms "instructions" and "code" may refer to one or more programs, routines, subroutines, functions, procedures, etc. "Instructions" and "code" may include a single computer-readable statement or many computer-readable statements.
[0060]
[0066] Some embodiments described herein relate to computer storage products having a non-transitory computer-readable medium (which may also be referred to as a non-transitory processor-readable medium) having thereon instructions or computer code for performing various computer-implemented operations. The computer-readable medium (or processor-readable medium) is non-transitory in the sense that it does not itself include a transitory propagating signal (e.g., a propagating electromagnetic wave that carries information over a transmission medium such as space or a cable). The medium and computer code (which may also be referred to as code) may be designed and constructed for a specific purpose. Examples of non-transitory computer-readable media include, but are not limited to, magnetic storage media such as hard disks, floppy disks, and magnetic tapes, optical storage media such as compact disks / digital video disks (CD / DVDs), compact disk read-only memory (CD-ROM), and holographic devices, magneto-optical storage media such as optical disks, carrier wave signal processing modules, and hardware devices that are specifically configured to store and execute program code, such as application specific integrated circuits (ASICs), programmable logic devices (PLDs), read-only memory (ROM), and random access memory (RAM) devices. Other embodiments described herein relate to computer program products, which may include, for example, instructions and / or computer code discussed herein.
[0061]
[0067] Some embodiments and / or methods described herein may be performed by software (executed on hardware), hardware, or a combination thereof. Hardware modules may include, for example, general-purpose processors, field programmable gate arrays (FPGAs), and / or application-specific integrated circuits (ASICs). Software modules (executed on hardware) may be expressed in various software languages (e.g., computer code), including C, C++, Java™, Ruby, Visual Basic™, and / or other object-oriented, procedural, or other programming languages and development tools. Examples of computer code include, but are not limited to, microcode or microinstructions, machine instructions such as those produced by a compiler, code used to create web services, and files containing high-level instructions executed by a computer using an interpreter. For example, embodiments may be implemented using imperative programming languages (e.g., C, Fortran, etc.), functional programming languages (Haskell, Erlang, etc.), logic programming languages (e.g., Prolog), object-oriented programming languages (e.g., Java, C++, etc.), or other suitable programming languages and / or development tools. Further examples of computer code include, but are not limited to, control signals, encryption code, and compression code.
[0062]
[0068] Various concepts may be implemented as one or more methods, at least one example of which is provided. The acts performed as part of the method may be ordered in any suitable manner. Thus, embodiments may be constructed in which acts are performed in a different order than shown, and such embodiments may include performing some acts simultaneously even if shown as sequential acts in the exemplary embodiment. In other words, it should be understood that such features may not necessarily be limited to a particular order of execution, but rather any number of threads, processes, services, servers, etc., that may execute sequentially, asynchronously, in parallel, in parallel, simultaneously, synchronously, etc., in a manner consistent with the present disclosure. As such, some of the features may be inconsistent with each other in that they cannot exist together in a single embodiment. Similarly, some features may be applicable to some aspects of the innovation and not to other aspects.
[0063]
[0069] As used in the specification and embodiments, the indefinite articles "a" and "an" should be understood to mean "at least one" unless otherwise specified.
[0064]
[0070] As used herein and in the embodiments, the phrase "and / or" should be understood to mean "either or both" of the elements so conjoined, i.e., elements that are conjunctive in some cases and disjunctive in other cases. Multiple elements listed with "and / or" should be interpreted similarly, i.e., as "one or more" of the elements so conjoined. Elements other than the elements specifically identified by the "and / or" clause may optionally be present, whether or not related to those elements specifically identified. Thus, as a non-limiting example, when used in conjunction with open-ended language such as "comprises," a reference to "A and / or B" may refer in one embodiment to only A (optionally including elements other than B), in another embodiment to only B (optionally including elements other than A), in yet another embodiment to both A and B (optionally including other elements), etc.
[0065]
[0071] As used herein and in the embodiments, "or" should be understood to have the same meaning as "and / or" as defined above. For example, when separating items in a list, "or" or "and / or" should be interpreted as being inclusive, i.e., including at least one but also more than one of the elements or list, and optionally including additional items not listed. Only terms clearly indicating the contrary, such as "only one of" or "exactly one of," or when used in the embodiments, "consisting of," refer to the inclusion of exactly one element of the elements or list. In general, as used herein, the term "or" should only be interpreted to indicate exclusive alternatives (i.e., "one or the other but not both") when preceded by an exclusive term, such as "either," "one of," "only one of," or "exactly one of." When used in the embodiments, "consisting essentially of" shall have its ordinary meaning as used in the field of patent law.
[0066]
[0072] In the embodiments, as well as in the above specification, all transitional phrases such as "comprising," "including," "carrying," "having," "containing," "involving," "holding," "composed of," and the like, are to be understood to be open-ended, i.e., meaning including, but not limited to. Only the transitional phrases "consisting of" and "consisting essentially of" shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03.
[0067]
[0073] While specific embodiments of the present disclosure have been outlined above, many alternatives, modifications, and variations will be apparent to those skilled in the art. Accordingly, the embodiments described herein are intended to be illustrative rather than limiting. Various changes may be made without departing from the spirit and scope of the present disclosure.
Claims
1. receiving a user input at a processor of a first mobile computing device, the user input including a representation of a quantity, the first mobile computing device being associated with a first user; generating a quick response (QR) code based on the user input at the processor of the first mobile computing device; displaying the QR code via a graphical user interface (GUI) of the first mobile computing device such that the QR code is scannable by a second mobile computing device associated with a second user; and receiving at the processor of the first mobile computing device a signal representative of a response message associated with the second user, the response message including an indication of a payment status for a payment initiated based on the QR code and approved by the second user; A method comprising:
2. The method of claim 1 , wherein the generating the QR code is in response to the first user interacting with the GUI.
3. The method of claim 2 , wherein the interaction of the first user with the GUI is a touch selection of a button.
4. The method of claim 1 , further comprising causing the response message to be displayed via the GUI of the first mobile computing device.
5. The method of claim 4 , wherein the display of the response message via the GUI of the first mobile computing device occurs substantially simultaneously with the display of the response message via a GUI of the second mobile computing device.
6. The method of claim 1 , wherein the QR code is configured to direct a browser of the second mobile computing device to a web page in response to the QR code being scanned by the second mobile computing device.
7. The method of claim 6 , wherein the web page includes the representation of the quantity.
8. 8. The method of claim 7, wherein at least one of the quantity, comments, or invoice identification information relates to a set of at least one product, and the web page does not include product information for any product other than the set of at least one product.
9. 8. The method of claim 7, wherein at least one of the amount, comment, or billing identification information is associated with a set of at least one service, and the web page does not include service information for any service different from the set of at least one service.
10. The method of claim 1 , wherein the user input further comprises an expression of a comment relating to the quantity.
11. The method of claim 1 , wherein said generating said QR code is further based on bill identification information that is automatically generated in response to said user input.
12. scanning a quick response (QR) code using a camera of a second mobile computing device, during which the QR code is displayed via a graphical user interface (GUI) of a first mobile computing device that is different from the second mobile computing device; displaying, in response to scanning the QR code, a first web page via a GUI of the second mobile computing device, the first web page including a representation of a price, a representation of at least one product, and an interactive graphical object; detecting an interaction with the interactive graphical object by a user of the second mobile computing device after displaying the first web page; in response to detecting the interaction with the interactive graphical object, displaying a second web page via the GUI of the second mobile computing device, the second web page including a plurality of representations of payment options and an interactive graphical object; initiating a payment transaction by a processor of the second mobile computing device in response to detecting an interaction with a representation of a payment option from the plurality of representations of payment options on the second web page and an interaction with the interactive graphical object; and receiving, at the processor of the second mobile computing device and from a server, a signal representing a transaction response message associated with the transaction; A method comprising:
13. 13. The method of claim 12, further comprising causing, via the GUI of the second mobile computing device, a user understandable message representative of the transaction response message.
14. 14. The method of claim 13, wherein the display of the response message via the GUI of the second mobile computing device occurs substantially simultaneously with the display of the response message via the GUI of the first mobile computing device.
15. The method of claim 12 , wherein the interactive graphical object of the first web page comprises one of a text button, a ghost button, a raised button, a toggle button, or a floating action button.
16. The method of claim 12 , wherein the first web page further comprises text entered by a user associated with the first mobile computing device.
17. automatically generating, at a processor of the first mobile computing device, a quick response (QR) code representative of a quantity associated with one of the products or services; displaying the QR code via a graphical user interface (GUI) of a first mobile computing device associated with a first user such that the QR code is scannable by a second mobile computing device associated with a second user; and receiving, at the processor of the first mobile computing device, a signal representative of a response message associated with the second user, the response message including an indication of a payment status for a payment initiated based on the QR code and approved by the second user; A method comprising:
18. The method of claim 17 , wherein the response message includes a software token.
19. 20. The method of claim 17, further comprising storing transaction data associated with the QR code at a remote computing device.
20. 20. The method of claim 17, further comprising: after causing the QR code to be displayed via the GUI of the first mobile computing device and prior to receiving the signal representing the response message, causing a loading icon to be displayed via the GUI of the first mobile computing device.