Method and system for providing offers for automated retail machines via mobile devices

Information

  • Patent Grant
  • 11961107
  • Patent Number
    11,961,107
  • Date Filed
    Monday, October 10, 2022
    2 years ago
  • Date Issued
    Tuesday, April 16, 2024
    7 months ago
Abstract
A mobile device with a display, processor(s), and memory: identifies a retail machine configured for wireless communications based on broadcasted information transmitted by the retail machine and including an identifier corresponding to the retail machine; transmits the identifier to a server and receives from the server an electronic communication including a promotional offer for products or services offered by the retail machine; displays the promotional offer; detects selection of a promotional offer; receives a notification from the retail machine that a product or service was provided by the retail machine for a user of the mobile device; transmits confirmation information associated with the notification to the server, receives promotion validation information from the server indicating validation of the promotional offer; and based on the promotion validation information, displays information confirming application of the promotional offer.
Description
TECHNICAL FIELD

The present application relates to the field of payment processing systems, and in particular, to a mobile-device-to-machine payment processing system over a non-persistent network connection.


BACKGROUND

Vending machines (or more broadly “automatic retail machines”), in the broadest sense, have been around for thousands of years. The first simple mechanical coin operated vending machines were introduced in the 1880s. Modern vending machines stock many different types of products including, but not limited to drinks (e.g., water, juice, coffee, and soda) and edible food products/items (e.g., snacks, candy, fruit, and frozen meals), as well as a wide variety of non-food items. In this fast paced world, vending machines are ubiquitous.


Vending machines are one type of “payment accepting unit” (payment accepting units are also referred to herein generically as “machines”). A payment accepting unit (or machine) is equipment that requires payment for the dispensing of products and/or services. In addition to vending machines, payment accepting units can also be other machines that require payment for the dispensing of a product and/or services including, but not limited to parking meters, toll booths, laundromat washers and dryers, arcade games, kiosks, photo booths, toll booths, transit ticket dispensing machines, and other known or yet to be discovered payment accepting units.


In using a payment accepting unit, a user will (1) approach the payment accepting unit, (2) determine from the face of the payment accepting unit the product (or service) he/she desires, (3) insert payment (e.g., coins, bills, or payment cards), and (4) input his/her selection into the payment accepting unit using a user interface (e.g., a series of buttons, a key pad, touch screen, or other input mechanism using, for example, the column and row at which a product is located). Based on the user's inputted selection, technology within the payment accepting unit provides the desired product (or service) to the user.


As the number of people with Internet-connected mobile devices proliferates, so does the variety of uses for such devices. Mobile payment is a logical extension. There is a large development effort around bringing mobile payment to the retail sector in an effort to not only provide options to the user, but also increased convenience.


SUMMARY

In some implementations, a method of providing and handling promotional offers for an automatic retail machine is performed at a mobile device (e.g., the mobile device 104, FIGS. 1-2) with a display, one or more processors, and memory. The method includes: displaying one or more promotional offers on the display; detecting a user input selecting a respective promotional offer of the one or more promotional offers; and initiating performance of a transaction with an automatic retail machine coupled with a payment module, where the transaction corresponds to purchase of a product stocked by the automatic retail machine. The method also includes: receiving a transaction completion notification from the payment module, where the transaction completion notification indicates that the product corresponding to the selected respective promotional offer was vended by the automatic retail machine; and, in response to receiving the transaction completion notification, providing a prompt to the user of the mobile device to obtain a product code for the vended product to validate the respective promotional offer. The method further includes: obtaining the product code for the vended product; after obtaining the product code, transmitting the product code to the server; and, in response to transmitting the product code: receiving promotion validation information from the server; and displaying the promotion validation information on the display, where the promotion validation information indicates whether the respective promotion offer was validated.


In some implementations, a mobile device (e.g., the mobile device 104, FIGS. 1-2) includes a display, one or more processors, and memory storing one or more programs for execution by the one or more processors, the one or more programs include instructions for performing, or controlling performance of, the operations of any of the methods described herein. In some implementations, a non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by a mobile device (e.g., the mobile device 104, FIGS. 1-2) with one or more processors and a display, cause the computing device to perform, or control performance of, the operations of any of the methods described herein. In some implementations, a mobile device (e.g., the mobile device 104, FIGS. 1-2) includes means for performing, or controlling performance of, the operations of any of the methods described herein.


Various advantages of the present application are apparent in light of the descriptions below.





BRIEF DESCRIPTION OF THE DRAWINGS

The aforementioned features and advantages of the disclosed technology as well as additional features and advantages thereof will be more clearly understood hereinafter as a result of a detailed description of preferred implementations when taken in conjunction with the drawings.


To describe the technical solutions in the implementations of the present disclosed technology or in the prior art more clearly, the following briefly introduces the accompanying drawings required for describing the implementations or the prior art. Apparently, the accompanying drawings in the following description show merely some implementations of the present disclosed technology, and persons of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.



FIG. 1 is a block diagram of a payment processing system in accordance with some implementations.



FIG. 2 is a block diagram of a mobile device in accordance with some implementations.



FIG. 3 is a block diagram of a server system in accordance with some implementations.



FIG. 4 is a schematic block diagram of an automatic retail machine in accordance with some implementations.



FIG. 5 is a block diagram of a payment module in accordance with some implementations.



FIG. 6A is a perspective view of the payment module of FIG. 5 (e.g., an in-line dongle adapter) in accordance with some implementations.



FIG. 6B is a perspective view taken from the first end of the payment module of FIG. 6A in accordance with some implementations.



FIG. 6C is a perspective view taken from the second end of the payment module of FIG. 6A in accordance with some implementations.



FIG. 7 is a perspective view of the payment module of FIG. 6A within the automatic retail machine of FIG. 4 in accordance with some implementations.



FIG. 8 is a schematic flow diagram of a process for initiating a transaction in accordance with some implementations.



FIG. 9 is a schematic flow diagram of a process for acknowledging a transaction in accordance with some implementations.



FIG. 10A is a block diagram of an information packet broadcast by the payment module in accordance with some implementations.



FIG. 10B is a block diagram of an authorization request in accordance with some implementations.



FIG. 10C is a block diagram of an authorization grant token in accordance with some implementations.



FIG. 10D is a block diagram of transaction information generated by the payment module in accordance with some implementations.



FIGS. 11A-11G illustrate exemplary user interface for displaying promotional offers in accordance with some implementations.



FIGS. 12A-12C illustrate a flowchart diagram of a method of providing and handling promotional offers for an automatic retail machine in accordance with some implementations.





Like reference numerals refer to corresponding parts throughout the several views of the drawings.


DESCRIPTION OF IMPLEMENTATIONS

Reference will now be made in detail to implementations, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the subject matter presented herein. But it will be apparent to one skilled in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the implementations.


The following clearly and completely describes the technical solutions in the implementations of the present application with reference to the accompanying drawings in the implementations of the present application. Apparently, the described implementations are merely a part rather than all of the implementations of the present application. All other implementations obtained by persons of ordinary skill in the art based on the implementations of the present application without creative efforts shall fall within the protection scope of the present application.



FIG. 1 illustrates a payment processing system 100. FIGS. 2-5 illustrate example devices within the payment processing system 100. FIGS. 6A-6C and 7 show various views of the payment module 124 and the automatic retail machine 122. FIG. 8 illustrates a schematic flow diagram of a process 800 for initiating a transaction within the payment processing system 100. FIG. 9 illustrates a schematic flow diagram of a process 900 for acknowledging a transaction within the payment processing system 100. FIGS. 10A-10D illustrate data structures associated with initiating and performing transactions within the payment processing system 100. FIGS. 11A-11G illustrate example user interfaces for displaying promotional offers. FIGS. 12A-12C illustrate a flowchart diagram of a method 1200 of providing and handling promotional offers for an automatic retail machine. The user interfaces in FIGS. 11A-11G are used to illustrate the method in FIGS. 12A-12C.


Example Devices and Systems


FIG. 1 is a block diagram of a payment processing system 100 in accordance with some implementations. In accordance with some implementations, the payment processing system 100 includes client-side processing 102-1, 102-2 (hereinafter “client-side modules 102”) executed on a mobile device 104-1, 104-2, server-side processing 106 (hereinafter “server-side module 106”) executed on a server system 108 (sometimes also herein referred to as “the server”), and a payment module 124 coupled with an automatic retail machine 122. The client-side module 102 provides client-side functionalities for the payment processing system 100 and communications with both the server-side module 106 and the payment module 124. In some implementations, an application associated with the client-side module 102 provides a user interface to the payment processing system 100 for the mobile device 104. The client-side module 102 communicates with the server-side module 106 via a long-range communication protocol (e.g., GSM, CDMA, Wi-Fi, or the like) through one or more networks 110, and the client-side module 102 communicates with the payment module 124 via a short-range communication protocol (e.g., near-field communication (NFC), BLUETOOTH, BLUETOOTH low-energy (BLE), or the like). The server-side module 106 provides server-side functionalities for the payment processing system 100 for any number of client modules 102 each residing on a respective mobile device 104.


The payment processing system 100 harnesses the connectivity of the mobile device 104 to communicate with the payment module 124, which has neither a dedicated communication connection nor a long-range communication transceiver. As such, the mobile device 124 acts as a relay between the payment module 124 and the server system 108. Furthermore, leveraging the connectivity of the mobile device 104 helps to keep costs down from the point of view of the operator of the automatic retail machine 122.


In some implementations, the server-side module 106 includes one or more processors 112, a user information database 114, an offers database 116, and an input and output (I/O) interface to one or more clients 118. The I/O interface to one or more clients 118 facilitates the client-facing input and output processing for the server-side module 106. In some implementations, the one or more processors 112 authorize transaction requests, determine promotional offers for a particular mobile device 104, perform transaction accounting, and acknowledge completed transactions. The user information database 114 stores information for each user of the payment processing system 100 (e.g., user ID, account credentials (user name and password), transaction history, account balance, linked credit cards and bank accounts, and/or the like), and the offers database 116 stores promotional offers provided by manufacturers, distributors, retailers, and the like.


Examples of the mobile device 104 include, but are not limited to, a handheld computer, a wearable computing device, a personal digital assistant (PDA), a tablet computer, a laptop computer, a desktop computer, a cellular telephone, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, a media player, a navigation device, a game console, a television, a remote control, a point-of-sale (POS) terminal, vehicle-mounted computer, an eBook reader, or a combination of any two or more of these data processing devices or other data processing devices.


Examples of the one or more networks 110 include local area networks (LAN) and wide area networks (WAN) such as the Internet. One or more networks 110 are, optionally, implemented using any known network protocol, including various wired or wireless protocols, such as Ethernet, Universal Serial Bus (USB), FIREWIRE, Long Term Evolution (LTE), Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wi-Fi, voice over Internet Protocol (VoIP), Wi-MAX, or any other suitable communication protocol.


The server system 108 is implemented on one or more standalone data processing apparatuses or a distributed network of computers. In some implementations, the server system 108 also employs various virtual devices and/or services of third party service providers (e.g., third-party cloud service providers) to provide the underlying computing resources and/or infrastructure resources of the server system 108. In some implementations, the server system 108 includes, but is not limited to, a handheld computer, a tablet computer, a laptop computer, a desktop computer, or a combination of any two or more of these data processing devices or other data processing devices.


The payment processing system 100 shown in FIG. 1 includes both a client-side portion (e.g., the client-side module 102) and a server-side portion (e.g., the server-side module 106). In some implementations, data processing is implemented as a standalone application installed on the mobile device 104. In addition, the division of functionalities between the client and server portions of the payment processing system 100 can vary in different implementations. For example, in some implementations, the client-side module 102 is a thin-client that provides only user-facing input and output processing functions, and delegates all other data processing functionalities to a backend server (e.g., the server system 108). Although many aspects of the present technology are described from the perspective of the server system 108, the corresponding actions performed by the mobile device 104 would be apparent to ones skilled in the art without any creative efforts. Furthermore, some aspects of the present technology may be performed by the server system 108, the mobile device 104, or the server system 108 and the mobile device 104 cooperatively.



FIG. 2 is a block diagram of the mobile device 104 associated with a user in accordance with some implementations. The mobile device 104, typically, includes one or more processing units (CPUs) 202, two or more communication devices 204, memory 206, and one or more communication buses 208 for interconnecting these components (sometimes called a chipset). The two or more communication devices 204 include a first transceiver associated with a short-range communication protocol (e.g., NFC, BLE, or the like) and a second transceiver associated with a long-range communication protocol (e.g., GSM, CDMA, Wi-Fi, or the like). The mobile device 104 also includes a user interface 210. The user interface 210 includes one or more output devices 212 that enable presentation of media content (e.g., text, images, audio, video, etc.), including one or more speakers and/or one or more visual displays. The user interface 210 also includes one or more input devices 214, including user interface components that facilitate user input such as a keyboard, a mouse, a voice-command input unit or microphone, a touch screen display, a touch-sensitive input pad, a gesture capturing camera, or other input buttons or controls. Furthermore, in some implementations, the mobile device 104 uses a microphone and voice recognition or a camera and gesture recognition to supplement or replace the keyboard. In some implementations, the mobile device 104 optionally includes one or more sensors 215, which provide context information as to the current state of the mobile device 104 or the environmental conditions associated with mobile device 104. The one or more sensors 215 include, but are not limited, to one or more microphones, one or more cameras, an ambient light sensor, one or more accelerometers, one or more gyroscopes, a temperature sensor, one or more motion sensors, one or more biometric/biological sensors, and so on. In some implementations, the mobile device 104 optionally includes a location detection device 217, such as a GPS (global positioning satellite) or other geo-location receiver, for determining the location of the mobile device 104.


