Hands-free transaction tokens via payment processor

Conducting hands-free transactions comprises a server at a payment processing system, a user computing device, and a merchant computing device. The payment processing system registers a merchant system as a hands-free payment participant and provides a beacon identifier. The payment processing system receives a communication from a hands-free payment application on a user computing device, the communication comprising a transaction token, an identification of a user account, and the beacon identifier received by the user computing device via a wireless communication from a device associated with the merchant system and transmits the transaction token to the merchant system computing device. The payment processing system receives from the merchant system computing device, a transaction request, the transaction request comprising the token and transaction data associated with the transaction request and conducts the transaction between the user account and the merchant system based on the received token and transaction request.

TECHNICAL FIELD

The present disclosure relates generally to retail transactions, and more particularly to conducting hands-free transactions at a merchant location that allow a user to conduct transactions without engaging the user computing device. The disclosure additionally relates to making the transactions more secure and efficient.

BACKGROUND

When consumers make purchases at a merchant location, many methods of conducting a transaction are available. Consumers may use many different payment cards or accounts for purchases, such as gift cards, debit cards, credit cards, stored value cards, and other cards or accounts. The user account identifiers and other data represented by the cards may be communicated to the merchant system via magnetic stripes, near field communication technologies, manual input, and other suitable mechanisms.

Conventional payment systems require the consumer to perform actions to provide the user account identifiers and other data to the merchant system. For example, the user may be required to actuate a start button or initiate an application. In another example, the user may be required to tap or swipe a user computing device to initiate a transaction. Other user interactions may be required by conventional payment systems.

SUMMARY

Techniques herein provide computer-implemented methods to conduct hands-free transactions. In an example embodiment, conducting hands-free transactions comprises a server at a payment processing system, a user computing device, and a merchant computing device. The payment processing system registers a merchant system as a hands-free payment participant and provides a beacon identifier. The merchant system broadcasts the beacon, which is received by a user computing device at the merchant's location. The payment processing system receives a communication from a hands-free payment application on the user computing device. The communication comprises a transaction token, an identification of a user account, and the beacon identifier received by the user computing device and transmits the transaction token to the merchant system computing device. The payment processing system receives from the merchant system computing device, a transaction request. The transaction request comprises the token and transaction data associated with the transaction request. The payment processing system conducts the transaction between the user account and the merchant system based on the received token and transaction request.

In certain other example aspects described herein, systems and computer program products to conduct hands-free transactions are provided.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

The example embodiments described herein provide computer-implemented techniques to conduct hands-free payments. In an example embodiment, a user installs a hands-free application on a user computing device. The user maintains a user account on a payment processing system for conducting transactions. A merchant computing device at a merchant location provides a beacon identifier that is received by the user computing device.

The user computing device generates a token for conducting a transaction and transmits the token to the payment processing system. The payment processing system transmits the token to the merchant computing device. The merchant computing device stores the token for use in a transaction with the user computing device.

The user approaches the salesperson to conduct a transaction using the hands-free application. The salesperson initiates the transaction on the merchant computing device and identifies the user on a user interface of the merchant computing device. The merchant computing device transmits the transaction details and the token for the user to the payment processing system. The payment processing system verifies the details of the transaction and the token and conducts the transaction. The payment processing system communicates a notification to the user computing device with the transaction data.

In an example embodiment, the beacon identifier of the merchant system and other authorized beacon identifiers are stored on a database. The user computing device compares a received beacon identifier to the database and determines if the merchant beacon is authorized for hands-free transactions with the user.

In another example embodiment, a global positioning system (“GPS”) module of a user computing device is utilized to determine if the merchant beacon is authorized for hands-free transactions with the user. The user computing device, upon receiving a beacon identifier, determines the location of the user computing device, and thus, the location of the beacon. The location is compared to a database of beacon locations to determine if the beacon is broadcasting from the expected location. If the locations match, then the user computing device determines that a subsequent hands-free transaction with the merchant may proceed.

By using and relying on the methods and systems described herein, the hands-free application and payment processing system dynamically provide accurate and reliable transactions for a user without a needed action from the user. As such, the systems and methods described herein may be employed to allow the user to conduct a transaction using communications from the user computing device, the merchant computing device, and the payment processing system that are secure and efficient. The user is not troubled to provide any actuation or other initiating steps to conduct a transaction. The system may use the location of the user computing device to make the transaction more secure. The system may use communication between the user computing device and the payment processing system to reduce fraudulent activities by the merchant. The system may use beacon identifiers between the user computing device and the merchant computing device to reduce fraudulent activities. Hence, the methods and systems described herein decrease user frustration and permit accurate and reliable transactions for a user.

Example System Architectures

Turning now to the drawings, in which like numerals indicate like (but not necessarily identical) elements throughout the figures, example embodiments are described in detail.

FIG. 1is a block diagram depicting a system100for conducting hands-free transactions, in accordance with certain example embodiments. As depicted inFIG. 1, the system100includes network computing devices110,130,140, and150that are configured to communicate with one another via one or more networks120. In some embodiments, a user101or a salesperson102associated with a device must install an application and/or make a feature selection to obtain the benefits of the techniques described herein.

In example embodiments, the network120can include a local area network (“LAN”), a wide area network (“WAN”), an intranet, an Internet, storage area network (“SAN”), personal area network (“PAN”), a metropolitan area network (“MAN”), a wireless local area network (“WLAN”), a virtual private network (“VPN”), a cellular or other mobile communication network, Bluetooth, Bluetooth low energy, near field communication (“NFC”), Wi-Fi, or any combination thereof or any other appropriate architecture or system that facilitates the communication of signals, data, and/or messages. Throughout the discussion of example embodiments, it should be understood that the terms “data” and “information” are used interchangeably herein to refer to text, images, audio, video, or any other form of information that can exist in a computer-based environment.

Each network computing system110,130,140, and150includes a device having a communication module capable of transmitting and receiving data over the network120. For example, each network computing device110,130,140, and150can include a server, desktop computer, laptop computer, tablet computer, a television with one or more processors embedded therein and/or coupled thereto, smart phone, handheld computer, personal digital assistant (“PDA”), or any other wired or wireless, processor-driven device. In the example embodiment depicted inFIG. 1, the network computing devices110,130,140, and150are operated by users101, merchant system operators, payment processing system operators, and salespersons102, respectively.

