Abstract:
Provided are computer implemented methods and systems for facilitating mobile device payments using barcodes displayed on mobile devices and scanned by merchants at checkout counters. When a customer is ready to tender a payment to a merchant, instead of using a credit card, cash, or check, the customer activates an application on his mobile device. The mobile device includes or obtains information about the payment system of this merchant. Furthermore, the mobile device includes or obtains information about the customer/mobile device user and then uses these two pieces of information to generate and display a barcode that encodes customer payment information specific to this merchant. The barcode is scanned at the checkout counter and processed to retrieve customer records from a database of the payment processing system. These records are then used to transfer funds between the merchant and customer, obtain discounts, and/or perform other retail transactions.

Description:
FIELD 
       [0001]    This application relates generally to payment methods using mobile devices in various retail environments and, more specifically, to computer implemented methods and systems facilitating mobile device payments using barcodes. 
       BACKGROUND 
       [0002]    When customers buy product items from various merchants in these merchants&#39; retails environments, such as retail outlets, shopping centers, stores, etc., only a handful of payment methods is available to the customers. Typical examples include credit cards, debit cards, gift cards, checks, and cash. Each one of these payment methods has some drawbacks from cost and/or convenience perspectives. For example, credit cards bear substantial processing fees, while debit cards require availability of funds and sometimes involve surcharges as well. Checks and cash transactions are slow and require additional processing and/or handling. All these drawbacks interfere with retail transactions and add some level of dissatisfaction. 
         [0003]    At the same time, a customer typically visits the same group of stores repeatedly, and these payment transaction fees tend to accumulate. While some stores try to issue their own credit-like account systems and employ banks to help them in this endeavor (e.g., Sears—Chase VISA), many stores are simply too small to build and operate systems similar to the ones provide by the major credit card companies and/or banks. Furthermore, a typical customer repeatedly visits multiple retail outlets. Requiring the customer to continuously carry multiple retail cards (or other security/transactional devices) each one being specific to only one of these outlets may be difficult, if not unreasonable. For example, a typical customer may use a few gas stations (e.g., depending on his location), a few grocery stores (e.g., depending on preferences), a few electronic stores (e.g., depending on current sales and promotions). Complexities introduced by store specific account systems may quickly offset any costs savings or inconvenience associated with traditional methods of payments and may make the overall experience even worse. 
       SUMMARY 
       [0004]    This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. 
         [0005]    Provided are computer implemented methods and systems for facilitating mobile device payments using barcodes displayed on mobile devices and scanned by merchants at checkout counters. When a customer is ready to tender a payment to a merchant, instead of using a credit card, cash, or check, the customer activates an application on his mobile device. The mobile device includes or obtains information about the payment system of this merchant. Furthermore, the mobile device includes or obtains information about the customer/mobile device user and then uses these two pieces of information to generate and display a barcode that encodes customer payment information specific to this merchant. The barcode is scanned at the checkout counter and processed to retrieve customer records from a database of the payment processing system. These records are then used to transfer funds between the merchant and customer, obtain discounts, and/or perform other retail transactions. 
         [0006]    In certain embodiments, a computer implemented method for purchasing a product item in a retail environment using a mobile device involves scanning a product code corresponding to the product item to retrieve product information, transmitting the product information to a payment server, and authorizing payment and transmitting authorization to the payment server. One or more of these operations may be performed using a mobile device. The method may also involve registering the mobile device with the payment server by transmitting user account information to the payment server. This user account information corresponds to a payment account at the payment server and may be specific to the user of the mobile device. The registering operation may be performed prior to authorizing the payment and, in certain embodiments, prior to transmitting the product information. The payment account may include various data, such as credit information, debit information, discount information, and loyalty program information. 
         [0007]    In certain embodiments, a product code includes one or more of the following codes: a Unified Product Code (UPC) represented as a barcode and/or an alphanumeric string, an Electronic Product Code (EPC) encoded as a printed barcode or encoded on Radio Frequency Identification (RFID) tag, or any other variations of linear barcode, two dimensional barcodes, alphanumeric string (e.g., 8-bit, 16-bit, 32-bit string), electronically encoded codes (e.g., 96-bit strings). 
         [0008]    Examples of mobile devices include a cellular phone, a Personal Digital Assistant (PDA), a personal computer (e.g., a tablet or a laptop), a barcode scanner, and an RFID scanner. In general, any device that can be carried by a user into a retail environment, capable of retrieving one or more types of codes listed above, and capable of wirelessly communicating (e.g., via Wi-Fi network, 3G or 4G cellular network, or any other types of wireless communication networks) may be used. In certain embodiments, a mobile device includes a user interface for entering an alphanumeric entry corresponding to the product code. The same or another user interface may be used for entering authorization information. 
         [0009]    In certain embodiments, after transmitting the product information to the payment server, the method also involve receiving and displaying on the mobile device various product related data. Some examples of such data include product pricing information, product discount information, product description information, and complementary product information. Product related data may be received from the payment server. Alternatively, the payment server may instruct another server to transmit product related information. 
         [0010]    Provided also a server based payment processing method that involves receiving a product information from a mobile device, retrieving product related data from a product database based on the product information received from the mobile device, transmitting the product related data to the mobile device, receiving payment authorization from the mobile device, and transferring a corresponding payment amount from a payment account corresponding to the mobile device to a merchant account. The product information received from the mobile device corresponds to a product code of a product item in a retail environment. The product related data includes at least product pricing information. Other information may include product promotion information, discount information, product description information, and other types of information. 
         [0011]    In certain embodiments, the method also involves receiving user account information from the mobile device. The user account information corresponds to the payment account at the payment server. The method may also involve crediting the payment account upon receiving payment from a user of the payment account. In a specific example, product information received from the mobile device is an image of the product code. Alternatively, the mobile device may process the image of the product code and transmit alphanumeric code encoded by the product code. 
         [0012]    In certain embodiments, the method involves adding additional product related data into the product database. The additional product related data for each product item corresponds to unique product related information. The unique product related information may include a UPC and/or EPC. The product database may include one or more product related data corresponding to each product item. Some examples of product related data include product pricing information, product discount information, product description information, and complementary product information. 
         [0013]    Provided also a computer system for facilitating mobile device payment. In certain embodiments, the system includes an input module for communicating via network with one or more mobile devices and for receiving product information from the one or more mobile devices, and a product database for storing product related data corresponding to each individual product items based on the product information. In certain embodiments, the computer system also includes a payment module for receiving payment authorization from the one or more mobile devices and transferring funds between one or more accounts. Furthermore, the system may include an output module for sending product related data and payment information to the mobile devices. 
         [0014]    Provided also a computer-readable medium including instructions, which when executed by one or more processors, perform the following operations. In one operation, product information is received from a mobile device, wherein the product information corresponds to a product code of a product item in a retail environment. In another operation, product related data is retrieved from a product database based on the product information received from the mobile device. The product related data may include at least product pricing information. In yet other operations, the product related data may be transmitted to the mobile device, payment authorization may be received from the mobile device, and a corresponding payment amount may transferred from a payment account corresponding to the mobile device to a merchant account. 
         [0015]    Provided also a computer system for facilitating mobile device payment. In certain embodiments, the system includes an input module for communicating via network with one or more mobile devices and for receiving product information from the one or more mobile devices, and a product database for storing product related data corresponding to each individual product items based on the product information. In certain embodiments, the computer system also includes a payment module for receiving payment authorization from the one or more mobile devices and transferring funds between one or more accounts. Furthermore, the system may include an output module for sending product related data and payment information to the mobile devices. 
         [0016]    In further exemplary embodiments, modules, subsystems, or devices can be adapted to perform the recited steps. Other features and exemplary embodiments are described below. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0017]    Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which: 
           [0018]      FIG. 1  is a block diagram illustrating an example of the overall system in which various embodiments may be implemented. 
           [0019]      FIG. 2  is a block diagram showing various modules of the payment processing system, in accordance with certain embodiments. 
           [0020]      FIG. 3A  is a flow chart illustrating a method for facilitating mobile device payments using a barcode displayed on a mobile device, in accordance with certain embodiments. 
           [0021]      FIG. 3B  is a flow chart illustrating a payment processing method using a merchant payment system, in accordance with certain embodiments. 
           [0022]      FIG. 4A  illustrates an example of a merchant payment system in which various embodiments may be implemented. 
           [0023]      FIG. 4B  illustrates an example of a mobile device in which various embodiments may be implemented. 
       
    
    
     DETAILED DESCRIPTION 
       [0024]    Various computer implemented methods and systems for facilitating mobile device payments using barcodes are described herein. Recent proliferation of mobile devices (e.g., cell phones/smart phones and other similar devices) that are capable of generated and displaying various optical codes (e.g., barcodes) allows implementing these novel methods and systems. Most customers shopping in today&#39;s retail environments carry such mobiles devices. 
         [0025]    Product codes are typically provided as barcodes, such as linear barcodes and two dimensional barcodes, as well as human readable alphanumeric code. Displaying a barcode may involve processing information to encode into a barcode image. The local processing may be performed using various software applications installed on the mobile device. For example, the Universal Product Code (UPC) or European Article Number (EAN) may be used. UPC is a barcode symbology widely used in North America and other countries for tracking trade items in stores. Its most common form, the UPC-A, consists of 12 numerical digits, which are uniquely assigned to each individual trade/product item. Each UPC-A barcode consists of a scannable strip of black bars and white spaces, above a sequence of 12 numerical digits. No letters, characters, or other content of any kind may appear on a standard UPC-A barcode. The digits and bars maintain a one-to-one correspondence. In other words, there is only one way to represent each 12-digit number visually, and there is only one way to represent each visual barcode numerically. EAN is another example developed as a superset of UPC and adding an extra digit to the beginning of every UPC number. EAN-13 barcodes also indicate the country in which the company that sells the product is based using leading digits. EAN and UPC barcodes are currently the only barcodes allowed for scanning trade/product items at the point of sale. However, other codes may be available in the future and within the scope of this document. 
         [0026]    One having ordinary skills in the art would understand that the term “scanning” is not limited to printed codes having particular formats but can be used for codes encoded electronically and using various other means. For example, product codes may be in the form of the recently developed Electronic Product Code (EPC) designed as a universal identifier that provides a unique identity for every physical object (not just a trade item category) anywhere in the world. It should be noted that EPCs are not exclusively used with RFID data carriers. They can be constructed based on reading of optical data carriers, such as linear bar codes and two-dimensional bar codes, such as Data Matrix symbols. For purposes of this document, all optical data carriers are referred herein as “barcodes.” 
         [0027]    Scanning a barcode may involve capturing an image of the barcode using a simple imaging device installed on a mobile device, such as a digital camera. The image may be then processed on the mobile device to retrieve corresponding product information or sent to the server for further processing. The local processing may be performed using various software installed on the mobile device. In certain embodiments, a mobile device may contain a local database to match the retrieved product information with additional information about this product. However, because of variable nature of this additional information (e.g., pricing, product description), a mobile device then typically transmits the retrieved product information to the server and then receives some additional information from the server. 
         [0028]    As stated, many mobile devices have wireless communication capabilities. In addition to being capable of transmitting voice-based signals, many modern cell phones have internet connectivity using cellular networks (e.g., 3G, 4G) as well as Wi-Fi and other types of networks. Some additional examples of such networks are described below with reference to  FIG. 1 . Wireless communication may be used to transmit retrieved product information to a payment server, receive replies, and transmit authorizations. Overall, various data may be exchanged between the mobile and payment server as well as other servers during operations of the method. 
         [0029]    Before describing various methods and associated operations, a brief description of a computer network. Specifically,  FIG. 1  illustrates an example network segment for implementing various aspects of methods and operations for facilitating mobile device payments in a retail environment using a mobile device. As shown, multiple mobile devices  102   a ,  102   b ,  102   c  may be configured to display barcodes  114   a ,  114   b ,  114   c . Various examples of barcodes are described above. Mobile devices  102   a ,  102   b ,  102   c  communicate with payment server  106  via network  104 . Payment processing server  106  is a part of the payment processing system, which may include payment account database  108  and one or more checkout counters  112 . Network  104  may be also used for communication among various components of the payment processing system. Network  104  may take any suitable form, such as a wide area network or Internet and/or one or more local area networks (LAN&#39;s). The network  104  may include any suitable number and type of devices, e.g., routers and switches, for forwarding commands, content, and/or web object requests from each client to the online community application and responses back to the clients. 
         [0030]    The methods describe herein may also be practiced in a wide variety of network environments (represented by network  104 ) including, for example, TCP/IP-based networks, telecommunications networks, wireless networks, etc. In addition, the computer program instructions may be stored in any type of computer-readable media. The program may be executed according to a variety of computing models including a client/server model, a peer-to-peer model, on a stand-alone computing device, or according to a distributed computing model in which various functionalities described herein may be effected or employed at different locations. 
         [0031]      FIG. 2  is a block diagram showing various modules of payment processing system  200 , in accordance with certain embodiments. Specifically, payment processing system  200  may include a barcode scanner  202  for scanning at barcode displayed on a screen of a mobile device. Barcode scanner  202  may be provided at a checkout counter. Payment processing system  200  may also include a processing module  204  for retrieving the customer payment information from the scanned barcode. In certain embodiments, payment processing system  200  includes a database  206  for storing one or more customer records. Payment processing system  200  may also include a display  208  for displaying the one or more customer records. In certain embodiments, display  208  provided at the checkout counter together with barcode scanner  202 . 
         [0032]      FIG. 3A  is a flow chart illustrating a method for facilitating mobile device payments using a barcode displayed on a mobile device, in accordance with certain embodiments. Process  300  may start with providing merchant identification information onscanning a product code in operation  302 . For example, a mobile device may be used to capture an image of the product code. This image is then processed by the mobile device to retrieve product information (e.g., UPC or EAN code) encoded in the product code. In certain embodiments, an actual image of the product code is considered being product information and it is transmitted to the payment server or some other server for further processing. In some instances, machine readable code cannot be scanned. For example, product code image provided of the product item is damaged. In these instances, a user interface of a mobile device in operation  302 . The merchant identification information may correspond to a merchant payment system. For example, this operation may involve transmitting user identification information to the merchant payment system. Some examples of a mobile device include a mobile phone and a PDA. Operation  302  may also involve displaying an alphanumeric string on the screen of the mobile device. The alphanumeric string also corresponds to the customer payment information. The alphanumeric string may be used by retail clerk when the barcode is not scannable, for example. 
         [0033]    Process  300  may proceed with retrieving customer payment information based on the merchant identification information in operation  306 . The customer payment information corresponds to a customer payment account maintained at the merchant payment system. The customer payment information may be stored in a memory of the mobile device. Alternatively, the customer payment information may be retrieved from the merchant payment system. The customer payment information may include a customer name, a customer account number, and/or an amount of available funds. 
         [0034]    In certain embodiments, process  300  includes an optional operation  304  performed prior to retrieving customer payment information in operation  306 . Operation  304  involves requesting secure access information on the interface of the mobile device. In certain embodiments, a mobile device includes a user interface for entering an alphanumeric entry corresponding to the merchant identification information. 
         [0035]    Process  300  also involves displaying a barcode on a screen of the mobile device in operation  308 . The displayed barcode is scannable by a barcode scanner of the merchant payment system. This barcode encodes the customer payment information. It may be a linear barcode or a two-dimensional barcode. 
         [0036]      FIG. 3B  is a flow chart illustrating a payment processing method using a merchant payment system, in accordance with certain embodiments. Process  320  involves scanning a barcode displayed on a screen of a mobile device during operation  322 . As stated above, the displayed barcode encodes customer payment information. This operation may be performed at a checkout counter. Process  320  may proceed with retrieving the customer payment information from the scanned barcode in operation  324 . This operation may involve decoding the barcode and retrieving various data string from the barcode. Customer payment information may be used to determine availability of funds. In other embodiments, availability of funds is determined from customer records retrieve in operation  326  described below. 
         [0037]    Process  320  may then proceed with retrieving one or more customer records from a database of the merchant payment system in operation  326 . These records correspond to the customer payment information. Process  320  may then process with displaying the one or more customer records at the checkout counter in operation  328 . Process  320  may involve transferring a payment amount from a customer account to a merchant account in operation  330 . This operation may also involve updating the one or more customer records based on the transferred payment amount. Process  320  may also involve receiving user identification information from the mobile device and, based on the user identification information, transmitting the customer payment information to the mobile device. 
         [0038]    Process  300  may involve transmitting the product information to the payment server in operation  306 . Some Examples of product information include alphanumeric representation corresponding to UPC, EAN, EPC, and other types of codes. This product information may be then correlated to the product related data by the payment server further describe below with reference to  FIG. 3B . 
         [0039]    Process  300  may involve receiving and displaying product related information in operation  308 . Some examples of product related information include product pricing information, product discount information, product description information, and complementary product information. 
         [0040]    Finally, process  300  also involves authorizing payment in operation  310 . The authorization is transmitted to the payment server and may be used for transferring funds between accounts and/or other purposes (e.g., authorizing credit). 
         [0041]      FIG. 3B  is a flow chart illustrating a process  320  for purchasing for a product item in a retail environment using a payment server, in accordance with certain embodiments. It should be noted that process  300  described above with reference to  FIG. 3A  and process  320  described herein are performed in parallel in different parts of the network. Specifically, operations of process  300  are performed by one or more mobile devices, while operations of process  320  are performed by one or more servers. 
         [0042]    Process  320  involves receiving product information from a mobile device in operation  322 . Examples of product information are described above. Overall, operation  322  is a server-side operation corresponding to operation  306  described above with reference to  FIG. 3A . Based on product information, a payment server or some other server may retrieve product related data in operation  326 , which is then transmitted to the mobile device in operation  327 . Product related data may be added into the product database in an optional operation  324 . For example, when a merchant adds another product item (e.g., an SKU) to the retail environment, the corresponding product related information may be added to the product database. Various example of the product related data are described above. Furthermore, process  320  may involve receiving a used account information in operation  324 , which s is a server-side operation corresponding to operation  304  described above with reference to  FIG. 3A . Similar to operation  304 , operations  324  may be performed at any moment prior to receiving payment authorization in operation  328 . 
         [0043]    Process  320  then proceeds with receiving payment authorization in operation  328 . The authorization is sent by the mobile device and may be used a secured protocol for transmission. Based on this authorization, process  320  may then involve transfer of the payment amount in operation  330  from one account to another. In certain specific embodiments, the transfer involves crediting payment amount in operation  329 . 
         [0044]      FIG. 4A  illustrates a computer system that may be configured or designed for performing various operations describe above, in accordance with certain embodiments. The computer system  400  includes any number of processors  402  (also referred to as central processing units, or CPUs) that are coupled to storage devices including primary storage  406  (typically a random access memory, or RAM), primary storage  404  (typically a read only memory, or ROM). CPU  402  may be of various types including microcontrollers and microprocessors such as programmable devices (e.g., CPLDs and FPGAs) and unprogrammable devices such as gate array ASICs or general purpose microprocessors. Primary storage  404  may act to transfer data and instructions uni-directionally to the CPU and primary storage  406  is used typically to transfer data and instructions in a bi-directional manner. Both of these primary storage devices may include any suitable computer-readable media such as those described above. A mass storage device  408  is also coupled bi-directionally to CPU  402  and provides additional data storage capacity and may include any of the computer-readable media described above. Mass storage device  408  may be used to store programs, data and the like and is typically a secondary storage medium such as a hard disk. It will be appreciated that the information retained within the mass storage device  408 , may, in appropriate cases, be incorporated in standard fashion as part of primary storage  406  as virtual memory. A specific mass storage device such as a CD-ROM  414  may also pass data uni-directionally to the CPU. 
         [0045]    CPU  402  may also be coupled to an interface  410  that connects to one or more input/output devices such as such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers. Finally, CPU  402  optionally may be coupled to an external device such as a database or a computer or telecommunications network using an external connection as shown generally at  412 . With such a connection, it is contemplated that the CPU might receive information from the network, or might output information to the network in the course of performing the operations described herein. 
         [0046]    The example embodiments described herein may be implemented in an operating environment including software installed on a computer, in hardware, or in a combination of software and hardware. 
         [0047]      FIG. 4B  illustrates a particular example of a mobile device  420 . The mobile device  420  includes a processor  421 , a memory  423 , a user interface  425 , a cellular network interface  429 , and a power source  431 . A processor  421  may be specifically configured to encode various information into one or more barcodes from the product codes. A user interface  425 , such as an LCD screen, is configured to display one or more barcodes. Different product information, e.g., retrieves from the product code and/or received from the payment server. Memory  423  may be configured to store various security features associate with the transaction. Furthermore, advanced processing, communicating, scanning and displaying capabilities of the mobile devices and more frequent use of these capabilities may need substantial power outputs provided by the power source  431 . 
         [0048]    Thus, various systems and methods for purchasing for a product item in a retail environment using a mobile device and a payment server have been described. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the system and method described herein. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.