The memory 206 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid state storage devices. The memory 206, optionally, includes one or more storage devices remotely located from the one or more processing units 202. The memory 206, or alternatively the non-volatile memory within the memory 206, includes a non-transitory computer readable storage medium. In some implementations, the memory 206, or the non-transitory computer readable storage medium of the memory 206, stores the following programs, modules, and data structures, or a subset or superset thereof:

    • operating system 216 including procedures for handling various basic system services and for performing hardware dependent tasks;
    • communication module 218 for transmitting signals to and receiving signals from other devices (e.g., the server system 108 and the payment module 124) via the two or more communication devices 204;
    • presentation module 220 for enabling presentation of information (e.g., a user interface for the application(s) 226 or the application associated with client-side module 102, widgets, websites and web pages thereof, and/or games, audio and/or video content, text, etc.) at the mobile device 104 via one or more output devices 212 (e.g., displays, speakers, etc.) associated with the user interface 210;
    • input processing module 222 for detecting one or more user inputs or interactions from the one or more input devices 214 and interpreting the detected inputs or interactions;
    • web browser module 224 for navigating, requesting (e.g., via HTTP), and displaying websites and web pages thereof;
    • one or more applications 226 for execution by the mobile device 104 (e.g., games, application marketplaces, payment platforms, and/or other web or non-web based applications);
    • client-side module 102, which provides client-side data processing and functionalities for the payment processing system 100, including but not limited to:
      • broadcast obtaining module 230 for receiving, via the first transceiver, an information packet broadcast by a respective payment module 124, where the information packet at least includes a unique identifier corresponding to the respective payment module 124 (i.e., the device ID) and an authorization code for initiating a transaction with an automatic retail machine 122 to which the respective payment module 124 is coupled;
      • transaction authorization module 232 for: sending, via the second transceiver, a transaction authorization request to the server system 108 including the authorization code; receiving, via the second transceiver, an authorization grant token from the server system 108, including the authorization code, for initiating a transaction with the automatic retail machine 122 to which the respective payment module 124 is coupled; and storing the received authorization grant token (e.g., in the user data 264);
      • offer(s) module 234 for: obtaining (i.e., receiving or retrieving), via the second transceiver, promotional offers from the server system 108 (e.g., in response to sending the transaction authorization request, as part of an update to the application associated with the client-side module 102, or at another time); storing the promotional offers obtained from the server system in the offers database 266; optionally determining one or more promotional offers based on one or more of a plurality of factors (e.g., the device ID, user ID and history, current location of the mobile device 104, current time/date, and/or the like); presenting one or more promotional offers to the user of the mobile device via the one or more output devices 212 (e.g., a display); and detecting a user input selecting a respective one of the one or more promotional offers presented to the user of the mobile device 104;
      • trigger detecting module 236 for detecting a trigger to initiate a transaction with the automatic retail machine 122 to which the respective payment module 124 is coupled (e.g., the trigger is a gesture or other user input by the user of the mobile device 104, entrance of the mobile device 104 into a payment zone based on the RSSI observed from the payment module 124, selection of the respective promotional offer, or the like);
      • transaction initiating module 238 for initiating a transaction with the automatic retail machine 122 coupled with the respective payment module 124 by sending, via the first transceiver, the stored authorization grant token to the respective payment module 124;
      • transaction completion notification receiving module 240 for receiving, via the first transceiver, a transaction completion notification from the payment module 124, where the transaction completion notification includes one or more of: transaction status information (e.g., indicating whether the transaction with the automatic retail machine 122 was successful, aborted, or failed); transaction detail information (e.g., the authorization code, the amount of the transaction, the good/product associated with the transaction, the time/date the transaction was completed, transaction error information, and/or the like); and optionally includes other miscellaneous information regarding the respective payment module 124 and/or the automatic retail machine 122 to which the respective payment module 124 is coupled, such as interrupted transaction information, status flags, inventory information, past hard currency transaction information, other cashless transaction information, and/or the like;
      • product code processing module 242 for: providing a prompt to the user of the mobile device 104 via the one or more output devices 212 to obtain a product code for a vended product to validate the respective promotional offer; obtaining the product code for the vended product (e.g., the user of the mobile device 104 manually inputs the product code, the user of the mobile device 104 captures an image of the vended product from which the product code is extracted, the user of the mobile device 104 uses a scanner plug-in of the application associated with the client-side module 102 to obtain the product code, or the like); and either validating the product code or sending, via the second transceiver, the obtained product code to the server system 108 for validation;
      • information relaying module 244 for transmitting, via the second transceiver, information from the payment module 124 to the server system 108 (e.g., the transaction status information, the transaction detail information, the other miscellaneous information regarding the respective payment module 124 and/or the automatic retail machine 122 to which the respective payment module 124 is coupled, and/or the like);
      • offer validation module 246 for: receiving, via the second transceiver, promotion validation information from the server system 108; and presenting the promotion validation information to the user of the mobile device via the one or more output devices 212 (e.g., the display); and
      • acknowledgment module 248 for sending, via the first transceiver, acknowledgment information to the payment module 124, where the acknowledgment information acknowledges that the server system 108 received and processed the transaction status information and the transaction detail information; and
    • client data 260 storing data associated with the payment processing system 100, including, but is not limited to:
      • user profile 262 storing information for the user of the mobile device 104, including but not limited to: a unique user identifier (i.e., a user ID), login credentials (i.e., user name or handle and password), transaction history, payment data (e.g., account balance, linked credit card or bank information, app credit or gift card balance, billing address, shipping address, etc.), contact information (e.g., email address, phone number, etc.), custom parameters for the user (e.g., age, location, hobbies, etc.), identified trends and/or likes/dislikes of the user, and/or the like;
      • user data 264 storing transaction history information, authorization grant tokens, and/or the like; and
      • offers database 266 storing promotional offers provided by manufacturers, distributors, retailers, and/or the like.


Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, modules or data structures, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, the memory 206, optionally, stores a subset of the modules and data structures identified above. Furthermore, the memory 206, optionally, stores additional modules and data structures not described above.



FIG. 3 is a block diagram illustrating the server system 108 in accordance with some implementations. The server system 108, typically, includes one or more processing units (CPUs) 112, one or more communication devices 304 (e.g., including the I/O interface to one or more clients 118), memory 306, and one or more communication buses 308 for interconnecting these components (sometimes called a chipset). The memory 306 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid state storage devices. The memory 306, optionally, includes one or more storage devices remotely located from the one or more processing units 112. The memory 306, or alternatively the non-volatile memory within the memory 306, includes a non-transitory computer readable storage medium. In some implementations, the memory 306, or the non-transitory computer readable storage medium of the memory 306, stores the following programs, modules, and data structures, or a subset or superset thereof:

    • operating system 310 including procedures for handling various basic system services and for performing hardware dependent tasks;
    • network communication module 312 for transmitting signals to and receiving signals from mobile devices 104 via the one or more communication devices 304;
    • server-side module 106, which provides server-side data processing and functionalities for the payment processing system 100, including but not limited to:
      • transaction authorization module 314 for: receiving a transaction request from a respective mobile device 104, where the transaction request includes a device ID associated with a respective payment module 124 and an authorization code; and validating the transaction request;
      • encryption/decryption module 316 for: identifying an encryption/decryption key linked to the device ID for the respective payment module 124; decrypting the authorization code with the identified encryption/decryption key; and encrypting the authorization grant token with the identified encryption/decryption key;
      • offer determining module 318 for determining one or more promotional offers based on one or more of a plurality of factors (e.g., the device ID included in the transaction request, the user ID and history associated with the user of the respective mobile device 104, current location of the respective mobile device 104, current time/date, and/or the like);
      • transmitting module 320 for: transmitting, in accordance with a determination that the transaction request is validated, an authorization grant token and the one or more promotional offers to the respective mobile device 104; and transmitting acknowledgment information once a transaction is completed to the respective mobile device 104;
      • receiving module 322 for receiving information from the respective mobile device 104, including but not limited to: a product code and a corresponding selected promotional offer, the transaction status information for a respective transaction, the transaction detail information for the respective transaction, and/or the other miscellaneous information;
      • offer validation module 324 for: validating a promotional offer based on a received product code, transaction status information, and/or transaction detail information; and sending, in accordance with a determination that the promotional offer is validated, promotion validation information to the respective mobile device 104;
      • accounting module 326 for debiting an account balance or charging a linked credit card or bank account according to the transaction detail information; and
      • acknowledgment module 328 for sending acknowledgment information to the respective mobile device 104 for relay to the respective payment module 124;
    • server data 340 storing data for the payment processing system 100, including but not limited to:
      • user information database 114 storing stores information for each user of the payment processing system 100, including but not limited to: a unique user identifier (i.e., a user ID), login credentials (i.e., user name or handle and password), transaction history, payment data (e.g., account balance, linked credit card or bank information, app credit or gift card balance, billing address, shipping address, etc.), contact information (e.g., email address, phone number, etc.), custom parameters for the user (e.g., age, location, hobbies, etc.), identified trends and/or likes/dislikes of the user, and/or the like;
      • offers database 116 storing promotional offers provided by manufacturers, distributors, retailers, and/or the like; and
      • payment module database 342 storing information for each payment module 124 of the payment processing system 100, including but not limited to: a unique payment module identifier (i.e., a device ID), an encryption/decryption key, and/or the like.


Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, the memory 306, optionally, stores a subset of the modules and data structures identified above. Furthermore, the memory 306, optionally, stores additional modules and data structures not described above.


In some implementations, at least some of the functions of the server system 108 are performed by the mobile device 104, and the corresponding sub-modules of these functions may be located within the mobile device 104 rather than the server system 108. In some implementations, at least some of the functions of mobile device 104 are performed by the server system 108, and the corresponding sub-modules of these functions may be located within the server system 108 rather than the mobile device 104. The mobile device 104 and the server system 108 shown in FIGS. 2-3, respectively, are merely illustrative, and different configurations of the modules for implementing the functions described herein are possible in various implementations.



FIG. 4 is a schematic block diagram illustrating the automatic retail machine 122 in accordance with some implementations. For example, the automatic retail machine 122 is a vending machine or kiosk that dispenses an item or product (e.g., snacks, other foodstuffs, school supplies, drinks, tickets, and the like) in response to user payment for and selection of the item or product. The automatic retail machine 122 includes: a controller 402; a power supply 404; memory 406; a user interface 408; one or more optional sensors 414; a multi-drop bus (MDB) 416; and a dispenser 424.


In some implementations, the controller 402 is a microcontroller, microprocessor, CPU, FPGA, ASIC, or the like that manages the functions of the automatic retail machine 122. The power supply 404 is a connection to an external power source (e.g., AC or DC) or a connection to an internal power source (e.g., a battery). In some implementations, the power supply 404 further includes one or more of a power converter and/or inverter, a rectifier, a power conditioner, or the like for providing power to the various components of the automatic retail machine 122. The memory 406 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid state storage devices. In some implementations, the memory 406 stores an operating system and instructions for carrying out the functions and processes of the automatic retail machine 122 (e.g., dispensing items, tracking inventory, temperature control, power control, and the like). In some implementations, the memory 406 also stores configuration data and DEX (data exchange) data corresponding to the inventory of the automatic retail machine 122 and transactions performed with the automatic retail machine 122.


The user interface 408 includes one or more output devices 410 that enable presentation of information (e.g., text, images, audio, video, etc.), for example, one or more speakers and/or one or more visual displays. The user interface 408 also includes one or more input devices 412, including user interface components that facilitate user input and selection of items such as a microphone, a keypad, a touch screen display, a gesture capturing camera, or other input buttons or controls. The one or more optional sensors 414 include, but are not limited, to one or more microphones, one or more cameras, an ambient light sensor, one or more accelerometers, one or more gyroscopes, a temperature sensor, one or more motion sensors, one or more biometric/biological sensors, and so on.


In some implementations, a variety of payment devices are coupled with the MDB 416 including any combination of one or more cashless payment devices 418 (e.g., credit card reader(s)) for accepting cashless payments, one or more bill validators 420 for accepting and validating bills, and one or more coin accepters 422 for accepting coins and providing change. In some implementations, the dispenser 424 is an electromechanical system (e.g., motors, actuators, and the like) for dispensing or vending items or products stocked by the automatic retail machine. 122 For example, a user inserts a bill into the bill validator(s) 420 and is credited with an amount of money equal to the bill. Continuing with this example, the one or more output devices 410 (e.g., a display) shows the credited amount, and the user selects an item via the one or more input devices 412 (e.g., using a keypad or a sequence of button presses). Subsequently, the controller 402 sends signals to the dispenser 424 to dispense the selected product, and the dispenser dispenses or vends the selected product.



FIG. 5 is a block diagram illustrating the payment module 124 in accordance with some implementations. In some implementations, the payment module 124 is an in-line adapter dongle with male and female connectors that couples with the multi-drop bus (MDB) of the respective automatic retail machine 122 as shown in FIGS. 6B-6C and 7. For example, the payment module is connected in-line into the MDB 416 in FIG. 4. The payment module 124, typically, includes one or more processing units (CPUs) 512, a communication device 504 (e.g., a transceiver associated with a short-range communication protocol such as NFC, BLE, or the like), memory 506, and one or more communication buses 508 for interconnecting these components (sometimes called a chipset). The memory 506 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and, optionally, includes non-volatile memory, such as one or more magnetic disk storage devices, one or more optical disk storage devices, one or more flash memory devices, or one or more other non-volatile solid state storage devices. The memory 506, optionally, includes one or more storage devices remotely located from one or more processing units 512. The memory 506, or alternatively the non-volatile memory within the memory 506, includes a non-transitory computer readable storage medium. In some implementations, the memory 506, or the non-transitory computer readable storage medium of the memory 506, stores the following programs, modules, and data structures, or a subset or superset thereof:

    • operating system 510 including procedures for handling various basic system services and for performing hardware dependent tasks;
    • communication module 512 for transmitting signals to and receiving signals from mobile devices 104 via the communication device 504;
    • transaction-processing module 514, including but not limited to:
      • broadcasting module 516 for: broadcasting an information packet to zero or more client devices 104 within the communication zone of the payment module 124 (i.e., BLE range), where the information packet at least includes a unique identifier corresponding to the payment module 124 (e.g., the device ID) and an authorization code for initiating a transaction with the automatic retail machine 122 to which the payment module 124 is coupled; and storing broadcast authorization codes in authorization database 532;
      • encryption/decryption module 518 for: encrypting the authorization code with an encryption/decryption key that corresponds to the payment module 124; and decrypting the authorization grant token with the encryption/decryption key;
      • transaction sniffing module 520 for: detecting signals associated with hard currency transactions and/or other cashless transactions not associated with the payment processing system 100 (e.g., credit card transactions); and storing information associated with said hard currency transactions and/or other cashless transactions (e.g., in the other information database 536);
      • validating module 522 for validating a transaction by checking the authorization code from the decrypted authorization grant token against previously broadcast authorization codes stored in the authorization database 532;
      • transaction processing module 524 for: causing, in accordance with a determination that the transaction is validated, the automatic retail machine 122 to vend a product or perform a service; and storing transaction detail information in the transaction database 534; and
      • acknowledgement module 526 for deleting transaction detail information from the transaction database 534 in accordance with a determination that the corresponding transaction is acknowledged by the server system 108; and
    • data 530 storing data, including but not limited to:
      • authorization database 532 storing previously broadcast authorization codes;
      • transaction database 534 storing transaction detail information for transactions processed by the payment module 124; and
      • other information database 536 storing miscellaneous information regarding the payment module 124 and/or the automatic retail machine 122 coupled with the payment module 124 such as status flags, inventory information, past hard currency transaction information, other cashless transaction information, and/or the like.


Each of the above identified elements may be stored in one or more of the previously mentioned memory devices, and corresponds to a set of instructions for performing a function described above. The above identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various implementations. In some implementations, the memory 506, optionally, stores a subset of the modules and data structures identified above. Furthermore, the memory 506, optionally, stores additional modules and data structures not described above.



FIGS. 6A-6C show various views of the payment module 124 of FIG. 5 in accordance with some implementations. The payment module 124 is a relatively low cost hardware component that is pre-configured to work with the industry standard multi-drop bus (MDB). On machines without MDB technology, the payment module 124 can be configured or designed to work with other serial protocols or activate a switch (e.g., a cherry switch mechanism). For example, see U.S. patent application Ser. No. 14/458,192, entitled “Method and System for Retrofitting an Offline-Payment Operated Machine to Accept Electronic Payments,” which is incorporated by reference in its entirety. In essence, the payment module 124 simulates establishing payment on the automatic retail machine 122 in much the same manner as other alternative forms of payment (e.g., cash).


The payment module 124 is preferably designed to be used as an adapter dongle for in-line insertion within, for example, the MDB of the automatic retail machine 122 (e.g., a vending machine). The wire used in MDB technology uses male and female connection ends or adapters to allow the attachment of peripherals. In the case of a vending machine, the MDB with connection ends or adapters would be present to allow the attachment of a payment receiving mechanism (e.g., a coin mechanism). The MDB male and female adapters 612, 614 of the MDB may be separated (as shown in FIGS. 6B-6C). The payment module 124 in FIGS. 6A-6C has a male adapter 602 and a female adapter 604. The payment module 124 may be plugged (inserted) in serial (“in-line”) with the MDB. For example, the MDB female adapter 614 may be connected to the male adapter 602 of the payment module 124, and the MDB male adapter 612 may be connected to the female adapter 604 of the payment module 124. The resulting in-line configuration is shown in FIG. 7. It should be noted that the payment module 124 is designed to allow pass-through communications so that if the mobile-device-to-machine payment processing system is not enabled (e.g., for a particular purchase or simply turned off) the MDB functions as though the payment module 124 is not there and the automatic retail machine 122 can function normally. In FIG. 7, the automatic retail machine 122 includes a display 722 showing user selections, current credit, and the like. In FIG. 7, the automatic retail machine 122 also includes a touch-screen display 724 and buttons 726 for selecting a product.


User Interfaces and Related Processes