In the examples provided herein, actions performed by the user101may be performed by the salesperson102in other embodiments. Examples described as being performed by the user computing device110may be performed by the merchant computing device150or the payment processing system140in other embodiments.

An example user computing device110comprises a data storage unit112, a communication application113, a web browser114, a user interface115, a global positioning system (“GPS”) module118, and a hands-free payment application116.

In an example embodiment, the data storage unit112comprises a local or remote data storage structure accessible to the user computing device110suitable for storing information. In an example embodiment, the data storage unit112stores encrypted information, such as HTML5 local storage.

In an example embodiment, the user101uses a communication application113, such as a web browser114application or a stand-alone hands-free payment application116, to view, download, upload, or otherwise access documents or web pages via a distributed network120.

In an example embodiment, the communication application113can interact with web servers or other computing devices connected to the network120, including the user computing device110, a point of sale (“POS”) terminal134associated with a merchant system130and/or a web server (not depicted) associated with a payment processing system140.

In an example embodiment, the web browser114can enable the user101to interact with web pages using the user computing device110.

In an example embodiment, the user interface115enables the user101to interact with the hands-free payment application116and/or web browser114. For example, the user interface115may be a touch screen, a voice-based interface, or any other interface that allows the user101to provide input and receive output from an application or module on the user computing device110. In an example embodiment, the user101interacts via the user interface115with the hands-free payment application116and/or web browser114to configure user accounts on a payment processing system hands-free module141. In another example embodiment, the user101interacts via the user interface115with the hands-free payment application116and/or the web browser114to enable hands-free payments, if needed.

In an example embodiment, the GPS module118communicates with one or more satellites of the Global Positioning System (“GPS”) or other satellite-based location system to determine the location of the user computing device110. In an example embodiment, the delivery system140periodically or continuously communicates with the GPS module118during applicable time periods to determine and log the location of the user computing device110. In another embodiment, the location of the user computing device110is identified based on Wi-Fi signals, cellular location, or any suitable location identifying technology. Any location determining hardware, software, or combination of hardware and software is represented by the GPS module118.

In an example embodiment, the hands-free payment application116is a program, function, routine, applet, or similar entity that exists on and performs its operations on the user computing device110. In certain example embodiments, the user101must install the hands-free payment application116and/or make a feature selection on the user computing device110to obtain the benefits of the techniques described herein. In an example embodiment, the user101may access the hands-free payment application116on the user computing device110via the user interface115. In an example embodiment, the hands-free payment application116may be associated with the payment processing system140. In another example embodiment, the application may be associated with the merchant system130. In yet another example embodiment, there are two hands-free payment applications116, one associated with the merchant system130and another associated with the payment processing system140.

In certain example embodiments, one or more functions herein described as performed by the hands-free payment application116may also be performed by a web browser114application, for example, a web browser114application associated with a merchant system website134or associated with the payment processing system140. In certain example embodiments, one or more functions herein described as performed by the hands-free payment application116may also be performed by the user computing device operating system. In certain example embodiments, one or more functions herein described as performed via the web browser114may also be performed via the hands-free payment application116.

In an example embodiment, the user computing device110communicates with the merchant system130and the payment processing system140via the network120.

An example merchant system130comprises a server133, POS terminal134, and a data storage unit132. In an example embodiment, the merchant system130communicates with a payment processing system140over the network120. In example embodiments described herein, the merchant system130is a separate entity from the payment processing system140. However, in certain other example embodiments, the merchant system130is associated with a payment processing system140, is a component of another system along with a payment processing system140, comprises a payment processing system140, or is a component of a payment processing system140.

In an example embodiment, the data storage unit132comprises a local or remote data storage structure accessible to the merchant system130suitable for storing information. In an example embodiment, the data storage unit132stores encrypted information, such as HTML5 local storage.

In an example embodiment, the web server133provides content accessible by the user101through the web browser114and/or hands-free payment application116on the user computing device110, including but not limited to html documents, images, style sheets, and scripts. In an example embodiment, the server133supports the merchant system website134.

In an example embodiment, the POS terminal134comprises a computing device that is configured to accept payments from users101, from user computing devices110, or other parties. The POS terminal134may communicate, via the network, with the user computing device110, the merchant server133, the merchant computing device150, the payment processing system140, or any suitable device or system. The POS terminal134may comprise a barcode scanner, a user interface, a customer display, or any suitable elements to enable the salesperson102to initiate and conduct a transaction. The POS terminal134in the example embodiments may comprise a function enabling the salesperson102to input an indication that the transaction was conducted with the hands-free application156on the merchant computing device150, and that the POS terminal134should consider the transaction completed.

An example payment processing system140comprises a payment processing system hands-free module141and a data storage unit142. In an example embodiment, the user101has a user account with the payment processing system140. In an example embodiment, the payment processing system hands-free module141manages the user account. For example, the payment processing system hands-free module141may receive a user's username and password and allow the user101to access services provided by the payment processing system140. In an example embodiment, the payment processing system hands-free module141communicates with the hands-free payment application116resident on the user computing device110. In another example embodiment, the payment processing system hands-free module141communicates with the user101via the user computing device web browser114. In an example embodiment, the payment processing system hands-free module141manages the user's digital wallet account.

In an example embodiment, the payment processing system hands-free module141communicates with the merchant system130, account issuer systems (not depicted) and/or acquirers (not depicted), or other suitable financial systems (not depicted) to process payments. In an example embodiment, the payment processing system hands-free module141retrieves user financial account information and credit account information from other financial institutions, from the data storage unit142, or by communicating with the hands-free payment application116over the network120. In an example embodiment, the payment processing system hands-free module141requests a credit authorization from an issuer system through an acquirer system and receives the credit authorization. In an example embodiment, the payment processing system hands-free module141initiates a bank transfer with a financial institution system. In an example embodiment, the payment processing system hands-free module141receives the bank transfer or completes a credit card transaction associated with the credit card authorization.

In certain example embodiments, the payment processing system hands-free module141creates tokens, verifies tokens, verifies rescue codes, and performs other actions as described herein. In an example embodiment, the payment processing system hands-free module141generates a receipt of a transaction and transmits the receipt to the user computing device110.

In an example embodiment, the data storage unit142comprises any local or remote data storage structure accessible to the payment processing system hands-free module141suitable for storing information. In an example embodiment, the data storage unit142stores encrypted information, such as HTML5 local storage. In an example embodiment, the data storage unit142stores user financial account information and/or user credit account information.

An example merchant computing device150comprises a data storage unit152, a communication application153, a web browser154, a user interface155, and a hands-free payment application156.

In an example embodiment, the data storage unit152comprises a local or remote data storage structure accessible to the merchant computing device150suitable for storing information. In an example embodiment, the data storage unit152stores encrypted information, such as HTML5 local storage.

In an example embodiment, the salesperson102uses a communication application153, such as a web browser154application or a stand-alone hands-free payment application116, to view, download, upload, or otherwise access documents or web pages via a distributed network120.

In an example embodiment, the communication application153can interact with web servers or other computing devices connected to the network120, including the merchant POS terminal134, a web server133associated with a merchant system130and/or a payment processing system hands-free module141.

In an example embodiment, the web browser154can enable the salesperson102to interact with web pages using the merchant computing device150. In an example embodiment, the salesperson102is able to access transaction information form the POS terminal134, and access user account information from the user computing device110and/or the payment processing system hands-free module141.

In an example embodiment, the user interface155enables the salesperson102to interact with the hands-free payment application156and/or web browser154. For example, the user interface155may be a touch screen, a voice-based interface or any other interface that allows the salesperson102to provide input and receive output from an application or module on the merchant computing device150. In an example embodiment, the salesperson102interacts via the user interface155with the hands-free payment application156and/or web browser154to access a user token to conduct a transaction via the payment processing system140.

In an example embodiment, the hands-free payment application156is a program, function, routine, applet, or similar entity that exists on and performs operations on the merchant computing device150. In certain example embodiments, the salesperson102must install the hands-free payment application156and/or make a feature selection on the merchant computing device150to obtain the benefits of the techniques described herein. In an example embodiment, the salesperson102may access the hands-free payment application156on the merchant computing device150via the user interface155. In an example embodiment, the hands-free payment application156may be associated with the merchant system130. In another example embodiment, the application may be associated with the payment processing system140. In yet another example embodiment, there are two applications156, one associated with the merchant system130and another associated with the payment processing system140.

In certain example embodiments, one or more functions herein described as performed by the hands-free payment application156may also be performed by a web browser154application, for example, a web browser154application associated with a merchant system website134or associated with the payment processing system140. In certain example embodiments, one or more functions herein described as performed by the hands-free payment application156may also be performed by the merchant computing device operating system. In certain example embodiments, one or more functions herein described as performed via the web browser154may also be performed via the hands-free payment application156.

In certain example embodiments, the merchant computing device150may be part of the merchant system130. The merchant computing device150functions described herein may be performed by the merchant server133, POS terminal134, or other merchant device.

It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers and devices can be used. Moreover, those having ordinary skill in the art having the benefit of the present disclosure will appreciate that the user computing device110, the merchant system130, the POS terminal134, the payment processing system140, and the merchant computing device150illustrated inFIG. 1can have any of several other suitable computer system configurations. For example, a user computing device110embodied as a mobile phone or handheld computer may or may not include all the components described above.

In example embodiments, the network computing devices and any other computing machines associated with the technology presented herein may be any type of computing machine such as, but not limited to, those discussed in more detail with respect toFIG. 8. Furthermore, any modules associated with any of these computing machines, such as modules described herein or any other modules (scripts, web content, software, firmware, or hardware) associated with the technology presented herein may by any of the modules discussed in more detail with respect toFIG. 8. The computing machines discussed herein may communicate with one another as well as other computer machines or communication systems over one or more networks, such as network105. The network105may include any type of data or communications network, including any of the network technology discussed with respect toFIG. 8.

Example Processes

The example methods illustrated inFIGS. 2-7are described hereinafter with respect to the components of the example operating environment100. The example methods ofFIGS. 2-7may also be performed with other systems and in other environments.

FIG. 2is a block diagram depicting a method200for conducting a hands-free transaction, in accordance with certain example embodiments. The method200is described with reference to the components illustrated inFIG. 1.

In block210, the merchant computing device150broadcasts a beacon via a wireless communication. Block210is described in greater detail hereinafter with reference to the method210described inFIG. 3.

FIG. 3is a block diagram depicting a method210for a merchant computing device150to broadcast a beacon via a wireless communication, in accordance with certain example embodiments. The method210is described with reference to the components illustrated inFIG. 1.

In block310, the merchant system130registers with the payment processing system140. For example, the merchant system130may contact the payment processing system140to become associated with the hands-free transaction process. The merchant system130may obtain a merchant account, receive the appropriate applications and software, request authorization to participate, or perform any action required by the payment processing system140.

The merchant system130may use the merchant computing device150, the point of sale (“POS”) terminal134, the merchant server133, or any suitable computing device to request and configure a merchant account. The merchant account may allow the merchant system130to participate in some or all of the activities described in the methods herein.

In block320, the merchant computing device150installs a hands-free payment application156. In an example, the merchant computing device150is registered as an authorized agent of the merchant system130. The merchant computing device150may be identified by an identifier, by a provided password, a serial number, or by any suitable manner.

In an example, the merchant computing device150downloads the hands-free payment application156from the payment processing system hands-free module141over the network120. The merchant computing device150may download the hands-free payment application156from the merchant system server133. The merchant computing device150may obtain the hands-free payment application156from any suitable location. The hands-free payment application156on the merchant computing device150may be integrated into an existing account that is shared with the merchant system server133, the POS terminal134, or any suitable computing device or system. A salesperson102or another merchant system operator may be required to make a feature selection to obtain the benefits of the techniques described herein.