FIG. 8 is a schematic flow diagram of a process 800 for authenticating a user to perform a transaction in the payment processing system 100 in accordance with some implementations. In some implementations, the payment processing system 100 includes one or more payment modules 124 (e.g., each associated with a respective automatic retail machine 122 such a vending machine for dispensing goods and/or services), one or more mobile devices 104, and the server 108. Each of the one or more mobile devices 104 executes an instance of the client-side module 102 (e.g., as an application) as a foreground or background process to access and communicate with other devices (e.g., the server 108 and the payment modules 124) in the payment processing system 100. The server 108 manages the payment processing system 100 and, in some cases, is associated with an entity that supplies, operates, and/or manufactures the one or more payment modules 124. For brevity, the process 800 will be described with respect to a respective payment module 124 and a respective mobile device 104 within the payment processing system 100.


The payment module 124 broadcasts (802), via a short-range communication capability (e.g., BLE), an information packet. The information packet at least includes an authorization code and a unique identifier associated with the payment module 124 (i.e., the device ID). In some implementations, the information packet further includes a current firmware version of the payment module 124 and one or more status flags corresponding to one or more states of the payment module 124 and/or the automatic retail machine 122. The information packet is further discussed below with reference to FIG. 10A.


In some implementations, the payment module 124 sends out a unique authorization code every X seconds (e.g., 100 ms, 200 ms, 500 ms, etc.). In some implementations, the unique authorization codes are randomly or pseudo-randomly generated numbers. In some implementations, the payment module 124 initializes a random number and then the authorization codes are sequential counts from this random number. In such implementations, the payment module 124 stores the earliest valid (unexpired) counter without a need to store every valid authorization code. In some implementations, the authentication code included in the broadcast information packet is a hash value of the randomly or pseudo-randomly generated number or the sequential number.


In some implementations, the payment module 124 stores broadcast authorization codes (e.g., in authorization database 542, FIG. 5) until a received authorization grant token matches one of the stored authorization codes and subsequently deletes the matching authorization code. In some implementations, the broadcast authorization codes are one-time use codes whereby a broadcast authorization code may only be used by one mobile device 104 before it is invalidated and/or deleted to prevent re-play attacks. In some implementations, the payment module 124 stores previously broadcast authorization codes for a predetermined amount of time (e.g., Y minutes) after which time an authorization code expires and is deleted. In some implementations, the authorization code is encrypted with a shared secret key known by the server system 108 but unique to the payment module 124.


The mobile device 104 receives the broadcast information packet, and the mobile device 104 sends (804), via a long-range communication capability (e.g., GSM, CDMA, Wi-Fi, or the like), an authorization request to the server system 108. For example, an application associated with the client-side module 102 is executed as a foreground or background process on the mobile device 104. The application is used for accessing the payment processing system 100. In this example, the application receives the broadcast information packet when the mobile device 104 is within the communication zone of the payment module 124 (i.e., BLE range) and either automatically sends the authorization request to the server system 108 or sends the authorization request to the server system 108 when the mobile device 104 is within the authorization zone of the payment module 124.


In some implementations, the broadcast information packet includes a baseline authorization zone threshold (i.e., an authorization zone criterion) indicating a baseline received signal strength indication (RSSI) that the mobile device 104 (or the application associated with the client-side module 102) is required to observe from the payment module 124 before being within the authorization zone of the payment module 124. In some implementations, the mobile device 104 (or the application associated with the client-side module 102) offsets the baseline authorization zone threshold based on the reception strength its short-range communication capability (e.g., BLE radio/transceiver) and/or other similar factors. In some implementations, the authorization request at least includes the authorization code which was included in the broadcast information packet, an identifier associated with the user of the mobile device 104 or the user account under which the user of the mobile device 104 is logged into the application (i.e., user ID), and the identifier associated with the payment module 124 (i.e., device ID). In some implementations, the authentication code included in the authorization request is a hash value in cleartext. The authorization request is further discussed below with reference to FIG. 10B.


After receiving the authorization request, the server system 108 processes (806) the authorization request. In some implementations, the server system 108 identifies a shared secret key based on the device ID and decrypts the authorization code included in the authorization request with the identified shared secret key. The server system 108 determines whether the user associated with the user ID in the authorization request has sufficient funds in his/her account for the payment processing system to perform a transaction at the automatic retail machine 122 to which the payment module 124 corresponding to the device ID is coupled.


The server system 108 sends (808), via a long-range communication capability (e.g., GSM, CDMA, Wi-Fi, or the like), an authorization grant token to the mobile device 104. In some implementations, the server system 108 does not send the authorization grant token if the authorization code in the authorization request cannot be decrypted with the shared secret key corresponding to the payment module 124 (e.g., the authorization code is corrupted or hacked). In some implementations, the server system 108 does not send the authorization grant token if the user associated with the user ID in the authorization request does not have sufficient funds in his/her account or has exceeded a predefined daily limit. In some implementations, in addition to the authorization grant token (or lack thereof if the authorization is declined), the server system 108 sends a message directly to the mobile device 104 which is not encrypted with the shared secret key corresponding to the payment module 124. After receiving the message, the mobile device 104 displays an appropriate message to the user such as sufficient funds, transaction authorized, insufficient balance, or declined authorization. In some implementations, the server system 108 sends an authorization grant token for an amount equal to zero; in which case, the payment module 124 interprets this as a declined or failed authorization which can result for any number of reasons including, but not limited to, insufficient balance or credit. In some implementations, the mobile device 104 stores the authorization grant token (e.g., in the user data 264) until a trigger condition is detected.


The mobile device 104 receives the authorization grant token, and, subsequently, the mobile device 104 detects (810) a trigger condition. In some implementations, the mobile device 104 (or the application) detects the trigger condition via the hand-free mode (e.g., upon entrance into the payment zone of the payment module 124) or manual mode (e.g., interacting with the user interface of the application to initiate a transaction with the payment accepting unit associated with the payment module 124).


In some implementations, the trigger condition is satisfied when the mobile device 104 detects a user input on the user interface displayed by the mobile device 104. For example, with reference to FIG. 11A, a transaction is initiated between the user of the mobile device 104 and the 8th floor snack machine when the mobile device 104 detects an upward swipe gesture originating from region 1120 of the user interface 1108. In another example, with reference to FIG. 11D, a transaction is initiated between the user of the mobile device 104 and the 8th floor snack machine when the mobile device 104 detects selection of Offer A 1152 with contact 1166.


In some implementations, the trigger condition is satisfied when the mobile device 104 observes an RSSI from a respective automatic retail machine that is greater than or equal to the payment zone criterion. For example, once the mobile device 104 is within the payment zone, a transaction between the respective automatic retail machine and the user of the mobile device 104 is automatically initiated. In some implementations, after the RSSI observed from the respective retail machine is greater than or equal to the payment zone criterion, the mobile device 104 prompts the user to provide a transaction confirmation, which when detected serves to satisfy the trigger condition. For example, once the mobile device 104 is within the payment zone, the mobile device 104 provides a prompts to the user, such as an audible prompt, displayed notification, or vibration, to confirm his/her intention to initiate a transaction with the respective retail machine. Continuing with this example, the user may confirm his/her intention to initiate the transaction with the respective retail machine by flicking the mobile device 104 towards the automatic retail machine, shaking the mobile device, providing an audible command, or performing a touch input/gesture on the displayed user interface.


In some implementations, unused authorization grants (e.g., if there was no trigger condition or it expired) are canceled by the mobile device 104 by sending a cancellation message to the server system 108 corresponding to the unused authorization grant. In some implementations, the server system 108 denies or limits the number of authorization grants sent to the mobile device 104 until it has received transaction information or cancellation of authorization outstanding authorization grants sent to the mobile device 104.


In response to detecting the trigger condition, the mobile device 104 sends (812), via the short-range communication capability (e.g., BLE), the authorization grant token to the payment module 124. Subsequently, the automatic retail machine 122 displays credit to the user (e.g., via one of the displays 722 or 724 shown in FIG. 7) and the user interacts with the input mechanisms of the automatic retail machine 122 (e.g., via the buttons 726 or a touch screen display 724 shown in FIG. 7) to purchase products and/or services.


It should be understood that the particular order in which the process in FIG. 8 has been described is merely exemplary and is not intended to indicate that the described order is the only order in which the operations could be performed. One of ordinary skill in the art would recognize various ways to reorder the operations described herein. Additionally, it should be noted that details of other processes described herein with respect to other methods and/or processes described herein (e.g., the process 900 and the method 1200) are also applicable in an analogous manner to the process 800 described above with respect to FIG. 8.



FIG. 9 is a schematic flow diagram of a process 900 for processing acknowledgment information in the payment processing system 100 in accordance with some implementations. In some implementations, the payment processing system 100 includes one or more payment modules 124 (e.g., each associated with a respective automatic retail machine 122 such a vending machine for dispensing goods and/or services), one or more mobile devices 104, and the server 108. Each of the one or more mobile devices 104 executes an instance of the client-side module 102 (e.g., as an application) as a foreground or background process to access and communicate with other devices (e.g., the server 108 and the payment modules 124) in the payment processing system 100. The server 108 manages the payment processing system 100 and, in some cases, is associated with an entity that supplies, operates, and/or manufactures the one or more payment modules 124. For brevity, the process 900 will be described with respect to a respective payment module 124 coupled with a respective automatic retail machine 122 and a respective mobile device 104 in the payment processing system 100. In the process 900, the payment module 124 receives first acknowledgment information for a first transaction via the mobile device 104 that initiated the first transaction.


The payment module 124 obtains (902) a first notification indicating completion of a first transaction from the automatic retail machine 122. For example, after the process 800 in FIG. 8, the user of the mobile device 104 selects a product to purchase from the automatic retail machine 122 by interacting with one or more input mechanisms of the automatic retail machine 122 (e.g., he buttons 726 or a touch screen display 724 shown in FIG. 7), and the automatic retail machine 122 dispenses the selected product. Continuing with this example, after the product is dispensed, the transaction is complete and the payment module 124 obtains a notification from the machine of the completed transaction. In some implementations, the notification includes the amount of the transaction and (optionally) machine status information associated with the automatic retail machine 122 such as inventory information as to one or more products of the automatic retail machine 122 and/or the like.


After obtaining the first notification, the payment module 124 generates (904) first transaction information based on the first notification, and the payment module 124 stores the first transaction information. In some implementations, the transaction information includes a transaction ID for the first transaction, a device ID corresponding to the payment module 124, a user ID corresponding to the mobile device 104, transaction status information indicating that the first transaction is complete, and the transaction amount indicated by the first notification. In some implementations, the payment module 124 retains the authorization code included in the original broadcasted packet and/or the authorization grant token and includes the authorization code in the first transaction information. In some implementations, the authorization code is encrypted with a secret key corresponding to the payment module 124, which is shared with the server system 108 but not the mobile device 104. In some implementations, the first transaction information further includes other information such as the machine status information included in the first notification or transaction information corresponding to previous interrupted transaction(s). See FIG. 10D and the accompanying text for further discussion regarding the transaction information 1050.


The payment module 124 sends (906), via a short-range communication capability (e.g., BLE), the first transaction information to the mobile device 104.


The mobile device 104 sends (908), via a long-range communication capability (e.g., GSM, CDMA, Wi-Fi, or the like), the first transaction information to the server system 108.


The server system 108 processes (910) the first transaction information. For example, the server system 108 debits the account of the user associated with the user ID in the first transaction information in the amount indicated by the first transaction information.


The server system 108 sends (912), via a long-range communication capability (e.g., GSM, CDMA, Wi-Fi, or the like), first acknowledgment information to the mobile device 104. In some implementations, the first acknowledgment information acknowledges that the server system 108 received the first transaction information. In some implementations, the first acknowledgment information includes the user ID, the device ID, the transaction ID, and (optionally) the authorization grant included in the transaction information (e.g., the authorization code 1058, FIG. 10D).


After receiving the first acknowledgement information, the mobile device 104 sends (914), via a short-range communication capability (e.g., BLE), the first acknowledgment information to the payment module 124.


After receiving the first acknowledgment information, the payment module 124 deletes (916) the stored first transaction information.


It should be understood that the particular order in which the process in FIG. 9 has been described is merely exemplary and is not intended to indicate that the described order is the only order in which the operations could be performed. One of ordinary skill in the art would recognize various ways to reorder the operations described herein. Additionally, it should be noted that details of other processes described herein with respect to other methods and/or processes described herein (e.g., the process 800 and the method 1200) are also applicable in an analogous manner to the process 900 described above with respect to FIG. 9.



FIG. 10A is a block diagram of an information packet 1000 broadcast by the payment module 124 (e.g., in step 802 of the process 800 in FIG. 8) in accordance with some implementations. In some implementations, the information packet 1000 at least includes: device ID 1002 and authorization code 1004. In some implementations, the information packet 1000 additionally includes: a current firmware version 1006; one or more status flags 1008; and zone criteria information 1010.


In some implementations, the device ID 1002 is a unique identifier corresponding to the payment module 124 that broadcast the information packet 1000.


In some implementations, the authorization code 1004 is a hash value in cleartext. In some implementations, the payment module 124 randomly or pseudo-randomly generates a number or determines a sequential number (See step 802 of the process 800 in FIG. 8) and performs a predetermined hash function (e.g., SHA-256) on the number to produce the hash value as the authorization code 1004. In some implementations, the authorization code 1004 is a unique code that is encrypted with a secret encryption key corresponding to the payment module 124. The secret encryption key is shared with the server system 108, which enables the server system 108 to decrypt the authorization code 1004 and encrypt the authorization grant token but not the mobile device 104. In some implementations, the encryption between server system 108 and payment module 124 is accomplished by two pairs of public/private keys.


In some implementations, the firmware version information 1006 identifies a current firmware version 1012 of the payment module 124. In some implementations, the firmware version information 1006 also includes update status information 1014 indicating one or more packets received by the payment module 124 to update the firmware or one or more packets needed by the payment module 124 to update the firmware.


In some implementations, the one or more status flags 1008 indicate a state of the payment module 124 and/or the automatic retail machine 122 to which the payment module 124 is coupled. In some implementations, the one or more status flags 1008 indicate a state of the payment module 124 such upload information indicator 1016 indicating that that the payment module 124 has information to be uploaded to the server system 108 (e.g., transaction information for one or more interrupted transactions). In some implementations, upload information indicator 1016 triggers the mobile device 104 to connect to payment module 124 immediately (e.g., if it has interrupted transaction information to be uploaded to the server system 108). In some implementations, the one or more status flags 1008 indicate a state of the automatic retail machine 122 including one or more of an error indicator 1018 (e.g., indicating that a bill and/or coin acceptor of the automatic retail machine 122 is experiencing a jam, error code, or malfunction), a currency level indicator 1020 (e.g., indicating that the level of the bill and/or coin acceptor reservoir of the automatic retail machine 122 is full or empty), and/or inventory level(s) indicator 1022 (e.g., indicating that one or more products of the automatic retail machine 122). In some implementations, the one or more status flags 1008 are error codes issued by the automatic retail machine 122 over the MDB.


In some implementations, the zone criteria information 1010 specifies an authorization zone criterion 1024 (e.g., a baseline authorization zone threshold indicating a baseline RSSI that the mobile device 104 (or the application) is required to observe before being within the authorization zone of the payment module 124) and/or a payment zone criterion 1026 (e.g., a baseline payment zone threshold indicating a baseline RSSI that the mobile device 104 (or the application) is required to observe before being within the payment zone of the payment module 124). In some implementations, the baseline authorization zone threshold and the baseline payment zone threshold are default values determined by the server system 108 or stored as variables by the application, in which case the authorization zone criterion 1024 and payment zone criterion 1026 are offsets to compensate for the strength and/or reception of the short-range communication capability (e.g., BLE radio/transceiver) of the payment module 124. Alternatively, zone criteria information 1010 includes a spread between the baseline authorization zone threshold and the baseline payment zone threshold. Thus, the mobile device 104 (or the application) determines the baseline authorization zone threshold and the baseline payment zone threshold based on the spread value and a default value for either the baseline authorization zone threshold or the baseline payment zone threshold. For example, the spread indicates −10 db and the default baseline payment zone threshold is −90 db; thus, the baseline authorization zone threshold is −80 db. Continuing with this example, after determining the baseline authorization zone threshold and the baseline payment zone threshold, the mobile device 104 (or the application) may further adjust the authorization zone threshold and/or the payment zone threshold based on the strength and/or reception of its short-range communication capability (i.e., BLE radio/transceiver).



FIG. 10B is a block diagram of an authorization request 1030 sent by the mobile device 104 to the system server 108 (e.g., in step 804 of the process 800 in FIG. 8) in accordance with some implementations. In some implementations, the authorization request 1030 at least includes: a device ID 1002; a user ID 1034; and an authorization code 1004.


In some implementations, the device ID 1002 is a unique identifier corresponding to the payment module 124 that broadcast the information packet 1000 that included the authorization code 1004.


In some implementations, the user ID 1034 is a unique identifier associated with the user of the mobile device 104 sending the authorization request 1030 to the server system 108. In some implementations, the user ID 1034 is associated with the user account under which the user of the mobile device 104 is logged into the application.


In some implementations, the authorization code 1030 is the authorization code 1004 included in the information packet 1000 of that was broadcast by the payment module 124.



FIG. 10C is a block diagram of an authorization grant token 1040 sent by the server system 108 to the mobile device 104 (e.g., in step 808 of the process 800 in FIG. 8) in accordance with some implementations. In some implementations, in accordance with a determination that the authorization code 1036 included in the authorization request 1030 from the mobile device 104 is valid and that the user associated with the mobile device 104 has sufficient funds in his/her account for the payment processing system, the server system 108 generates the authorization grant token 1040. In some implementations, the authorization grant token 1040 at least includes: a device ID 1002; a user ID 1034; an authorized amount 1046; (optionally) an expiration period 1048; and (optionally) the authorization code 1004. In some implementations, the authorization grant token 1040 is encrypted with the shared secret key corresponding to the payment module 124.


In some implementations, the device ID 1002 is a unique identifier corresponding to the payment module 124 that broadcast the information packet 1000 that included the authorization code 1004.


In some implementations, the user ID 1034 is a unique identifier associated with the user of the mobile device 104 that sent the authorization request 1030 to the server system 108.


In some implementations, the authorized amount 1046 indicates a maximum amount for which the user of the mobile device 104 is authorized to perform transaction(s) using the authorization grant token 1140. For example, the authorized amount 1046 is predefined by the user of the mobile device 104 or by the server system 108 based on a daily limit or based on the user's total account balance or based on a risk profile of the user associated with the user ID 1034.


In some implementations, the expiration period 1048 indicates an offset to the amount of time that the payment module 124 holds the authorization grant token 1040 valid for initiation of a transaction with the automatic retail machine 122 associated with the payment module 124. For example, the expiration period 1048 depends on the history and credit of the user of the mobile device 104 or a period predefined by the user of the mobile device 104.


In some implementations, the authorization grant token 1040 further includes the authorization code 1004 that was included in the authorization request 1030. In some implementations, when the authorization code 1004 is the hash value, the server system 108 encrypts the authorization grant token 1040 including the hashed value with the shared secret encryption key associated with the payment module 124. Subsequently, when the mobile device 104 sends the authorization grant token 1040 to the payment module 124 after detecting a trigger condition, the payment module 124 decrypts the authorization grant token 1040 using the secret key known only to the server system 108 and the payment module 124 (which authenticates the message and the authorization grant), and then matches the hash value included in the decrypted authorization grant token 1040 to previously broadcast valid (i.e., unexpired and un-used) hash values (e.g., stored authorization codes) to determine the validity of the hash value (which was known only by the payment module 124).



FIG. 10D is a block diagram of transaction information 1050 generated by the payment module 124 (e.g., in step 904 of the process 900 in FIG. 9) in accordance with some implementations. In some implementations, the transaction information 1050 includes: a transaction ID 1052 for the respective transaction; a device ID 1054; a user ID 1056; (optionally) the authorization code 1058; transaction status information 1060; the transaction detail information 1062; and miscellaneous information 1064. In some implementations, the transaction information 1050 is encrypted with the shared secret key corresponding to the payment module 124.


In some implementations, the transaction ID 1052 is a unique identifier corresponding to the respective transaction. In some implementations, the transaction ID 1052 is encoded based on or associated with the time and/or date on which and the location at which the respective transaction took place.


In some implementations, the device ID 1054 is a unique identifier corresponding to the payment module 124 that performed the respective transaction.


In some implementations, the user ID 1056 is an identifier associated with the user of the mobile device 104 that initiated the respective transaction.


In some implementations, the authorization code 1058 corresponds to the original authorization code (e.g., the auth code 1004, FIGS. 10A-10C) and/or authorization grant token (e.g., the auth grant token 1040, FIG. 10C) that was used to initiate the respective transaction. In some implementations, the authorization code 1056 is encrypted with a unique encryption key corresponding to the payment module 124.


In some implementations, the transaction status information 1060 includes an indication whether the respective transaction was completed, not-completed, or aborted. For example, the respective transaction is incomplete if a jam occurred at the automatic retail machine 122 and the user did not receive the product associated with the respective transaction. For example, if the user walks away from the automatic retail machine 122 after money was credited for the respective transaction, the respective transaction is aborted. In another example, if respective transaction times out after a predetermined time period because the user failed to select a product at the automatic retail machine 122, the respective transaction is aborted. In another example, if the user actuates a bill or coin return mechanism of the automatic retail machine 122, the respective transaction is aborted.


In some implementations, the transaction detail information 1062 indicates the amount of the respective transaction or the amount of each of multiple transactions (e.g., in a multi-vend scenario). In some implementations, the transaction detail information 1062 also indicates other information related to the respective transaction such as the items dispensed by the automatic retail machine 122 and the type of transaction (e.g., coins, bills, credit card, manual mode, hands-free mode, etc.).


In some implementations, the miscellaneous information 1064 includes other information related to the payment module 124 and/or the automatic retail machine 122 to which the payment module 124 is coupled. For example, the miscellaneous information 1064 includes a verification request to the server system 108 in order to implement new firmware. In another example, the miscellaneous information 1064 includes transaction information from one or more previous interrupted transactions. In another example, the miscellaneous information 1064 includes transaction information for one or more past hard currency transactions and/or other cashless transactions (e.g., paid with a credit card or bank card at the automatic retail machine 122). In another example, the miscellaneous information 1064 includes inventory information as to one or more products of the automatic retail machine 122.


Attention is now directed towards implementations of user interfaces (“UIs”) and associated processes that may be implemented on a mobile device 104 with zero or more speakers 1102, zero or more microphones 1104, and a display 1106. For example, the display 1106 is a touch screen (sometimes also herein called a “touch screen display”) enabled to receive one or more contacts and display information (e.g., media content, websites and web pages thereof, and/or user interfaces for application(s) 326). FIGS. 11A-11G illustrate exemplary user interfaces for facilitating displaying promotional offers in accordance with some implementations.


Although some of the examples that follow will be given with reference to inputs on a touch screen (where the touch sensitive surface and the display are combined), in some implementations, the device detects inputs on a touch-sensitive surface that is separate from the display. In some implementations, the touch sensitive surface has a primary axis that corresponds to a primary axis on the display. In accordance with these implementations, the device detects contacts with the touch-sensitive surface at locations that correspond to respective locations on the display. In this way, user inputs detected by the device on the touch-sensitive surface are used by the device to manipulate the user interface on the display of the device when the touch-sensitive surface is separate from the display. It should be understood that similar methods are, optionally, used for other user interfaces described herein.


Additionally, while the following examples are given primarily with reference to contacts (e.g., finger inputs such as finger contacts, finger tap gestures, finger swipe gestures, etc.), it should be understood that, in some implementations, one or more of the contacts are replaced with input from another input device (e.g., a mouse-based, stylus-based, or physical button-based input). For example, a swipe gesture is, optionally, replaced with a mouse click (e.g., instead of a contact) followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). As another example, a tap gesture is, optionally, replaced with a mouse click while the cursor is located over the location of the tap gesture (e.g., instead of detection of the contact followed by ceasing to detect the contact) or depression of a physical button. Similarly, when multiple user inputs are simultaneously detected, it should be understood that multiple computer mice are, optionally, used simultaneously, or a mouse and finger contacts are, optionally, used simultaneously.



FIGS. 11A-11G show user interface 1108 displayed on respective mobile device 104 (e.g., a mobile phone associated with a user) for an application associated with the payment processing system 100; however, one skilled in the art will appreciate that the user interfaces shown in FIGS. 11A-11G may be implemented on other similar computing devices. The user interfaces in FIGS. 11A-11G are used to illustrate the processes described herein, including the method described with respect to FIGS. 12A-12C. One of ordinary skill in the art will appreciate that the following user interfaces are merely examples. Moreover, one of ordinary skill in the art will appreciate that additional affordances and/or user interface elements, or that fewer affordances and/or user interface elements may be used in practice.



FIG. 11A illustrates the mobile device 104 displaying a transaction initiation screen 1110 for 8th floor snack machine. In FIG. 11A, the transaction initiation screen 1110 includes a sequence of indicators 1116 showing that 8th floor snack machine is one of three automatic retail machines with which the user is authorized to initiate a transaction. For example, the user of the mobile device 104 is able to access the second of the three automatic retail machines by performing a left-to-right swipe gesture on the user interface 1108 (or alternatively a right-to-left swipe gesture) and the first second the three automatic retail machines by performing a right-to-left swipe gesture on the user interface 1108 (or alternatively a left-to-right swipe gesture). The user of the mobile device 104 is able to access settings and/or a home screen of the application by selecting affordance 1112 (e.g., with a tap gesture), and the user of the mobile device 104 is able to refresh the transaction initiation screen 1110 by selecting affordance 1114 (e.g., with a tap gesture).



FIG. 11A also shows that the user of the mobile device 104 has a prepaid balance of $100.00. The user of the mobile device 104 is able to initiate a transaction with the 8th floor snack machine by performing an upward swipe gesture originating from region 1120 of the transaction initiation screen 1110. The user of the mobile device 104 is able to access special promotional offers by selecting “Special Offers” region 1122 (e.g., with a tap gesture), and the user of the mobile device 104 is able to “like” or favorite the 8th floor snack machine by selecting affordance 1124 (e.g., with a tap gesture). FIG. 11A also illustrates the mobile device 104 detecting contact 1140 at a location corresponding to “Special Offers” region 1122.



FIG. 11B illustrates the mobile device 104 displaying a special offers screen 1130 for the 8th floor snack machine. In FIG. 11B, the special offers screen 1130 includes: a first region that corresponds to “Offer A” 1152 on product A accompanied by image A of product A; a second region that corresponds to “Offer B” 1154 on product A accompanied by image A of product A; and a third region that corresponds to “Offer C” 1156 on product B accompanied by image B of product B. The special offers screen 1130 also includes refresh affordance 1151, which, when activated (e.g., via a tap gesture), causes the special offers screen 1130 to be refreshed. In FIG. 11B, none of Offers A, B, C are currently selected. The user of the mobile device 104 is able to select “Offer A” 1152 by performing a gesture (e.g., a tap gesture) on selection affordance 1153. Similarly, the user of the mobile device 104 is able to select “Offer B” 1154 by performing a gesture (e.g., a tap gesture) on selection affordance 1155 or “Offer C” 1156 by performing a gesture (e.g., a tap gesture) on selection affordance 1157. The user of the mobile device 104 is also able to dismiss or delete any of Offers A, B, or C by performing a right-to-left swipe gesture (or a left-to right swipe gesture in other implementations) in a corresponding region. FIG. 11B also illustrates the mobile device 104 detecting a right-to-left swipe gesture within the second region corresponding to “Offer B” 1154 with contact 1160 moving from a first location 1162-a to a second location 1162-b.


In some implementations, the special offers screen 1130 further includes a fourth region corresponding to “No Selected Offer.” For example, the user of the mobile device 104 may view the promotional offers on the special offers screen 1130 but not wish to apply any of them to a future transaction with the 8th floor snack machine. As such, the user of the mobile device 104 may select the “No Selected Offer” region (e.g., with a tap gesture), and, in response, the mobile device 104 re-displays the transaction initiation screen 1110 as shown in FIG. 11A.



FIG. 11C illustrates the mobile device 104 displaying delete affordance 1164 within the second region corresponding to “Offer B” 1154 in response to detecting the right-to-left swipe gesture in FIG. 11B. The delete affordance 1164, when activated, (e.g., via a tap gesture), causes “Offer B” 1154 to be deleted from the special offers screen 1130. FIG. 11C also illustrates mobile device 104 detecting contact 1166 at a location corresponding to delete affordance 1164.



FIG. 11D illustrates the mobile device 104 ceasing to display “Offer B” 1154 within the special offers screen 1130 in response to detecting selection of delete affordance 1164 in FIG. 11C. FIG. 11D also illustrates mobile device 104 detecting contact 1168 at a location corresponding to selection affordance 1153 for “Offer A” 1152. Alternatively, in some implementations, the user of the mobile device may not wish to apply any of the offers to a future transaction with the 8th floor snack machine. As such, the user may select the affordance 1112 (e.g., with a tap gesture) or perform a predefined gesture on the special offers screen 1130 to re-display the transaction initiation screen 1110 as shown in FIG. 11A.



FIG. 11E shows that selection affordance 1153 is selected in response to detecting selection of selection affordance 1153 in FIG. 11D. In some implementations, a transaction with the 8th floor snack machine is automatically initiated in response to detecting selection of selection affordance 1153 in FIG. 11D. In other implementations, after detecting selection of selection affordance 1153 in FIG. 11D, the mobile device 104 re-displays the transaction initiation screen 1110 (as shown in FIG. 11A) and the transaction with the 8th floor snack machine is initiated in response to detecting upward swipe gesture originating from region 1120 of the transaction initiation screen 1110.



FIG. 11F illustrates the mobile device 104 displaying a product code screen 1170, which prompts the user of the mobile device 104 to obtain the product code (e.g., UPC code, SKU, or the like) for product A so as to validate Offer A” 1152 selected in FIG. 11D. The product code screen 1170 also includes a product code scanner window 1172 for capturing an image of product A and/or scanning the product code of product A. In FIG. 11F, UPC code 1174 (e.g., the product code) of product A (e.g., a candy bar), which is in the field of view of a camera of the mobile device 104, is shown within the product code scanner window 1172. For example, the user of the mobile device 104 is able to capture the image of product A (including the UPC code 1174 within the current field of view) or scan the UPC code 1174 by tapping within product code scanner window 1172, issuing an audible command, depressing a predetermined physical button of the mobile device 104, or the like. FIG. 11F also shows that the user of the mobile device 104 has a prepaid balance of $99.00, which is $1.00 less than the amount shown in FIGS. 11A-11E due to purchase of product A.



FIG. 11G illustrates the mobile device 104 displaying an offer validation screen 1180. In some implementations, the mobile device 104 displays the offer validation screen 1180 after the user completes the transaction with the 8th floor snack machine and the server validates the product code information (e.g., the UPC scanned in FIG. 11F). In FIG. 11G, the offer validation screen 1180 indicates that the “Offer A” 1152 was validated and that the user's balance was credited $0.25. FIG. 11G also shows that the user of the mobile device 104 has a prepaid balance of $99.25, which is $0.25 more than the amount shown in FIG. 11G due to validation of the “Offer A” 1152 and a credit of $0.25 for the “Offer A” 1152.



FIGS. 12A-12C illustrate a flowchart diagram of a method 1200 of providing and handling promotional offers for an automatic retail machine in accordance with some implementations. In some implementations, method 1200 is performed by a mobile device with a display, one or more processors, and memory. For example, in some implementations, method 1200 is performed by mobile device 104 (FIGS. 1-2) or a component thereof (e.g., the client-side module 102, FIGS. 1-2). In some implementations, method 1200 is governed by instructions that are stored in a non-transitory computer readable storage medium and the instructions are executed by one or more processors of the mobile device. Some operations in the method 1200 are, optionally, combined and/or the order of some operations is, optionally, changed.