In block330, the merchant computing device150receives a beacon identifier. For example, the hands-free payment application156, the merchant computing device150, the merchant system server133, or another computing device requests a beacon identifier from the payment processing system140. The beacon may be a wireless signal emitted by the merchant computing device150comprising a beacon identifier, a merchant system130identifier, a merchant computing device150identifier, or other identifier.

In an example, the beacon identifier is a service set identifier (“SSID”), or other network name or identifier. The beacon identifier may be generated by the payment processing system hands-free module141, the merchant computing device150, the merchant server133, or any suitable computing device. In certain embodiments, the beacon identifier is a unique, but fixed, identifier. That is, a particular beacon identifier may be utilized until changed by the payment processing system hands-free module141, the merchant computing device150, the merchant server133, or any suitable computing device. In an alternate embodiment, the beacon identifier may be unique, but random. That is, the beacon identifier may be changed randomly, or upon any suitable schedule by the payment processing system hands-free module141, the merchant computing device150, the merchant server133, or any suitable computing device.

The wireless signal emitted by the merchant computing device150may be any suitable technology, such as Wi-Fi direct, Bluetooth, low-energy Bluetooth, infrared, or any other suitable technology, and the merchant computing device150may include corresponding hardware and software components to emit the beacon via the associated technology.

In block340, the merchant computing device150transmits the beacon via wireless communication at the location of the merchant system150. The merchant computing device150may be configured to broadcast the wireless signal at only certain times or locations, or continuously. The merchant computing device150may limit or extend the strength of the broadcast beacon, if needed. The beacon is receivable and recognizable by other computing devices that are within range of the wireless signal. The beacon may be transmitted on one communication technology or on a plurality of communication technologies.

In a certain example embodiment, the beacon identifier is programmed on external communication access points. The merchant hands-free application156may be used to configure the external communication access point(s). For example, the merchant hands-free application156may utilize functions of the merchant computing device150to communicate instructions to the external communication access points. The instructions may include the beacon identifier, the requested communication technology, the time to broadcast, and/or any other suitable instructions. The instructions may be provided by any other suitable computing device.

The external communication access points may be employed to allow a variety of user computing devices110to receive the beacon despite differing wireless communication technology capabilities or in various locations in the merchant location. The external communication access points may allow the beacon to be broadcast over a wider area than the merchant computing device150alone is capable of broadcasting.

From block340, the method210proceeds to block220ofFIG. 2.

Returning toFIG. 2, in block220, the user computing device110recognizes the merchant computing device beacon. Block220is described in more detail hereinafter with reference to the method220described inFIG. 4.

FIG. 4is a block diagram depicting a method220for the user computing device110to recognize the merchant computing device beacon, in accordance with certain example embodiments. The method220is described with reference to the components illustrated inFIG. 1.

In block410, the user101registers with the payment processing system140. For example, the user101may contact the payment processing system140to register a user account. The user101may obtain a user account number, receive the appropriate applications and software to install on the user computing device110, request authorization to participate in the hands-free payment processing, or perform any action required by the payment processing system140. The user101may utilize the functions of the user computing device110, such as the user interface115and the web browser114, to register and configure a user account.

In block420, the user computing device140installs a hands-free payment application116. For example, the user computing device110downloads the hands-free payment application116from the payment processing system hands-free module141over the network120. The user computing device110may obtain the hands-free payment application116from any other suitable location. The hands-free payment application116on the user computing device110may be configured with the user account information, user preferences, or other suitable information. A user101may be required to make a feature selection to obtain the benefits of the techniques described herein.

The hands-free payment application116may provide options, data, configurable alerts, and other suitable benefits to the user101. For example, the hands-free payment application116may comprise a listing of participating merchant systems130and merchant locations. The listing may be updated periodically from the payment processing system140. The hands-free payment application116may notify the user101when the user101is within a configured vicinity of a participating merchant system130. The hands-free payment application116may provide the user102with options to update payment preferences. The hands-free payment application116may provide the user101with a listing of recent transactions. The hands-free payment application116may provide any other suitable information to the user101.

In block430, the user computing device110enters a location of the merchant system130. The user101may enter the merchant location carrying the user computing device101in a pocket or a bag, in the hands of the user101, or in any suitable manner. The location of the merchant system130may be a store location, a kiosk location, or any suitable physical location of a merchant system130. In an alternate example, a salesperson102may be mobile and arrive at a location of the user101. For example, the merchant system130may be a restaurant and the salesperson102may be a delivery person possessing a merchant computing device150.

In certain example embodiments, the hands-free payment application116alerts the user101when the user101is in the vicinity of a merchant system130that accepts hands-free payments. The alert may be provided via a message on the user computing device110, via an email or a text, or in any suitable manner.

The alert may be based on the location of the user101as determined by the GPS module118. For example, the hands-free payment application116accesses the GPS data from the GPS module118and compare the GPS location to a list of locations of merchant systems130that accept hands-free payments. If a match results from the comparison, then an alert is generated and provided to the user. The match may result if the user101is within a configured distance of the merchant system130.

The alerts may be configured to alert in any suitable manner. In an example, the alerts may be combined in commercially dense environment or the alerts may be presented individually. In another example, the alerts may be configured to only alert the user101a configured number of times. For example, the alert may be presented three times, but upon a fourth instance, the alert is not presented. The alerts may be presented as a notification with an audible alert, a vibration, a popup alert on the user interface115of the user computing device110, or other suitable alert.

In block440, the user computing device110recognizes a beacon via wireless communication at the location of the merchant system130and approves the merchant system130. Block440is described in more detail hereinafter with reference to the methods440aand440bdescribed inFIGS. 6 and 7.

FIG. 6is a block flow diagram depicting a method440afor a user computing device110to recognize a beacon via wireless communication at a location of a merchant system and approve the merchant system, in accordance with certain example embodiments. The method440ais described with reference to the components illustrated inFIG. 1. In certain embodiments, some or all of the blocks of the method440aare performed by the payment processing system140. For example, the beacon identifier and other suitable data are transmitted to the payment processing system140for analysis and verification.