In some implementations, the payment processing system 100 (FIG. 1) includes the mobile device 104, which performs the method 1200, a server system 108, and a payment module 124 coupled with an automatic retail machine 122. An instance of the client-side module 102 (e.g., as an application) is executed on the mobile device 104 as a foreground or background process to access and communicate with other devices (e.g., the server 108 and the payment module 124) in the payment processing system 100. The server 108 manages the payment processing system 100 and, in some cases, is associated with an entity that supplies, operates, and/or manufactures the payment module 124.


In some implementations, prior to displaying the one or more promotional offers, the mobile device (1202): obtains an information packet broadcast by a payment module coupled with a automatic retail machine, where the information packet at least includes an authorization code and a unique identifier corresponding to the payment module; send a transaction authorization request to a server, where the transaction authorization includes the authorization code and the unique identifier corresponding to the payment module; and, in response to the transaction authorization request, receive authorization information from the server that includes an authorization grant token for initiating a transaction with the automatic retail machine coupled with the payment module and the one or more promotional offers from the server. As discussed in the process 800, the mobile device 104 or a component thereof (e.g., the broadcast obtaining module 230, FIG. 2) receives the information packet broadcast by the payment module 124 which at least includes an authorization code and an identifier associated with the payment module 124. Subsequently, the mobile device 104 or a component thereof (e.g., the transaction authorization module 232, FIG. 2) sends the authorization code to the server 108 to pre-authorize a transaction with the automatic retail machine 122 to which the payment module 124 is coupled. In accordance with a determination that the server 108 pre-authorizes the potential transaction, the mobile device 104 or a component thereof (e.g., the transaction authorization module 232, FIG. 2) receives an authorization grant token for performing a transaction with the automatic retail machine 122. In some implementations, the mobile device 104 stores the authorization grant token (e.g., in user data 265, FIG. 2) until a trigger condition for initiating the transaction with the automatic retail machine 122 is detected (e.g., by the trigger detecting module 236, FIG. 2). In some implementations, the trigger condition is satisfied when the mobile device 104 detects a user input on the user interface displayed by the mobile device 104. For example, with reference to FIG. 11A, a transaction is initiated between the user of the mobile device 104 and the 8th floor snack machine when the mobile device 104 detects an upward swipe gesture originating from region 1120 of the user interface 1108. In another example, with reference to FIG. 11D, a transaction is initiated between the user of the mobile device 104 and the 8th floor snack machine when the mobile device 104 detects selection of Offer A 1152 with contact 1166.


In some implementations, the mobile device further includes (1204) a first transceiver associated with a short-range communication protocol and a second transceiver associated with a long-range communication protocol. The mobile device communicates with the payment module via the first transceiver, and the mobile device communicates with the server via the second transceiver. For example, the short-range communication protocol is BLE, NFC, or the like, and the long-range communication protocol is GSM, CDMA, Wi-Fi, or the like.


The mobile device displays (1206) one or more promotional offers on the display. In some implementations, the mobile device 104 only displays promotional offers for products which the user has a sufficient balance. For example, a soda costs $2.00 and there is a promotion for $0.50 off, however, the user has a balance of only $1.00. In this example, the mobile device forgoes displaying the promotion for the soda. FIG. 11B, for example, shows the mobile device 104 displaying special offers screen 1130 for the 8th floor snack machine. In FIG. 11B, the special offers screen 1130 includes: a first region that corresponds to “Offer A” 1152 on product A accompanied by image A of product A; a second region that corresponds to “Offer B” 1154 on product A accompanied by image A of product A; and a third region that corresponds to “Offer C” 1156 on product B accompanied by image B of product B. Alternatively, in some implementations, a respective one of the one or more promotional offers is applied automatically after the user completes a transaction, and the mobile device prompts the user to provide the product code corresponding to the respective promotion. In some implementations, one or more advertisements are displayed in place of the one or more selectable promotional offers.


In some implementations, one of the one or more promotional offers is a “reward” for a product or service that is not associated with the automatic retail machine 122 (i.e., an out-of-band offer). For example, if the user purchases a particular product, he/she will receive a link via email for a free download (e.g., a song, video, etc.), in-app credit (e.g., $2.00 for purchases within a digital media marketplace or a $2.00 credit for in-app purchases for a game), or the like. This may or may not require validation of product. For example, buy any product now from this machine and get a link to a $1.00 off coupon via email or text for a case of soda from a retail store. In some implementations, the offer might be an “additional sale” this is an out-of-band offer. For example, purchase XYZ Cola now, and get a case of XYZ Cola from a store for only $1.50 with a coupon to be mailed to your email address. In another example, purchase ABC Chips now, and get a special discount offer to buy a cool T-shirt for $5.00. In this example, $5.00 is added to transaction price and the user is sent an email regarding redemption and shipping of the cool the T-shirt.


In some implementations, the user is able to dismiss or delete offers and the mobile device 104 sends this information to the server 108 for analytics purposes. In one example, FIG. 11C shows the mobile device 104 displaying delete affordance 1164 within the second region corresponding to “Offer B” 1154 in response to detecting the right-to-left swipe gesture in FIG. 11B. Continuing with this example, FIG. 11D shows the mobile device 104 ceasing to display “Offer B” 1154 within the special offers screen 1130 in response to detecting selection of delete affordance 1164 in FIG. 11C.


In some implementations, the one or more promotional offers are identified (1208) based on at least one of: a unique identifier corresponding to the payment module, at least one of the current time and date, a location of the automatic retail machine, a location of the mobile device, and a unique identifier corresponding to the user of the mobile device. In some implementations, the server 108 or a component thereof (e.g., offer determining module 328, FIG. 3) determines/identifies the one or more promotional offers based on the current time/date, current location, device ID associated with the payment module, user ID associated with the user of the mobile device, and the like. In some implementations, the mobile device 104 or a component thereof (e.g., the offer(s) module 234, FIG. 2) determines/identifies the one or more promotional offers from a pre-stored collection of offers based on the current time/date, current location, device ID associated with the payment module, user ID associated with the user of the mobile device, and the like. For example, the mobile device 104 identifies the one or more promotional offers from the offers database 266 which includes offers sent by the server 108 at a prior time such as a part of an update to the application.


In some implementations, the promotional offers are identified based on the products stocked in the automatic retail machine 122 or past behavior (e.g., previous offers selected by the user, previous offers deleted by the user, previous offers not selected by the user, etc.). For example, side-by-side are separate snack and soda vending machines. The user buys a soda first. Then, when the user goes to transact with the snack machine, the user is presented with an offer for a particular product (e.g., to enable cross promotions between soda and snack distributors). Alternatively, the offers could be based on what a user did not select from the soda machine or offers that were actively deleted before.


In some implementations, the provider of the server 108 and payment module 124 manages a promotion marketplace to facilitate placing of promotional offers by manufacturers and distributors of products and to also facilitate competition between various product manufacturers and distributors. For example, a distributor or manufacturer of a product may place a promotional offer for $0.25 off on a particular item in all applicable community colleges in California on Thursdays between 2:00 and 4:00 PM PDT. In another example, a distributor or manufacturer of a product may place a promotional offer for 50% off on the product on the day the product expires (e.g., to sell perishable sandwiches or the like) for all applicable automatic retail machines. In some implementations, cross-promotional offers or complex promotional offers may also be placed whereby a user gets a credit (e.g., a rebate) for purchasing a particular drink and snack combination where each are manufactured or distributed by different entities.


In some implementations, a promotional offer on all items in automatic retail machines on a entity's campus (essentially a subsidy) is only available to select users. For example, all attorneys and staff at a law firm are given a subsidized rate on snacks but cleaning persons do not benefit from said subsidized rate. In another example, all full-time employees are given a subsidized rate on snacks but temporary workers do not benefit from said subsidized rate.


In some implementations, variable pricing is enacted whereby the base price of items changes and promotion offers may be added in addition to the variable pricing scheme. For example, a distributer wishes to decrease the price on all items in applicable machines during the off-peak hours (e.g., 9:00 PM-6:00 AM). Therefore, after a transaction is completed, the server 108 will only charge a user the decreased price, and, after the server processes and accounts for the transaction, transaction acknowledgment information displayed at the mobile device 104 will indicate that the user was only charged the decreased price and not the price shown at the automatic retail machine 122.


The mobile device detects (1210) a user input selecting a respective promotional offer of the one or more promotional offers. For example, the user input is a touch input, voice input, or the like. FIG. 11D, for example, shows the mobile device 104 detecting selection of selection affordance 1153 for “Offer A” 1152, and FIG. 11E shows that selection affordance 1153 is selected in response to detecting selection of selection affordance 1153 in FIG. 11D. In some implementations, the respective promotional offer is a negative one, such as a donation to AIDS research, that adds a selected amount to the user's next transaction. Alternatively, in some implementations, the respective promotional offer is a negative one whereby the transaction is rounded up to the nearest dollar, where additional amount is donated to a Cancer research foundation.


The mobile device initiates (1212) performance of a transaction with an automatic retail machine coupled with a payment module, where the transaction corresponds to purchase of a product stocked by the automatic retail machine. In some implementations, the transaction is initiated in response to selection of the respective promotional offer (i.e., one-click transaction initiation process). For example, a transaction with the 8th floor snack machine is automatically initiated in response to detecting selection of selection affordance 1153 in FIG. 11D. In other implementations, after the user selects an offer the user performs an action to initiate a transaction with the automatic retail machine (i.e., a two-step transaction initiation process). For example, after detecting selection of selection affordance 1153 in FIG. 11D, the mobile device 104 re-displays the transaction initiation screen 1110 (as shown in FIG. 11A) and the transaction with the 8th floor snack machine is initiated in response to detecting upward swipe gesture originating from region 1120 of the transaction initiation screen 1110.


In some implementations, performance of the transaction with the automatic retail machine coupled with the payment module is initiated (1214) by sending the authorization grant token to the payment module, where the authorization grant token includes the authorization code included in the broadcast information packet. In some implementations, initiating performance of the transaction includes the mobile device 104 or a component thereof (e.g., the transaction initiating module 238, FIG. 2) sending the stored authorization grant token to the payment module 124 for payment and the user manually selects a product using the user interface of the automatic retail machine 122. As such, the automatic retail machine 122 knows nothing about the selected promotional offer—it only knows that the user sent it a payment. For example, the automatic retail machine 122 returns transaction and product information that is passed to the mobile device 104 by the payment module 124 but it cannot determine or state in any way if it is a product that corresponds to the offer. For example, the transaction completion notification indicates “I vended E3 for $1.00”.


The mobile device receives (1216) a transaction completion notification from the payment module, where the transaction completion notification indicates that the product corresponding to the selected respective promotional offer was vended by the automatic retail machine. In some implementations, the mobile device 104 or a component thereof (e.g., the transaction completion notification receiving module 240, FIG. 2) receives transaction completion notification (e.g., the transaction status information, the transaction detail information, the other miscellaneous information regarding the respective payment module 124 and/or the automatic retail machine 122 to which the respective payment module 124 is coupled, and/or the like) from the payment module 124 after the user manually selects a product using the user interface of the automatic retail machine 122. In some implementations, the transaction completion notification includes the good/service associated with the transaction, the current inventory of the automatic retail machine 122, information associated with one or more previous cash transactions, information associated with one or more interrupted transactions handled by the payment module 124, and/or other information associated with the automatic retail machine 122 such as error or maintenance states. In some implementations, the payment module 124 sends an error message in place of the transaction completion notification when the transaction is aborted or an error occurs during the transaction such as unavailability of a requested good/service or a vending jam.


In response to receiving the transaction completion notification, the mobile device provides (1218) a prompt to the user of the mobile device to obtain a product code for the vended product to validate the respective promotional offer. In some implementations, the mobile device 104 or a component thereof (e.g., the product code processing module 242, FIG. 2) displays a scanning interface for capturing the product code of the vended item after receiving the transaction completion notification. FIG. 11F, for example, shows the mobile device 104 displaying a product code screen 1170, which prompts the user of the mobile device 104 to obtain the product code (e.g., UPC code, SKU, or the like) for product A so as to validate Offer A” 1152 selected in FIG. 11D. The product code screen 1170 also includes a product code scanner window 1172 for capturing an image of product A and/or scanning the product code of product A. In FIG. 11F, the UPC code 1174 of product A (e.g., a candy bar), which is in the field of view of a camera of the mobile device 104, is shown within the product code scanner window 1172. For example, the user of the mobile device 104 is able to capture the image of product A (including the UPC code 1174 within the current field of view) or scan the UPC code 1174 by tapping within product code scanner window 1172, issuing an audible command, depressing a predetermined physical button of the mobile device 104, or the like.


In other implementations, the mobile device 104 or a component thereof (e.g., the product code processing module 242, FIG. 2) displays a pop-up message or banner notification on the display prompting the user of the mobile device 104 to manually enter or otherwise obtain the product code of the vended item. In other implementations, the mobile device 104 or a component thereof (e.g., the product code processing module 242, FIG. 2) provides an audible tone, a vocal prompt, or a sequence of tactile/haptic vibrations prompting the user of the mobile device 104 to enter or otherwise obtain the product code of the vended item.


The mobile device obtains (1220) the product code for the vended product. For example, the user enters the barcode character-by-character, scans the barcode, or simply captures an image of the barcode. In some implementations, the mobile device 104 or a component thereof (e.g., the product code processing module 242, FIG. 2) receives the product code.


In some implementations, obtaining the product code further comprises (1222): capturing an image of the product that includes the product code; and extracting the product code from the captured image. In some implementations, obtaining the product code further comprises (1224): scanning the product code of the product with a scanner unit of the mobile device. For example, the user of the mobile device 104 is able to access a product code capture plug-in from within the application associated with the payment processing system 100 (e.g., the product code processing module 242, FIG. 2) which enables the user to capture an image of the product with the product code in the field of view or scan the product code of the product. In this example, the mobile device 104 extracts the product code from the captured image and sends the extracted product code to the server 108 or, alternatively, the mobile device 104 sends the captured image to the server 108 where the product code is extracted. In another example, the user of the mobile device 104 is able to manually enter the product code from within the application (e.g., via a virtual keypad) or via a website associated with the payment processing system 100.


After obtaining the product code, the mobile device transmits (1226) the product code to the server. In response to transmitting the product code, the mobile device: receives promotion validation information from the server; and displays the promotion validation information on the display, where the promotion validation information indicates whether the respective promotion offer was validated. In some implementations, the mobile device 104 or a component thereof (e.g., the product code processing module 242, FIG. 2) either validates the obtained product code or sends the obtained product code to the server 108 for validation. In some implementations, the mobile device 104 or a component thereof (e.g., the information relaying module 244, FIG. 2) sends the transaction completion notification or a portion thereof to the server 108 regardless of whether the user follows the prompt and the mobile device 104 ultimately obtains the product code. In some implementations, the server 108 determines whether conditions for the respective promotional offer have been based on the transaction and the product code. For example, the server 108 determines whether the proper product code was obtained for the respective promotional offer, whether the respective promotional offer has expired, whether the user has fulfilled a buy N items get one free condition, whether the user has fulfilled cross-promotion condition, and/or the like. In some implementations, the offer is validated and applied by the server 108 to the user's account.


In some implementations, the mobile device 104 of a component thereof (e.g., the offer validation module 246, FIG. 2) receives and displays the promotion validation information. For example, the promotion validation information indicates whether the offer was validated and an updated user balance/transaction listing. FIG. 11G, for example, shows the mobile device 104 displaying an offer validation screen 1180, which indicates that the “Offer A” 1152 was validated and that the user's balance was credited $0.25. FIG. 11G also shows that the user of the mobile device 104 has a prepaid balance of $99.25, which is $0.25 more than the amount shown in FIG. 11G due to validation of the “Offer A” 1152 and a credit of $0.25 for the “Offer A” 1152. For example, when the user gets a fifth purchased product free and the product that was the subject of the instant transaction was only the first item purchased, the promotion validation information indicates that the user must buy 3 more of the product before he/she gets a free product. In some implementations, the promotion validation information includes a coupon for a product or service that is not associated with the automatic retail machine 122 For example, the user is emailed a coupon for $5 off an amusement park for purchasing a soda.