In block610, the user computing device110receives the beacon. The user computing device110may be configured to search for beacons or other wireless signals. Upon entering the range of the broadcast of the merchant computing device150, the user computing device110receives the beacon. The user computing device110may search for a beacon continuously, when instructions to begin searching for the beacon are received from the user101, when the location of the user computing device110dictates a beacon is near, or at any suitable time. In an example, the user computing device110may provide an alert that a merchant system130at the location of the user computing device110is listed on a database as a participant in the hands-free transaction program. Upon recognizing that the a merchant system130is listed on the database as a participant in the hands-free transaction program, the user computing device110may begin a search for beacons or provide a recommendation to the user101that a search should be conducted.

When the user computing device110receives the beacon, the user computing device110determines the communication technology being used and stores the data associated with the beacon. The data may be stored on the data storage unit112or in any suitable location. In certain embodiments, the user computing device110transmits the beacon data to the payment processing system140and, the payment processing system140conducts some or all of the remaining steps of the method440a.

In block620, the user computing device110identifies the beacon identifier. The user computing device110interprets the data transmitted in the beacon and recognizes that the beacon is associated with the payment processing system140and/or the hands-free payment application116based on the data in the beacon. In an example, the hands-free payment application116extracts data from the beacon, such as a beacon identifier, a merchant system130name, communication technology requirements, or any other suitable information.

The user computing device110locates the beacon identifier in the beacon data via any suitable method. For example, the user computing device110may analyze the content and extract the beacon identifier based on the location of the identifier within the data, based on instructions from the merchant computing device150, based on instructions within the data identifying the location, based on an industry standard, or based on any other suitable method.

In block630, the user computing device110accesses a list of approved beacon identifiers. The list may comprise beacon identifiers that are approved by the payment processing system140, by the user101, by a financial institution that issued a payment account to the user101, or by any other suitable party. Additionally, the list may be composed by one party and revised or limited by another party. The list may be stored on the data storage unit112, on the payment processing system140, cloud computing environment, or any suitable storage location. The user computing device110may access the list in any suitable manner, such as over the network120.

In block640, the user computing device110determines that the beacon identifier is represented on the list of approved beacon identifications. The user computing device110may compare the data from the beacon to the database of beacon data to determine an identity of the merchant system130associated with the beacon and to verify the authenticity of the beacon. If the beacon identifier is listed on the database as a verified beacon identifier associated with a verified merchant system130, then the method440amay proceed. In certain embodiments, the user computing device110may use a prefix, a suffix or some regular expression to determine if the beacon identifier is potentially a valid identifier. The user computing device110device may communicate with the payment processing system140to further verify the authenticity of the beacon based on regular expression.

In certain example embodiments, the hands-free payment application116has received a list of one or more merchant systems130with which the user101does not wish to conduct hands-free transactions. If the hands-free payment application116identifies the merchant system130on the list, then the hands-free payment application116will not respond to the beacon identifier. In this case, hands-free payment application116may end any wireless communication with the payment processing system140and/or with the merchant computing device150and not provide any response or acknowledgement to the merchant computing device150while the user computing device110is at the location of the merchant system130. Additionally or alternatively, the payment processing system140cease responding or acknowledging the merchant computing device150.

The list may be populated by the user101, the payment processing system140, or any suitable party. In an example, a user101adds a merchant system130to the list based on a previous experience, because the merchant system130does not appear trustworthy, or for any suitable reason.

If the payment processing system140, in an alternate embodiment, performed some or all of the blocks of method440a, then the payment processing system140transmits the determination that the beacon identifier is represented on the list of approved beacon identifications to the user computing device110.

From block640, the method440aproceeds to block230ofFIG. 2.

An alternate embodiment of block440ofFIG. 4is explained in greater detail in the method440bofFIG. 7.

FIG. 7is a block flow diagram depicting a method440bfor a user computing device110to recognize a beacon via wireless communication at a location of a merchant system130and approve the merchant system130using location data, in accordance with certain example embodiments. The method440bis described with reference to the components illustrated inFIG. 1. In certain embodiments some or all of the blocks of the method440bare performed by the payment processing system140. For example, the beacon identifier, the location data, and other suitable data are transmitted to the payment processing system140for analysis and verification.

In block730, the user computing device110accesses a list of approved beacon identifiers and merchant system locations. The list may comprise beacon identifiers and locations of merchant systems130that are approved by the payment processing system140, by the user101, by a financial institution that issued a payment account to the user101, or by any other suitable party. Additionally, the list may be composed by one party and revised or limited by another party. The list may be stored on the data storage unit112, on the payment processing system140, cloud computing environment, or any suitable storage location. The user computing device110may access the list in any suitable manner, such as over the network120. In certain embodiments, the payment processing system140will access the list upon receiving the beacon identifier and other data from the user computing device110.

The locations of the merchant systems130are associated with the beacon identifiers that are associated with the merchant systems130. For example, a particular merchant system130would be identified with a particular beacon identifier and a particular location in the database. The location may be stored as a longitude and latitude, a street address, or any suitable location identification. The locations may be provided by the merchant system130, obtained from mapping programs, input by payment processing system140operators, or provided by any suitable source. In certain embodiments, the locations of the merchant systems130are in the same database with the beacon identifiers. In alternate embodiments, the locations of the merchant systems130are in a second database.

In block740, the user computing device110determines the location of the user101. For example, the user computing device110uses the GPS module118of the user computing device110to determine the location. In the example, the GPS module118communicates with one or more satellites of the Global Positioning System (“GPS”) or other satellite-based location system to determine the location of the user computing device110. In an example embodiment, the delivery system140periodically or continuously communicates with the GPS module118during applicable time periods to determine and log the location of the user computing device110. In another embodiment, the location of the user computing device110is identified based on Wi-Fi signals, cellular location, or any suitable location identifying technology. Any location determining hardware, software, or combination of hardware and software is represented by the GPS module118.

After determining the location, the user computing device110stores the location for comparison with the merchant system database. In certain embodiments, the user computing device110transmits the determined location to the payment processing system140to compare to the database.

In block750, the user computing device110determines if a location of the user computing device110matches an expected location of the merchant system130based on the location associated with the beacon identifier in the database. The user computing device110compares the stored location of the user computing device110to the location of the merchant system130associated with the beacon identifier. For example, the user computing device110locates the beacon identifier in the database and identifies the merchant system130associated with the beacon identifier. The user computing device110then identifies the location of the merchant system130from the database. The identified location is compared to the location received from the user computing device110.

If the locations are identical or within a configured distance of each other, then a location match is identified. For example, if the locations are determined to be less than 100 feet apart, then a match is identified. If the locations are greater than 100 feet apart, then a match is not identified. Any suitable distance, such as 10 feet, 100 feet, or 500 feet, may be used.

In certain embodiments, the payment processing system140determines if a location of the user computing device110matches an expected location of the merchant system130based on the location associated with the beacon identifier in a similar manner.

In block760, if the locations match, then the user computing device110determines that the beacon identifier is represented on the list of approved beacon identifications. If no match is identified, then the beacon is not verified as an approved beacon from an approved merchant system130. If the beacon identifier is verified, then the method440bmay proceed. In certain embodiments, the payment processing system140determines that the beacon identifier is represented on the list of approved beacon identifications in a similar manner.

If the payment processing system140identified the match, then the payment processing system140transmits the match to the user computing device110so that the user computing device110may proceed to create a token.

From block760, the method440breturns to block230ofFIG. 2.

Returning toFIG. 2, in block230, the user computing device110provides token authorization to the merchant system130. Block230is described in greater detail in the method230ofFIG. 5.

FIG. 5is a block flow diagram depicting a method230for a user computing device110to provide a token authorization to the merchant system130, in accordance with certain example embodiments. The method230is described with reference to the components illustrated inFIG. 1.

In block510, the user computing device110generates a token for a potential transaction. The token may be any data associated with the user account that is generated by the user computing device110for secure transmission to another computing device. The token may represent an authorization or acknowledgement by the user computing device110that the user computing device110is in communication with a merchant computing device110and that a transaction may be forthcoming. The token may comprise a user account identifier, the beacon identifier, a user computing device110identifier, or any suitable data. The token may be encrypted or otherwise configured to only be readable by one or more of the payment processing system hands-free module141, the user computing device110, a financial account server associated with the payment processing system140, or any suitable computing system.

In certain example embodiments, the token, or certain portions of the token, is not readable by the merchant computing device150. To generate the token, the user computing device110may compile all of the data needed for the token into a data file and insert identifiers, labels, or other items to prepare the token for transmission. The token may provide a time that the token will expire. For example, the token may only be usable for one hour after being generated. In the example, after the one hour has elapsed, the token is no longer valid for use and the payment processing system140will reject any transaction request including an expired token. In certain example embodiments, the token comprises the beacon identifier, the location of the user computing device110, the user account identifier, or any other suitable data.

The token may be generated by the hands-free application116, or another application module or component of the user computing device110. For example, an application executing on a secure element or other secure memory of the user computing device110may generate the token. The token may be generated in response to receiving the beacon from the merchant computing device150. That is, the token is not generated until the user computing device110recognizes the beacon and recognizes a need to transmit the token based on the identify of the merchant system130, the location of the user computing device110, or any other factors. In an alternate embodiment, the token is created in advance. The token, or a series of tokens, may be created and stored on the data storage unit112of the user computing device110. The token may be accessed from the storage location and utilized when requested by the hands-free payment application116.

In certain embodiments, a token is not generated by the user computing device110. For example, the payment processing system140may generate the token. The payment processing system140may receive, from the user computing device110, a set of authentication data for the user account and generate a token. The authentication data may comprise user101data, account data, passwords, user computing device110data, or any suitable data that may be used to authenticate the user account. The authentication data may be transmitted to the payment processing system140when the user computing device110receives the beacon from the merchant computing device150. The user computing device110may access the authentication data from a database on the data storage unit112, or from data stored in the hands-free payment application116. The authentication data is transmitted in a similar fashion as the description of the transmission of the token from the user computing device110to the payment processing system140. The token that is generated by the payment processing system140is transmitted back to the user computing device110or to the merchant computing device150on behalf of the user computing device110.

In block520, the user computing device110transmits the token to the payment processing system140. The user computing device110may transmit a new token at the time that the user computing device110recognizes the beacon and the beacon identifier, at a time that a previous token has expired, or upon any suitable schedule. The user computing device110may transmit the token via an Internet communication over the Internet, Bluetooth communication, Wi-Fi communication, cellular connection, or via any suitable communication protocol.

In block530, the payment processing system hands-free module141approves the token and transaction parameters. The payment processing system hands-free module141receives the token and any associated information from the user computing device110and determines if the beacon identifier can be verified.

The verification may be similar to the methods of the user computing device110to verify the beacon identifier in the method440ainFIG. 6or method440binFIG. 7. For example, the payment processing system hands-free module141may compare the beacon identifier to a database to determine if the beacon identifier is registered and approved. The payment processing system hands-free module141may compare a location of the user computing device110, as determined by the global positioning system (“GPS”) module118, to a database of locations associated with the beacon identifiers. If not provided already, the payment processing system hands-free module141may request the GPS location of the user computing device110in a communication over the network120and receive a response from the user computing device110. If the location of the user computing device110matches the expected location of the merchant computing device150, then the token is verified. Any other suitable criteria for verifying the token may be employed.

The payment processing system hands-free module141may verify the user account on the payment processing system140to determine if the user account is active and available for transactions. For example, the payment processing system may access the user account and determine if the account has funds available for use as stored value funds, or if the account has a valid credit or debit account associated with the account with which to conduct transaction.

In block540, the payment processing system hands-free module141transmits the token to a merchant computing device150. If the token is verified, the payment processing system hands-free module141communicates the token to the merchant computing device150to allow a hands-free transaction to be conducted. The token provides the merchant computing device150with the authorization to initiate a transaction on behalf of the user account. In an example embodiment, the token is transmitted to the merchant computing device150upon the detection by the user computing device of the beacon. Thus, he token is transmitted to the merchant computing device150before a transaction is initiated by the merchant computing device150or the user computing device110.