In some implementations, after obtaining the product code, the mobile device determines (1228) whether a predetermined time period has expired. In accordance with a determination that the time period has expired, the mobile device provides a notification to the user of mobile device indicating that the respective promotional offer has expired. In accordance with a determination that the time period has not expired, the mobile device transmits the product code to the server. In some implementations, the predetermined time period corresponds to the time between (A) initiating performance of the transaction or prompting for the product code, (B) obtaining the product code or some other time period. For example, the mobile device 104 must receive the product code within 5 minutes of the prompt or within 5 minutes of initiation of the transaction. In some implementations, this may occur hours or even days later. In some implementations, a predetermined proximity between a first location where the transaction was initiated and a second location where the product code was obtained is used in addition to or in place of the predetermined time period.


In some implementations, the application associated with the payment processing system 100 has a coupon plug-in whereby the user of the mobile device 104 is able to scan a coupon after completing a transaction for a product and also scan the product code of the product to get a post hoc rebate for the transaction.


In some implementations, the promotion validation information indicates (1230) the price of the product after the application of the respective promotional offer. For example, the mobile device 104 displays the total deducted from the user's account or charged to the user's linked bank card after application of the promotional offer to the base purchase price included in the notification completion information. FIG. 11G, for example, shows that the user of the mobile device 104 has a prepaid balance of $99.25, which is $0.25 more than the amount shown in FIG. 11G due to validation of the “Offer A” 1152 and a credit of $0.25 for the “Offer A” 1152.


In some implementations, the mobile device transmits (1232) the transaction completion notification to the server. In some implementations, the mobile device 104 or a component thereof (e.g., the information relaying module 244, FIG. 2) sends the transaction completion notification (e.g., the transaction status information, the transaction detail information, the other miscellaneous information regarding the respective payment module 124 and/or the automatic retail machine 122 to which the respective payment module 124 is coupled, and/or the like) or a portion thereof to the server 108 prior to sending the product code or along with the product code. In some implementations, the transaction completion notification or a portion thereof is sent to the server 108 regardless of whether the user follows the prompt and the mobile device ultimately obtains the product code.


It should be understood that the particular order in which the operations in FIGS. 12A-12C have been described is merely exemplary and is not intended to indicate that the described order is the only order in which the operations could be performed. One of ordinary skill in the art would recognize various ways to reorder the operations described herein. Additionally, it should be noted that details of other processes described herein with respect to other methods and/or processes described herein (e.g., the processes 800 and 900) are also applicable in an analogous manner to method 1200 described above with respect to FIGS. 12A-12C.


While particular implementations are described above, it will be understood it is not intended to limit the application to these particular implementations. On the contrary, the application includes alternatives, modifications and equivalents that are within the spirit and scope of the appended claims. Numerous specific details are set forth in order to provide a thorough understanding of the subject matter presented herein. But it will be apparent to one of ordinary skill in the art that the subject matter may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the implementations.

Claims
  • 1. A method, comprising: at a mobile device including a display, one or more processors, a communications unit, and memory:transmitting via the communications unit of the mobile device an identifier corresponding to a retail machine to a server and receiving from the server an electronic communication including one or more promotional offers;displaying on the display of the mobile device the one or more promotional offers;detecting selection of a respective promotional offer of the one or more promotional offers;receiving, via the communications unit, notification information from the retail machine associated with provision of a product by the retail machine for a user of the mobile device;in response to receiving the notification information:capturing, with a camera or scanner of the mobile device, an image or scan associated with the product provided by the retail machine, the image or scan including a code; andtransmitting to the server via the communications unit of the mobile device the code and the notification information; andin response to transmitting the code and the notification information to the server:receiving, via the communications unit, promotion validation information from the server indicating the respective promotional offer has been applied; anddisplaying on the display a confirmation that the respective promotional offer has been applied.
  • 2. The method of claim 1, wherein the product that was provided is part of a transaction associated with the user of the mobile device, and further wherein the promotion validation information includes promotion validation information with respect to the transaction.
  • 3. The method of claim 2, wherein the one or more promotional offers are displayed within a first user interface for an application executing on the mobile device.
  • 4. The method of claim 3, wherein the promotion validation information is displayed within a second user interface for the application executing on the mobile device.
  • 5. The method of claim 4, wherein displaying the promotion validation information includes displaying an indication as to whether the respective promotional offer was validated and displaying information identifying a credit to the user associated with the respective promotional offer.
  • 6. The method of claim 1, further comprising, before detecting selection of a respective promotional offer, receiving the one or more promotional offers based at least in part on particular products offered by the retail machine.
  • 7. The method of claim 6, wherein selecting the one or more promotional offers is further based at least in part on at least one previous transaction completed by the user at a different retail machine that is distinct from the retail machine.
  • 8. The method of claim 1, wherein the selected respective promotional offer is associated with both a time-based condition that is satisfied by using the selected respective promotional offer within a predetermined time period.
  • 9. The method of claim 8, wherein the promotion validation information includes an indication as to whether the time-based condition was satisfied.
  • 10. The method of claim 1, further comprising: while displaying on the display of the mobile device the one or more promotional offers, detecting a request from the user to dismiss a particular promotional offer of the one or more promotional offers; andin response to detecting the request: (i) ceasing to display the particular promotional offer on the display and (ii) sending, via the communications unit, information indicating that the user dismissed the particular promotional offer.
  • 11. The method of claim 1, further comprising: after receiving the notification information, determining whether a predetermined time period has expired;in accordance with a determination that the predetermined time period has expired, providing a communication to the user of the mobile device indicating that the respective promotional offer has expired; andin accordance with a determination that the predetermined time period has not expired, transmitting the code and the notification information to the server.
  • 12. The method of claim 1, further comprising: prior to displaying on the display of the mobile device the one or more promotional offers: obtaining an information packet broadcast by the retail machine, wherein the information packet at least includes an authorization code and a unique identifier corresponding to the retail machine;sending a transaction authorization request to the server, wherein the transaction authorization includes the authorization code and the unique identifier corresponding to the retail machine; andin response to the transaction authorization request, receiving from the server: (i) authorization information that includes an authorization grant token for initiating a transaction with the retail machine, and (ii) the one or more promotional offers.
  • 13. The method of claim 12, further comprising, before receiving the notification information, initiating performance of a transaction with the retail machine by sending the authorization grant token to the retail machine, wherein the authorization grant token includes the authorization code included in the information packet.
  • 14. The method of claim 13, wherein the transaction is initiated in response to detecting the selection of the respective promotional offer.
  • 15. The method of claim 1, further comprising, in response to receiving the notification information: providing a prompt instructing the user of the mobile device to confirm that the product was provided; andcapturing the image or scan in response to the prompt.
  • 16. The method of claim 15, wherein the code is a universal product code (UPC) corresponding to the product, and obtaining the code comprises capturing, with a camera of the mobile device, an image of the product that includes the UPC.
  • 17. The method of claim 15, wherein the code is a universal product code (UPC) corresponding to the product, and obtaining the code comprises scanning, with a scanner of the mobile device, an area of the product that includes the UPC.
  • 18. The method of claim 1, wherein the one or more promotional offers are based at least in part on the identifier corresponding to the retail machine.
  • 19. A mobile device, comprising: a display;a communications unit;one or more processors; andmemory storing one or more programs to be executed by the one or more processors, the one or more programs comprising instructions for:transmitting via the communications unit of the mobile device an identifier corresponding to a retail machine to a server and receiving from the server an electronic communication including one or more promotional offers;displaying on the display of the mobile device the one or more promotional offers;detecting selection of a respective promotional offer of the one or more promotional offers;receiving, via the communications unit, notification information from the retail machine associated with provision of a product by the retail machine for a user of the mobile device;in response to receiving the notification information:capturing, with a camera or scanner of the mobile device, an image or scan associated with the product provided by the retail machine, the image or scan including a code; andtransmitting to the server via the communications unit of the mobile device the code and the notification information; andin response to transmitting the code and the notification information to the server:receiving, via the communications unit, promotion validation information from the server indicating the respective promotional offer has been applied; anddisplaying on the display a confirmation that the respective promotional offer has been applied.
  • 20. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by a mobile device with a display, a communications unit, and one or more processors, cause the mobile device to perform functions of: transmitting via the communications unit of the mobile device an identifier corresponding to a retail machine to a server and receiving from the server an electronic communication including one or more promotional offers;displaying on the display of the mobile device the one or more promotional offers;detecting selection of a respective promotional offer of the one or more promotional offers;receiving, via the communications unit, notification information from the retail machine associated with provision of a product by the retail machine for a user of the mobile device;in response to receiving the notification information:capturing, with a camera or scanner of the mobile device, an image or scan associated with the product provided by the retail machine, the image or scan including a code; andtransmitting to the server via the communications unit of the mobile device the code and the notification information; andin response to transmitting the code and the notification information to the server:receiving, via the communications unit, promotion validation information from the server indicating the respective promotional offer has been applied; anddisplaying on the display a confirmation that the respective promotional offer has been applied.
PRIORITY CLAIM AND RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 17/216,399, filed Mar. 29, 2021 which is a continuation of U.S. patent application Ser. No. 16/029,483, filed Jul. 6, 2018 and issued as U.S. Pat. No. 10,963,905, which is a continuation of U.S. patent application Ser. No. 14/611,065, filed Jan. 30, 2015 and issued as U.S. Pat. No. 10,019,724 on Jul. 10, 2018 each of which is hereby expressly incorporated by reference in its entirety. This application is related to the following: U.S. Pat. No. 8,856,045, filed Mar. 14, 2014, entitled “Mobile-Device-to-Machine Payment Systems”; U.S. patent application Ser. No. 14/320,534, filed Jun. 30, 2014, entitled “Method and System for Authenticating Mobile Device-to-Machine Payments”; U.S. patent application Ser. No. 14/335,762, filed Jul. 18, 2014, entitled “Method and System for Performing Mobile Device-To-Machine Payments”; U.S. patent application Ser. No. 14/456,683, filed Aug. 11, 2014, entitled “Method and Device for Retrofitting an Offline-Payment Operated Machine to Accept Electronic Payments”; U.S. patent application Ser. No. 14/458,192, filed Aug. 12, 2014, entitled “Method and System for Retrofitting an Offline-Payment Operated Machine to Accept Electronic Payments”; and U.S. Provisional Patent Application No. 62/081,492, filed Nov. 11, 2014, entitled “Method and Device for Multi-Drop Bus Payment Peripheral Expansion,” all of which are hereby incorporated by reference in their entireties.