In an alternate embodiment, the user computing device110provides the token directly to the merchant computing device150. For example, the user computing device110generates the token as described in block510and transmits the token to the merchant computing device150instead of to the payment processing system140. In a certain embodiment, the user computing device110may require approval from the payment processing device140before transmitting the token to the merchant computing device150.

Alternatively, the user computing device may transmit authorization data to the payment processing system. The authentication data may comprise user101data, account data, passwords, user computing device110data, or any suitable data that may be used to authenticate the user account. The authentication data may be transmitted to the payment processing system140when the user computing device110receives the beacon from the merchant computing device150. The user computing device110may access the authentication data from a database on the data storage unit112, or from data stored in the hands-free payment application116. The authentication data is transmitted in a similar fashion as the description of the transmission of the token from the user computing device110to the payment processing system140. The token that is generated by the payment processing system140is transmitted back to the user computing device110. The user computing device110then transmits the received token to the merchant computing device150.

From block540, the method230returns to block240ofFIG. 2.

In block240, the salesperson102enters transaction details into the merchant computing device150. In an example, the user101selects a product for purchase at the location of the merchant system130. The term “product” includes tangible and intangible products, as well as services. The salesperson102scans the product with a barcode scanner or in any suitable manner enters the product details into the merchant computing device150. The transaction data may include the product identification, the product price, quantity of products, merchant location, merchant identification, or any other suitable information.

In block250, the merchant computing device150transmits the transaction details and the token to the payment processing system hands-free module141. The salesperson102selects the appropriate token. In an example, only one token is available for selection. In another example, the token is associated with the user101when the user101enters the merchant location and the token is received. In another example, the token is identifiable as being associated with the user101based on an identifier of the user101, such as a picture.

In the example, the merchant computing device150has received and stored one or more tokens associated with one or more user accounts. The merchant computing device150identifies user account information associated with the tokens. The information may be provided by the token or by a communication with a database associated with the token. In another example, the user account information may have been provided to the merchant computing device150with a previous token or in a previous transaction. The user account information and/or the tokens are displayed to the salesperson102to allow the salesperson102to select the appropriate token or user account. The salesperson102identifies the user account or token and associates the user account with the product being purchased by the user101. The user account may be represented to the salesperson102by a picture of the user101, by a name of the user101, by a configured alias, or by any suitable identifier of the user101or the user account.

The salesperson102provides an indication on the user interface155of the merchant computing device150that the user101has agreed to the purchase transaction. The user101may agree to the transaction by verbally informing the salesperson102, or by any other suitable method. The salesperson102may select on the user interface the transaction details, the token, the user account, and other data and associate the data with the transaction request. The data is associated by the merchant computing device150and a transaction request is prepared, such as by entering the data on the appropriate entry blocks on a transaction request template.

The merchant computing device150transmits the transaction details and the token to the payment processing system140to conduct the transaction. The transaction details may be the identification of the product or products to be purchased, the total price, the merchant identification, or any other suitable details.

In block260, the payment processing system140conducts the transaction and transmits a confirmation to merchant computing device150. The payment processing system hands-free module141receives the transaction details and the token from the merchant computing device150and processes the transaction. The payment processing system hands-free module141verifies the token as the same token that was previously received from the user computing device110(or generated by the payment processing system hands-free module141) and provided to the merchant system computing device150. If the token is not verified as the same token, then the transaction does not proceed. If the token is not verified, the payment processing system hands-free module141may request the correct token from the merchant system computing device150, decline the transaction, alert a payment processing system hands-free module141operator, or perform any suitable action to complete or cancel the transaction.

Upon a verification of the token, the payment processing system hands-free module141determines if the user account has the funds available for the transaction. In an example, the payment processing system hands-free module141may apply the transaction by deducting the amount of the transaction from a pool of funds stored in the user account. In another example, the payment processing system hands-free module141may provide an authorization request to a financial account issuer, such as a credit or debit card, associated with the account. Upon receiving an authorization from the financial account issuer, the payment processing system hands-free module141proceeds with the transaction. The user account may be funded by any other suitable source, such as a bank account, a stored value account, a debit card, or any suitable source. The payment processing system hands-free module141debits the appropriate account of the user101for the amount of the transaction and credits an account of the merchant for the amount of the transaction.

The payment processing system hands-free module141provides a notification to the merchant system computing device150that the transaction is authorized. The authorization may be presented to the salesperson102by the user interface155of the merchant computing device150. Upon receiving the authorization, the salesperson102may provide the product and a receipt to the user101or the user computing device110. Upon settlement of the transaction, the payment processing system hands-free module141provides the funds for the transaction to the merchant system130.

In block270, upon a successful conducting of the transaction, the payment processing system140transmits a notification of the successful completion of the transaction to the user computing device110. The notification provides the details of the transaction, such as the transaction amount, the product purchased, and other suitable details. The notification allows the user101an opportunity to quickly dispute the charge. For example, the salesperson102or the merchant computing device150may have associated the wrong token with the transaction details. In another example, the transaction details were in error and an incorrect amount was deducted from the user account. The user101receives the notification on the user computing device110and views the transaction details on the user interface115. In an alternate example, the user101receives the notification from the payment processing system140as an email, a text, as a notification on the hands-free payment application, or in any suitable manner. In an alternate embodiment, the notification may be provided by the merchant computing device150. For example, the merchant computing device150provides a text to the user computing device with the transaction details.

The notifications, receipts, and other transaction data may be stored in a list on a database or other storage system on the user computing device110, the hands-free payment application116, or any suitable storage location. The notifications, receipts, and other transaction data may be stored in a list on a user account or other location on the payment processing system140. The user101may access the list to review recent transactions, to seek refunds, or for any suitable reason. In certain examples, the list on the user computing device110may synchronize with the list on the payment processing system140either automatically or when prompted by the user101.