US Referenced Citations (369)
Number Name Date Kind
4374557 Sugimoto et al. Feb 1983 A
5479602 Baecker et al. Dec 1995 A
5844808 Konsmo et al. Dec 1998 A
5854994 Canada et al. Dec 1998 A
5880733 Horvitz et al. Mar 1999 A
5892900 Ginter et al. Apr 1999 A
5955718 Levasseur Sep 1999 A
6056194 Kolls May 2000 A
6390269 Billington May 2002 B1
6462644 Howell Oct 2002 B1
6505095 Kolls Jan 2003 B1
6584309 Whigham Jun 2003 B1
6594759 Wang Jul 2003 B1
6743095 Cole et al. Jun 2004 B2
6793134 Clark Sep 2004 B2
6810234 Rasanen Oct 2004 B1
6840860 Okuniewicz Jan 2005 B1
7085556 Offer Aug 2006 B2
7110954 Yung et al. Sep 2006 B2
7127236 Khan et al. Oct 2006 B2
7131575 Kolls Nov 2006 B1
7455223 Wilson Nov 2008 B1
7458510 Zhou Dec 2008 B1
7464867 Kolls Dec 2008 B1
7493288 Biship et al. Feb 2009 B2
7513419 Crews et al. Apr 2009 B1
7672680 Lee et al. Mar 2010 B1
7690495 Kolls Apr 2010 B1
7721958 Belfer et al. May 2010 B2
7848980 Carlson Dec 2010 B2
7962369 Rosenberg Jun 2011 B2
7965693 Jiang et al. Jun 2011 B2
7983670 Elliott Jul 2011 B1
8020763 Kowalchyk Sep 2011 B1
8059101 Westerman Nov 2011 B2
8157167 Cost et al. Apr 2012 B2
8201736 Majer Jun 2012 B2
8255323 Casey et al. Aug 2012 B1
D669899 Cheng et al. Oct 2012 S
8346670 Hasson et al. Jan 2013 B2
8356754 Johnson et al. Jan 2013 B2
8376227 Hammad et al. Feb 2013 B2
8396589 Katzenstein Garibaldi Mar 2013 B2
8412626 Hirson et al. Apr 2013 B2
8438066 Yuen May 2013 B1
8479190 Sueyoshi et al. Jul 2013 B2
8489140 Weiner et al. Jul 2013 B2
8514775 Frecassetti et al. Aug 2013 B2
8517766 Golko et al. Aug 2013 B2
8548426 Smith Oct 2013 B2
8577734 Treyz Nov 2013 B2
8583496 You et al. Nov 2013 B2
8596528 Fernandes et al. Dec 2013 B2
8596529 Kolls Dec 2013 B1
8600899 Davis Dec 2013 B1
8606702 Ruckart Dec 2013 B2
8615445 Dorsey et al. Dec 2013 B2
8645971 Carlson et al. Feb 2014 B2
8700530 Smith Apr 2014 B2
8707276 Hill et al. Apr 2014 B2
8712893 Brandmaier Apr 2014 B1
8761809 Faith et al. Jun 2014 B2
8769643 Ben Ayed Jul 2014 B1
8788341 Patel Jul 2014 B1
8794734 Drummond Aug 2014 B2
8810430 Proud Aug 2014 B2
8819659 Ramer et al. Aug 2014 B2
8831677 Villa-Real Sep 2014 B2
8838481 Moshfeghi Sep 2014 B2
8850421 Proud Sep 2014 B2
8856045 Patel et al. Oct 2014 B1
8881975 Matthews Nov 2014 B1
8898620 Eizenman et al. Nov 2014 B2
8903737 Cameron et al. Dec 2014 B2
8958846 Freeny, Jr. Feb 2015 B2
9001047 Forstall Apr 2015 B2
9037492 White May 2015 B2
9092768 Breitenbach et al. Jul 2015 B2
9098961 Block et al. Aug 2015 B1
9210247 Vance et al. Dec 2015 B2
9262771 Patel Feb 2016 B1
9272713 Dvoskin et al. Mar 2016 B1
9395888 Schiplacoff et al. Jul 2016 B2
9424603 Hammad Aug 2016 B2
9483763 Van Os Nov 2016 B2
9547859 Patel Jan 2017 B2
9875473 Patel Jan 2018 B2
9898884 Arora et al. Feb 2018 B1
10121318 LeMay et al. Nov 2018 B2
10163292 Romero Dec 2018 B1
10210501 Low et al. Feb 2019 B2
10217151 Greiner et al. Feb 2019 B1
10304057 Powell May 2019 B1
10380573 Lin et al. Aug 2019 B2
10410194 Grassadonia Sep 2019 B1
10423949 Lyons et al. Sep 2019 B2
10824828 Ostri Nov 2020 B2
10977642 Khan Apr 2021 B2
11010759 Maeng May 2021 B1
11042852 Wadhwa Jun 2021 B1
11074577 Soccorsy et al. Jul 2021 B1
11182794 Aument Nov 2021 B1
11227275 Van Heerden et al. Jan 2022 B2
11308462 Berman et al. Apr 2022 B2
11373147 Moore Jun 2022 B1
11564266 Kahn Jan 2023 B1
20020016740 Ogasawara Feb 2002 A1
20020152123 Giordano et al. Oct 2002 A1
20020164953 Curtis Nov 2002 A1
20030009385 Tucciarone Jan 2003 A1
20030089767 Kiyomatsu May 2003 A1
20030101096 Suzuki et al. May 2003 A1
20030110097 Lei Jun 2003 A1
20030130902 Athwal Jul 2003 A1
20030158891 Lei et al. Aug 2003 A1
20030191811 Hashem Oct 2003 A1
20030206542 Holder Nov 2003 A1
20030236872 Atkinson Dec 2003 A1
20040029569 Khan et al. Feb 2004 A1
20040049454 Kanno et al. Mar 2004 A1
20040117262 Berger et al. Jun 2004 A1
20040122685 Bunce et al. Jun 2004 A1
20040133653 Defosse Jul 2004 A1
20050021459 Bell Jan 2005 A1
20050043011 Murray Feb 2005 A1
20050080510 Bates Apr 2005 A1
20050101295 Rupp May 2005 A1
20050177798 Thomson et al. Aug 2005 A1
20050181804 Misikangas et al. Aug 2005 A1
20050232421 Simons et al. Oct 2005 A1
20050234776 Jacoves Oct 2005 A1
20060043175 Fu et al. Mar 2006 A1
20060052157 Walker et al. Mar 2006 A1
20060123335 Sanchez et al. Jun 2006 A1
20070050083 Signorelli et al. Mar 2007 A1
20070083287 Defosse et al. Apr 2007 A1
20070095901 Illingworth May 2007 A1
20070119680 Saltsov et al. May 2007 A1
20070159994 Brown et al. Jul 2007 A1
20070186105 Bailey Aug 2007 A1
20070187491 Godwin et al. Aug 2007 A1
20070227856 Gopel Oct 2007 A1
20070255653 Tumminaro Nov 2007 A1
20080010190 Rackley, III et al. Jan 2008 A1
20080010193 Rackley, III et al. Jan 2008 A1
20080033880 Fiebiger et al. Feb 2008 A1
20080040265 Rackley, III et al. Feb 2008 A1
20080126213 Robertson et al. May 2008 A1
20080141033 Ginter et al. Jun 2008 A1
20080154727 Carlson Jun 2008 A1
20080154735 Carlson Jun 2008 A1
20080163257 Carlson et al. Jul 2008 A1
20080167017 Wentker et al. Jul 2008 A1
20080167991 Carlson et al. Jul 2008 A1
20080183480 Carlson et al. Jul 2008 A1
20080201226 Carlson et al. Aug 2008 A1
20080208762 Arthur et al. Aug 2008 A1
20080249658 Walker Oct 2008 A1
20080254853 Wright et al. Oct 2008 A1
20080255947 Friedman Oct 2008 A1
20080319913 Wiechers Dec 2008 A1
20090037284 Lewis et al. Feb 2009 A1
20090076896 Dewitt Mar 2009 A1
20090099961 Ogilvy Apr 2009 A1
20090106160 Skowronek Apr 2009 A1
20090119190 Realini May 2009 A1
20090171682 Dixon et al. Jul 2009 A1
20090287349 Mardiks Nov 2009 A1
20090288173 Mardiks Nov 2009 A1
20090303982 Blachman et al. Dec 2009 A1
20090306818 Slagley et al. Dec 2009 A1
20090306819 Insolia Dec 2009 A1
20090313125 Roh et al. Dec 2009 A1
20090313132 Kenna et al. Dec 2009 A1
20090327089 Kanno et al. Dec 2009 A1
20100061294 Proctor, Jr. Mar 2010 A1
20100082485 Lin et al. Apr 2010 A1
20100094456 Simpkins et al. Apr 2010 A1
20100105454 Weber et al. Apr 2010 A1
20100198400 Pascal Aug 2010 A1
20100227671 Laaroussi et al. Sep 2010 A1
20100276484 Banerjee Nov 2010 A1
20100280956 Chutorash Nov 2010 A1
20100312692 Teicher Dec 2010 A1
20100320266 White Dec 2010 A1
20100329285 Stanton Dec 2010 A1
20110029405 Cronin Feb 2011 A1
20110040686 Carlson Feb 2011 A1
20110125561 Marcus May 2011 A1
20110153436 Krampe Jun 2011 A1
20110153442 Krampe Jun 2011 A1
20110153495 Dixon et al. Jun 2011 A1
20110172848 Breitenbach et al. Jul 2011 A1
20110178883 Granbery Jul 2011 A1
20110225067 Dunwoody Sep 2011 A1
20110238476 Carr Sep 2011 A1
20110244799 Roberts et al. Oct 2011 A1
20110251892 Laracey Oct 2011 A1
20110251910 Dimmick Oct 2011 A1
20110276636 Cheng et al. Nov 2011 A1
20110289023 Forster et al. Nov 2011 A1
20120011024 Dorsey et al. Jan 2012 A1
20120016731 Smith et al. Jan 2012 A1
20120029691 Mockus et al. Feb 2012 A1
20120030047 Fuentes Feb 2012 A1
20120036045 Lowe et al. Feb 2012 A1
20120066096 Penide Mar 2012 A1
20120078735 Bauer et al. Mar 2012 A1
20120108173 Hahm et al. May 2012 A1
20120136478 Anand May 2012 A1
20120150742 Poon et al. Jun 2012 A1
20120158172 Wencslao Jun 2012 A1
20120158528 Hsu et al. Jun 2012 A1
20120160912 Laracey Jun 2012 A1
20120197740 Grigg et al. Aug 2012 A1
20120203666 Torossian et al. Aug 2012 A1
20120231844 Coppinger Sep 2012 A1
20120246074 Annamalai et al. Sep 2012 A1
20120253852 Pourfallah Oct 2012 A1
20120254631 Skillman et al. Oct 2012 A1
20120255653 Chin Oct 2012 A1
20120258773 Alvarez Rivera Oct 2012 A1
20120276845 Wikander Nov 2012 A1
20120290472 Mullen et al. Nov 2012 A1
20120296826 Bergdale et al. Nov 2012 A1
20120303528 Weiner et al. Nov 2012 A1
20120316963 Moshfeghi Dec 2012 A1
20120330764 Nahidipour Dec 2012 A1
20120330844 Kaufman Dec 2012 A1
20130030931 Moshfeghi Jan 2013 A1
20130054016 Canter et al. Feb 2013 A1
20130054336 Graylin Feb 2013 A1
20130054395 Cyr et al. Feb 2013 A1
20130067365 Shrufi et al. Mar 2013 A1
20130085835 Horowitz Apr 2013 A1
20130087050 Studor et al. Apr 2013 A1
20130100886 Cherian Apr 2013 A1
20130110296 Khoo May 2013 A1
20130117490 Harriman May 2013 A1
20130117738 Livingston et al. May 2013 A1
20130124289 Fisher May 2013 A1
20130126607 Behjat May 2013 A1
20130143498 Niemi Jun 2013 A1
20130166448 Narayanan Jun 2013 A1
20130185150 Crum Jul 2013 A1
20130191789 Calman Jul 2013 A1
20130217333 Sprigg et al. Aug 2013 A1
20130246171 Carapelli Sep 2013 A1
20130246364 Bhavith Sep 2013 A1
20130267121 Hsu Oct 2013 A1
20130267176 Hertel et al. Oct 2013 A1
20130275303 Fiore Oct 2013 A1
20130275305 Duplan Oct 2013 A1
20130278622 Sun et al. Oct 2013 A1
20130282590 Rajarethnam et al. Oct 2013 A1
20130297422 Hunter et al. Nov 2013 A1
20130311379 Smith Nov 2013 A1
20130311382 Fosmark et al. Nov 2013 A1
20130331985 Felique Dec 2013 A1
20130332293 Ran Dec 2013 A1
20130346305 Mendes Dec 2013 A1
20140006451 Mullis et al. Jan 2014 A1
20140012414 Pérez et al. Jan 2014 A1
20140019367 Khan et al. Jan 2014 A1
20140025958 Calman Jan 2014 A1
20140032410 Georgiev et al. Jan 2014 A1
20140032413 Low Jan 2014 A1
20140040028 King et al. Feb 2014 A1
20140040117 Jain Feb 2014 A1
20140052524 Andersen Feb 2014 A1
20140052607 Park Feb 2014 A1
20140064116 Linde et al. Mar 2014 A1
20140067542 Everingham Mar 2014 A1
20140074714 Melone et al. Mar 2014 A1
20140074723 Kamat Mar 2014 A1
20140085046 Shin et al. Mar 2014 A1
20140085109 Stefik Mar 2014 A1
20140089016 Smullin Mar 2014 A1
20140100977 Davis Apr 2014 A1
20140122298 Oyer May 2014 A1
20140136301 Valdes May 2014 A1
20140136411 Cho May 2014 A1
20140143055 Johnson May 2014 A1
20140143074 Kolls May 2014 A1
20140143137 Carlson May 2014 A1
20140172179 Baudin Jun 2014 A1
20140180852 Kamat Jun 2014 A1
20140108108 Artman Jul 2014 A1
20140188708 Govindarajan et al. Jul 2014 A1
20140201066 Roux et al. Jul 2014 A1
20140249995 Ogilvy Sep 2014 A1
20140278989 Calman Sep 2014 A1
20140279008 Calman Sep 2014 A1
20140279101 Duplan et al. Sep 2014 A1
20140279426 Holman et al. Sep 2014 A1
20140279537 Cicoretti Sep 2014 A1
20140279556 Priebatsch Sep 2014 A1
20140289047 Yee Sep 2014 A1
20140317611 Wojcik et al. Oct 2014 A1
20140324627 Haver Oct 2014 A1
20140337235 Van Heerden et al. Nov 2014 A1
20140351099 Zhu Nov 2014 A1
20140361872 Garcia et al. Dec 2014 A1
20140378057 Ramon et al. Dec 2014 A1
20150006421 Pearson Jan 2015 A1
20150051977 Lyman Feb 2015 A1
20150073980 Griffin et al. Mar 2015 A1
20150081462 Ozvat et al. Mar 2015 A1
20150088698 Ackerman Mar 2015 A1
20150100152 Trevino et al. Apr 2015 A1
20150105901 Joshi et al. Apr 2015 A1
20150120546 Fernandes Apr 2015 A1
20150120555 Jung Apr 2015 A1
20150149992 Wade et al. May 2015 A1
20150154579 Teicher Jun 2015 A1
20150169312 Patel Jun 2015 A1
20150170131 Patel Jun 2015 A1
20150170132 Patel Jun 2015 A1
20150170136 Patel Jun 2015 A1
20150178702 Patel Jun 2015 A1
20150220381 Horagan et al. Aug 2015 A1
20150235202 Zabala Aug 2015 A1
20150278811 Lalchandani Oct 2015 A1
20150287085 Windmueller Oct 2015 A1
20150302377 Sweitzer Oct 2015 A1
20150302411 Bondesen et al. Oct 2015 A1
20150317720 Ramaratnam Nov 2015 A1
20150332029 Coxe Nov 2015 A1
20150346994 Chanyontpatanakul Dec 2015 A1
20150373537 Toksvig Dec 2015 A1
20150379491 Ma et al. Dec 2015 A1
20160012465 Sharp Jan 2016 A1
20160019604 Kobayashi Jan 2016 A1
20160063476 Baldie Mar 2016 A1
20160086145 Tsutsui Mar 2016 A1
20160092859 Klingen Mar 2016 A1
20160098690 Silvia et al. Apr 2016 A1
20160132870 Xu et al. May 2016 A1
20160196220 Perez et al. Jul 2016 A1
20160232515 Jhas Aug 2016 A1
20160292469 Ianni Oct 2016 A1
20160335620 Lyons et al. Nov 2016 A1
20160350744 Tang et al. Dec 2016 A1
20170006656 Nacer et al. Jan 2017 A1
20170193508 Patel et al. Jan 2017 A1
20170193478 Dhurka Jul 2017 A1
20170193479 Kamat Jul 2017 A1
20170330164 Suelberg et al. Nov 2017 A1
20180005220 Laracey Jan 2018 A1
20180165908 Patel et al. Jun 2018 A1
20180197167 Ganesan et al. Jul 2018 A1
20180240096 Patel Aug 2018 A1
20180276674 Ramatchandirane et al. Sep 2018 A1
20180315271 Gharabegian et al. Nov 2018 A1
20180374076 Wheeler et al. Dec 2018 A1
20190236586 Mei et al. Aug 2019 A1
20190244205 Fieglein Aug 2019 A1
20190244465 Saunders et al. Aug 2019 A1
20200387881 Smith et al. Dec 2020 A1
20210012318 Ducoulombier Jan 2021 A1
20210056552 Murray Feb 2021 A1
20210158309 Mcginlay et al. May 2021 A1
20210357932 Patel Nov 2021 A1
20210375094 Thomas et al. Dec 2021 A1
20220405733 Yao et al. Dec 2022 A1
20230222506 Patel et al. Jul 2023 A1
20230274274 Patel Aug 2023 A1
20230289811 Patel et al. Sep 2023 A1
20230297987 Patel Sep 2023 A1
Foreign Referenced Citations (43)
Number Date Country
1561508 Jan 2005 CN
204375056 Jun 2015 CN
105139196 Dec 2015 CN
106803175 Jun 2017 CN
107480975 Dec 2017 CN
207663510 Jul 2018 CN
109389755 Feb 2019 CN
108367497 Jun 2021 CN
108352094 Sep 2021 CN
1571607 Sep 2005 EP
2061001 May 2009 EP
3901880 Oct 2021 EP
H1125320 Jan 1999 JP
2002-183812 Jun 2002 JP
2003-242401 Aug 2003 JP
2003-323662 Nov 2003 JP
2004-252640 Sep 2004 JP
2004310740 Nov 2004 JP
2005-526325 Sep 2005 JP
2009-259226 Nov 2009 JP
2010528716 Aug 2010 JP
4586607 Nov 2010 JP
2012-504273 Feb 2012 JP
20130138637 Dec 2013 KR
WO2003098561 Nov 2003 WO
WO2006020692 Feb 2006 WO
WO2007015610 Feb 2007 WO
WO2008083022 Jul 2008 WO
WO2008083025 Jul 2008 WO
WO2008083078 Jul 2008 WO
WO2008083089 Jul 2008 WO
WO2008083105 Jul 2008 WO
WO2008083115 Jul 2008 WO
WO2008083119 Jul 2008 WO
WO2009070430 Jun 2009 WO
WO2013132995 Sep 2013 WO
WO2013177416 Nov 2013 WO
WO2014093857 Jun 2014 WO
WO2016123545 Aug 2016 WO
WO2016158748 Oct 2016 WO
WO2017010936 Jan 2017 WO
WO2017010936 Jan 2017 WO
WO2017143079 Aug 2017 WO
Non-Patent Literature Citations (165)
Entry
USA Technologies Announces Cashless Solution to be Offered by Blackboard Inc., Jul. 18, 2007, Business Wire (Year: 2007).
Slick Self-Service Options: As Staffing Remains Lean Grocers are using Advanced Self-Service Checkouts and Kiosk to Augment Customer Service, Grocery Headquarters, 2010 (Year: 2010).
@RobocopyEs, posted Oct. 11, 2014, retrieved Feb. 13, 2018, <URL:https://twitter.com/robocopyes> 2 pgs.
Adams, How can stationary kiosks thrive in a mobile world?, Amerian Banker, 2012.
Balan et al., mFerio: the design and evaluation of a peer-to-peer mobile payment system, Jun. 2009, 14 pgs.
Balfe et al., e-EMV: emulating EMV for internet payments with trusted computing Technologies, Oct. 2008, 12 pgs.
Bing, Bing Images Search: “dongle”, http://www.bing.com/images/search?q=dongle&amp;FORM+HDRSC2, Dec. 5, 2013, 8 pgs.
Carlson, Specification, U.S. Appl. No. 60/871,898, Dec. 26, 2006, 169 pgs.
Frolick, Assessing M-Commerce Opportunities, Auerbach Publications Inc., Information Systems Management, Spring 2004.
Google, Chromecast, http://www.google.com/intl/devices/chromecast/, Dec. 12, 2013, 4 pgs.
How to Pay the New Way, youtube, Apr. 5, 2018, 4 pgs.
How will Apple's new mobile wallet Passbook impact other mobile wallets?, posted Jun. 13, 2012, retrieved Feb. 13, 2018 from <URL:https://www.quora.com/How-will-Apples-new-mobile-wallet-Passbook-impact-other-mobile-wallets>, 5 pgs.
Kadambi et al., Near-Field Communication-based Secure Mobile Payment Service, Aug. 2009, 10 pgs.
Madlmayr et al., Near Field Communication Based Mobile Payment System, Austrian Research Funding Agency, Project 811408, Mar. 6, 2008, 13 pgs.
Novotny, Applying RFID technology in the retail industry-benefits and concerns from the consumer's perspective, Institute of Economic Science, Eszterhazy Karoly College, Eger, Hungary, Retail Technologies for the 21 Century, innovation and competitiveness in the retail industry, 2015.
Nurel, “Recent Developments in Wireless Network Systems”, Izmir Institute of Technology, Sep. 2001, 280 pages (Year: 2001).
Patel, Office Action, U.S. Appl. No. 14/320,534, Mar. 2, 018, 26 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/320,534, Apr. 16, 2015, 21 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/320,534, Nov. 30, 2016, 24 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/321,717, Jun. 18, 2015, 22 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/321,724, Oct. 8, 2015, 19 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/321,724, Dec. 13, 2017, 22 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/321,733, Nov. 14, 2014, 11 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/335,762, Jun. 9, 2016, 15 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/456,683, Jun. 8, 2015, 14 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/458,192, Sep. 16, 2015, 26 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/458,199, Jun. 24, 2015, 8 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/641,236, Mar. 11, 2016, 16 pgs.
Patel, Final Office Action, U.S. Appl. No. 14/968,703, Feb. 12, 2019, 22 pgs.
Patel, Final Office Action, U.S. Appl. No. 15/435,228, Oct. 2, 2020, 24 pgs.
Patel, Final Office Action, U.S. Appl. No. 15/893,514, Jul. 22, 2021, 12 pgs.
Patel, Final Office Action, U.S. Appl. No. 15/956,741, Oct. 2, 2020, 12 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/214,644, Jun. 10, 2014, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/321,733, Jun. 22, 2015, 8 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/321,733, Feb. 27, 2015, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/335,762, Oct. 3, 2016, 8 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/335,762, Mar. 30, 2015, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/456,683, Oct. 8, 2015, 15 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/458,192, Oct. 12, 12 2017, 8 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/458,199, Jan. 20, 2017, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/611,065, Mar. 26, 2018, 18 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/614,336, Dec. 11, 2015, 8 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/614,336, Nov. 25, 2015, 13 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 14/968,703, Jun. 27, 2019, 10 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 15/406,492, Mar. 11, 2020, 10 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 15/435,228, Aug. 12, 2021, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 15/603,400, Dec. 18, 2019, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 15/603,400, Jun. 18, 2020, 5 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 15/878,352, Oct. 23, 2020, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 16/029,483, Dec. 23, 2020, 23 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 16/748,727, May 9, 2022, 18 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 16/748,727, Jan. 20, 2022, 17 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 16/750,477, Jan. 26, 2022, 17 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 16/934,933, Mar. 31, 2021, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 16/681,673, Aug. 17, 2022, 22 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 17/529,111, Sep. 22, 2022, 10 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 17/654,732, Sep. 16, 2022, 9 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/320,534, Apr. 8, 2016, 21 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/320,534, Oct. 29, 2014, 18 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/321,717, Dec. 19, 2014, 16 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/321,724, Mar. 13, 2017, 21 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/321,724, May 15, 2015, 19 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/321,733, Aug. 21, 2014, 9 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/335,762, Dec. 10, 2014, 7 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/335,762, Sep. 18, 2015, 13 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/456,683, Jan. 2, 2015, 10 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/458,192, Mar. 23, 2017, 26 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/458,192, Jan. 30, 2015, 24 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/458,199, Jan. 5, 2015, 7 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/458,199, Mar. 28, 2016, 8 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/611,065, Oct. 3, 2016, 19 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/611,065, Jun. 13, 2017, 17 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/614,336, May 27, 2015, 17 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/641,236, Feb. 7, 2018, 19 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/641,236, May 29, 2015, 10 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 14/968,703, Aug. 7, 2018, 31 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/406,492, Jul. 25, 2019, 17 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/435,228, Mar. 26, 2020, 21 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/603,400, Jun. 12, 2019, 11 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/878,352, Jan. 24, 2020, 13 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/893,514, Oct. 29, 2020, 17 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/956,741, Apr. 22, 2020, 10 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/956,741, Dec. 27, 2021, 10 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 16/029,483, Apr. 27, 2020, 28 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 16/681,673, Dec. 24, 2021, 21 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 16/934,933, Oct. 28, 2020, 10 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 17/216,399, Apr. 8, 2022, 15 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/893,514, Sep. 30, 2022, 8 pgs.
When the Future Feels Worse Than the Past: A Temporal Inconsistency in Moral Judgment, 15 pgs. (Year: 2010) https://citeseerx.ist.psu.edu/viewdoc/ download?doi=10.1.1.675.3584&rep=repl&type=pdf.
PayRange Inc., Communication Pursuant to Article 94(3), EP14828617.2, Dec. 19, 2017, 6 pgs.
PayRange Inc., Communication Pursuant to Article 94(3), EP16706931.9, Jun. 29, 2018, 8 pgs.
PayRange Inc., Communication Pursuant to Rules 161(1) and 162, EP14828617.2, Sep. 21, 2016, 2 pgs.
PayRange Inc., Communication Pursuant to Rules 161(1) and 162, EP16706931.9, Sep. 21, 2017, 2 pgs.
PayRange Inc., Communication under Rule 71(3) EPC, EP14828617.2, Nov. 19, 2020, 7 pgs.
PayRange Inc., Communication under Rule 71(3) EPC, EP17708929.9, Jun. 12, 2020, 7 pgs.
PayRange Inc., European Search Report, EP20203134.0, Mar. 1, 2021, 7 pgs.
PayRange Inc., European Search Report, EP21165692.1, Sep. 14, 2021, 10 pgs.
PayRange Inc., IPRP, PCT/US2014/071284, Jun. 21, 2016, 6 pgs.
PayRange Inc., IPRP, PCT/US2016/015763, Aug. 1, 2017, 7 pgs.
PayRange Inc., IPRP, PCT/US2017/015676, Jul. 31, 2018, 9 pgs.
PayRange Inc., IPRP, PCT/US2017/018194, Aug. 21, 2018, 17 pgs.
PayRange Inc., IPRP, PCT/US2019/060777, May 11, 2021, 7 pgs.
PayRange Inc., ISR/WO, PCT/US2014/071284, Mar. 25, 2015, 9 pgs.
PayRange Inc., ISR/WO, PCT/US2016/015763, Apr. 8, 2016, 9 pgs.
PayRange Inc., ISR/WO, PCT/US2017/015676, Apr. 18, 2017, 11 pgs.
PayRange Inc., ISR/WO, PCT/US2017/018194, Apr. 12, 2017, 10 pgs.
PayRange Inc., ISR/WO, PCT/US2019/060777, Feb. 6, 2020, 11 pgs.
PayRange Inc., ISR/WO, PCT/US2021/042632, Nov. 17, 2021, 11 pgs.
PayRange Inc., Notice of Reasons for Rejection, JP2017527886, Aug. 29, 2019, 10 pgs.
PayRange Inc., Notice of Reasons for Rejection, JP2018-543707, Sep. 4, 2020, 4 pgs.
PayRange Inc., Notice of Reasons for Rejection, JP2020-101558, Oct. 7, 2021, 4 pgs.
PayRange Inc., Summons to Attend Oral Proceedings, EP14828617.2, Apr. 2, 2020, 12 pgs.
PayRange New Product Launch, posted at youtube.com Jun. 27, 2015, @ 2016 YouTube, LLC, [online], [site visited Mar. 2, 2016]. Available from Internet, <URL: https://www.youtube.com/watch?v=NTvvV03XFeg., 1 pg.
Smart Vending Machine Demo at TechCrunch Disrupt 2013, posted at youtube.com Dec. 3, 2013, @ 2016 YouTube, LLC, [online], [site visited Mar. 2, 2016]. Available from internet, URL: https://www.youtube.com/watch?v=XEz1H-gxLj8>.
Square Mobile Credit Card Processing for iPhone, iPod, iPad, posted at youtube.com, posting date Apr. 30, 2011, @ 2016 YouTube, LLC, [online], [site visited Mar. 2, 2016]. Available from internet, <URL: https://www.youtube.com/watch?v=v6sKb3CFSKw>.
Kanapaka et al., A Stochastic Game Theoretic Model for Expanding ATM Services. Https://ieeexplore.IEEE.org/stamp/stamp.jsp?tp=&arnumber=7395687, 2015, 8 pgs.
Patel, Notice of Allownce, U.S. Appl. No. 17/147,305, Oct. 6, 2022, 9 pgs.
Hoffman et al., “New options in Wireless payments”, Internet World 7.7:37 Penton Media Inc., Penton Business Media, Inc. and their subsidiaries. (Year: 2001) 5 pgs.
Carton et al., “Framework for Mobile Payments Integration”, Electronic Journal of Information Systems Evaluation, 15.1: 14-24, Academic Conferences International Limited, January. (Year: 2012), 14 pgs.
Apriva LLC Awarded Patent for System and Method for Facilitating a Purchase Transaction using a Customer Device Beacon, Jun. 7, 2017, Global IP News (Year: 2017), 5 pgs.
Kumar, “Amazon gets Indian patent for auto authentification of mobile transactions”, ProQuest document Id:2433007646, Financial Express, Aug. 13 (Year:2020), 2 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 17/443,802, Dec. 23, 2022, 14 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 15/956,741, Feb. 27, 2023, 11 pgs.
Patel et al., Notice of Allowance, U.S. Appl. No. 15/893,514, Apr. 10, 2023, 13 pgs.
Heimerl et al., “Community sourcing: Engaging Local Crowds to Perform Expert Work Via Physical Kiosks”, CHI '12: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, May 2012, pp. 1539-1548, 10 pgs. https://doi.org/10.1145/2207676.2208619.
Patel, Notice of Allowance, U.S. Appl. No. 17/443,802, Jun. 28, 2023, 8 pgs.
Patel, Corrected Notice of Allowability, U.S. Appl. No. 17/443,802, Jul. 10, 2023, 5 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 17/983,311, Jun. 28, 2023, 10 pgs.
EIC 3600 Search Report, STIC, Scientific & Technical Information Center, Date Completed Jun. 12, 2023, 5 pgs.
Patel et al., Notice of Allowance, U.S. Appl. No. 15/893,514, Jul. 12, 2023, 13 pgs.
Patel et al., Notice of Allowance, U.S. Appl. No. 17/973,506, Jul. 26, 2023, 13 pgs.
Katy Jacob, “Are mobile payments the smart cards of the aughts?”, Scientific and Technical Information Center, Report Information from Dialog, Jul. 14, 2023—11:33, ProQuest, Publication Info: Chicago Fed Letter 240: 1-4. Federal Reserve Bank of Chicago. (Jul. 2007), 9 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 18/197,071, Aug. 16, 2023, 9 pgs.
Hossain et al., “ Comprehensive Study of Bluetooth Signal Parameters for Localization”, Department of Electrical & Computer EngineeringNational University of Singapore, 5 pgs. Email: {g0500774, weeseng}@nus.edu.sg,.
Hands-Free Profile 1.5, Doc. No. HFP1.5_SPEC, Nov. 25, 2005, 93 pgs.
DEX and MDB: A Primer For Vendors | Vending Market Watch, Feb. 7, 2008, 5 pgs. https://www.vendingmarketwatch.com/print/content/10272928.
MDB Protocol V4.2—Multi-Drop Bus—Internal Communication Protocol, MDB/ICP, Version 4.2, Feb. 2011, 313 pgs.
Gruber et al., “The Commodity Vending Machine”, Forum Ware International Feb. 2005, 11 pgs.
Michael L. Kasavana, Innovative VDI Standards: Moving an Industry Forward, The Journal of International Management, vol. 4, No. 3, Dec. 2009, 10 pgs.
SDFL Administrative Order 2021-33, Apr. 6, 2021, 5 pgs.
The New York Times by David Poque, In Arrived of 2 iPhones, 3 Lessons, Sep. 17, 2013, 4 pgs. https://www./nytime.com/2013/09/18/technology/personaltech/In-Arrived-of-2-iPhones-3- Lessons.html.
Cnet, John Thompson, How to use S Beam on your Samsung Galaxy S3, Jun. 21, 2012, 5 pgs. https://www.cnet.com/how-to/how-to-use-s-beam-on-your-samsung-galaxy-s3/.
iPhone, User Guide For iOS 6.1 Software, 156 pgs.
Apple Reports Fourth Quarter Results, Oct. 28, 2013, 4 pgs.
Apple Announces iPhone 5s-The Most Forward—Thinking Smartphone in the World, Sep. 10, 2013, 5 pgs.
cNET, by Marguerite Reardon, Motion sensing comes to mobile phones, Jun. 11, 2007, 4 pgs.
Multi-Drop Bus—Internal Communication Protocol, MDB/ICP, Version 3, Mar. 26, 2003, 270 pgs.
Weidong Kou, Payment Technologies for E-Commerce, University of Hong Kong Pokfulam Road, Hong Kong, ACM Subject Classification (1998): H.4, K.4.4, J.1, 339 pgs.
Specification for RFID Air Interface, EPCTM Radio-Frequency Identity Protocols, Class-1 Generation-2 UHF RFID, Protocol for Communications at 860 MHz—960 MHz, Version 1.2.0, EPCglobal Inc., Oct. 23, 2008, 108 pgs.
Baier et al., “Principles of Model Checking”, The MIT Press Cambridge, Massachusetts, London, England, 2008, 994 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 17/983,311, Oct. 4, 2023, 11 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 18/197,070, Sep. 27, 2023, 8 pgs.
Patel et al., Notice of Allowance, U.S. Appl. No. 15/893,514, Nov. 8, 2023, 13 pgs.
Kevin Werbach et al., “Contracts Ex Machina”, Articles, Faculty Scholarship, University of Michigan Law School, The University of Michigan Law School Scholarship Repository, (Year: 2017), 71 pgs. https://repository.law.umich.edu/cgi/viewcontent.cgi?article=2936&context=articles.
Patel et al., Notice of Allowance, U.S. Appl. No. 17/973,506, Dec. 7, 2023, 11 pgs.
Bailey, Mobile-phone payment option gains ground, Dialog, STIC, Report Information from Dialog, Nov. 29, 2023, 6 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 17/968,672, Dec. 15, 2023, 14 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 17/973,505, Dec. 15, 2023, 14 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 18/197,070, Dec. 20, 2023, 10 pgs.
“Mobile payment heads to the U.S.”, Mobile Internet 6.10:1. Information Gatekeepers, Inc. (Oct. 2004), 2 pgs.
“During the period 2005 to 2009, the total number of wireless data connections used for retail applications in Europe can be expected to rise from less than 1 million to around 3 million”, M2 PressWire, Feb. 28 (Year: 2006), 3 pgs.
Patel, Non-Final Office Action, U.S. Appl. No. 17/973,507, Jan. 26, 2024, 9 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 15/956,741, Jan. 18, 2024, 18 pgs.
IEEE Standard for Information technology—Telecommunication and information exchange between systems—Local and metropolitan area networks—Specific requirements, Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs), IEEE, The Institute of Electrical and Electronics Engineers, Inc., 3 Park Avenue, New York, NY 10016-5997, USA, Oct. 1, 2003, 679 pgs.
Patel, Notice of Allowance, U.S. Appl. No. 18/197,071, Jan. 26, 2024, 10 pgs.
Related Publications (1)
Number Date Country
20230281655 A1 Sep 2023 US
Continuations (3)
Number Date Country
Parent 17216399 Mar 2021 US
Child 17963170 US
Parent 16029483 Jul 2018 US
Child 17216399 US
Parent 14611065 Jan 2015 US
Child 16029483 US