All refunds for transactions may be conducted through the hands-free application116. The user101initiates the hands-free application at the location of the merchant130. The user101presents a transaction identification from a notification or a receipt to complete the refund. For example, the user101selects a notification from a recent transaction that has been transmitted to the user computing device110. The user101may select a receipt for a recent transaction from the notification, from a text from the merchant computing device150, or from any suitable provider. The user101may either present the receipt or notification via the hands-free application116, an email receipt, or a print out of the email receipt.

To obtain a refund, a user101opens a list of completed transactions on the hands-free application116and selects the desired receipt. Additionally, the user101may manually enter the transaction identification, or scan a QR code on the receipt displayed on the hands-free application to obtain data from a particular transaction. The user101may access a list of recent transactions on the user computing device110. The list may be displayed on the user interface115with control objects for selecting a transaction. The user computing device110may receive an input of a selection from the user101and transmit the details of the selected transaction to the merchant system computing device150.

Once selected, a full or partial amount can be refunded to the user account. The merchant system130may transfer the refund amount to the payment processing system140for deposit into the user account. The funds may alternatively be transmitted by the merchant system130or the payment processing system140to a credit card account or other account associated with the user account. Any other refund method may be employed. The transaction history and receipt in the user account will reflect the full or partial refund.

If a user101desires to dispute a charge, the user101opens the hands-free application116and selects an option to dispute a transaction that has been conducted with the user account. The hands-free application116transmits a notification to the payment processing system hands-free module141. An operator at the payment processing system140may contact the user101to resolve the issue. The hands-free application116may further transmit the transaction identification or other transaction details to the payment processing system hands-free module141.

Other Example Embodiments

FIG. 8depicts a computing machine2000and a module2050in accordance with certain example embodiments. The computing machine2000may correspond to any of the various computers, servers, mobile devices, embedded systems, or computing systems presented herein. The module2050may comprise one or more hardware or software elements configured to facilitate the computing machine2000in performing the various methods and processing functions presented herein. The computing machine2000may include various internal or attached components such as a processor2010, system bus2020, system memory2030, storage media2040, input/output interface2060, and a network interface2070for communicating with a network2080.

The computing machine2000may be implemented as a conventional computer system, an embedded controller, a laptop, a server, a mobile device, a smartphone, a set-top box, a kiosk, a vehicular information system, one more processors associated with a television, a customized machine, any other hardware platform, or any combination or multiplicity thereof. The computing machine2000may be a distributed system configured to function using multiple computing machines interconnected via a data network or bus system.

The processor2010may be configured to execute code or instructions to perform the operations and functionality described herein, manage request flow and address mappings, and to perform calculations and generate commands. The processor2010may be configured to monitor and control the operation of the components in the computing machine2000. The processor2010may be a general purpose processor, a processor core, a multiprocessor, a reconfigurable processor, a microcontroller, a digital signal processor (“DSP”), an application specific integrated circuit (“ASIC”), a graphics processing unit (“GPU”), a field programmable gate array (“FPGA”), a programmable logic device (“PLD”), a controller, a state machine, gated logic, discrete hardware components, any other processing unit, or any combination or multiplicity thereof. The processor2010may be a single processing unit, multiple processing units, a single processing core, multiple processing cores, special purpose processing cores, co-processors, or any combination thereof. According to certain example embodiments, the processor2010along with other components of the computing machine2000may be a virtualized computing machine executing within one or more other computing machines.

The system memory2030may include non-volatile memories such as read-only memory (“ROM”), programmable read-only memory (“PROM”), erasable programmable read-only memory (“EPROM”), flash memory, or any other device capable of storing program instructions or data with or without applied power. The system memory2030may also include volatile memories such as random access memory (“RAM”), static random access memory (“SRAM”), dynamic random access memory (“DRAM”), and synchronous dynamic random access memory (“SDRAM”). Other types of RAM also may be used to implement the system memory2030. The system memory2030may be implemented using a single memory module or multiple memory modules. While the system memory2030is depicted as being part of the computing machine2000, one skilled in the art will recognize that the system memory2030may be separate from the computing machine2000without departing from the scope of the subject technology. It should also be appreciated that the system memory2030may include, or operate in conjunction with, a non-volatile storage device such as the storage media2040.

The storage media2040may include a hard disk, a floppy disk, a compact disc read only memory (“CD-ROM”), a digital versatile disc (“DVD”), a Blu-ray disc, a magnetic tape, a flash memory, other non-volatile memory device, a solid state drive (“SSD”), any magnetic storage device, any optical storage device, any electrical storage device, any semiconductor storage device, any physical-based storage device, any other data storage device, or any combination or multiplicity thereof. The storage media2040may store one or more operating systems, application programs and program modules such as module2050, data, or any other information. The storage media2040may be part of, or connected to, the computing machine2000. The storage media2040may also be part of one or more other computing machines that are in communication with the computing machine2000such as servers, database servers, cloud storage, network attached storage, and so forth.

The computing machine2000may operate in a networked environment using logical connections through the network interface2070to one or more other systems or computing machines across the network2080. The network2080may include wide area networks (WAN), local area networks (LAN), intranets, the Internet, wireless access networks, wired networks, mobile networks, telephone networks, optical networks, or combinations thereof. The network2080may be packet switched, circuit switched, of any topology, and may use any communication protocol. Communication links within the network2080may involve various digital or an analog communication media such as fiber optic cables, free-space optics, waveguides, electrical conductors, wireless links, antennas, radio-frequency communications, and so forth.

The processor2010may be connected to the other elements of the computing machine2000or the various peripherals discussed herein through the system bus2020. It should be appreciated that the system bus2020may be within the processor2010, outside the processor2010, or both. According to some embodiments, any of the processor2010, the other elements of the computing machine2000, or the various peripherals discussed herein may be integrated into a single device such as a system on chip (“SOC”), system on package (“SOP”), or ASIC device.

The example systems, methods, and acts described in the embodiments presented previously are illustrative, and, in alternative embodiments, certain acts can be performed in a different order, in parallel with one another, omitted entirely, and/or combined between different example embodiments, and/or certain additional acts can be performed, without departing from the scope and spirit of various embodiments. Accordingly, such alternative embodiments are included in the scope of the following claims, which are to be accorded the broadest interpretation so as to encompass such alternate embodiments.