MOBILE BARCODE GENERATION AND PAYMENT
An application on user's mobile device (having a display screen) generates a one-time use and time-limited barcode on the display when the user enters a PIN. The barcode can be scanned to make purchases at a point of sale (POS).
This application is a continuation of U.S. patent application Ser. No. 12/414,562, filed on Mar. 30, 2009, which claims priority to U.S. Provisional Application Ser. No. 61/119,328, filed Dec. 2, 2008, the content of which are incorporated herein by reference in their entirety.
BACKGROUND Field of the InventionThe present invention generally relates to facilitating financial transactions and more particularly to facilitating such transactions with a mobile device.
Related ArtMobile devices, such as cell phones, are being used by more and more people world-wide. In addition to using mobile phones for voice calls, consumers can communicate nearly anytime and anywhere to facilitate information access to mobile services and the Internet. Mobile phones have also become multimedia computing platforms with integral digital cameras for taking pictures and video, playing music, recording conversations, and organizing and planning activities and appointments.
More recently, mobile phones have been used in conjunction with on-line payment service providers, such as PayPal, Inc. of San Jose, Calif. With the ever-increasing popularity of the Internet and of Internet commerce, both consumers and sellers are using the Internet to facilitate financial transactions between parties, whether they are individuals or companies. In on-line financial transactions, consumers may use an on-line payment provider to transfer money and receive money over electronic networks, such as the Internet. The money transfer may be for payment of goods or services. The payment providers supply an infra-structure, software, and services that enable users to make and receive payments. Mobile phone users may contract with a payment provider to allow the user to make payments over the phone. Typically, this requires the user to open up an application on the phone, such as through a web browser. The user then accesses his or her on-line account by entering requested information, such as a user name, phone number, email, and/or password. Payment information can then be entered and transmitted to the payment provider, who then transfers funds from the user's account to the payee's account. A confirmation may then be sent to the payer and/or the payee.
While this service gives the consumer flexibility in paying for services anywhere using a mobile phone, the procedure can be cumbersome, time-consuming, and may be prone to fraudulent transfers.
SUMMARYAccording to one embodiment, an application on a mobile device having a screen, such as a cell phone, enables the user to generate a barcode on the screen, which can be scanned for payment. The barcode is valid for a limited period of time (e.g., one minute) and for a single use. Once scanned, payment is transferred from the user's account to the merchant's account. In one embodiment, the user first opens up the application on the phone, which then presents the user with a screen showing a phone number associated with the user and a field for the user to enter a password or PIN. After entering a correct password or PIN, a barcode is generated and appears on the screen. The barcode is generated through a payment provider, such as PayPal. Once the barcode is generated, a scanner, such as a CCD scanner, scans the barcode at the point of sale (POS) or other physical payment location. Funds are deducted from the user's account and transferred to the retailer's account. The user may be asked for a signature confirmation. A receipt can then be generated on the mobile device, and purchases tracked immediately.
According to another embodiment, a receipt can be displayed on the user's mobile device for performing a refund transaction. The receipt is located on the user's mobile device, using any suitable search, such as by date, recent activity, store, etc. The receipt may have been stored as part of a purchase described above. Once located, the receipt, in the form of a scannable barcode, is displayed on the user's device. The receipt is then scanned, either by the merchant or user. The returned merchandise can be scanned before or after the receipt is scanned. Once both the returned merchandise and the receipt are scanned, the information is compared to ensure that the receipt matches the returned merchandise. If the refund is approved, the payment provider transfers the appropriate funds from the merchant's account to the user's account. The merchant and/or user may then be given a receipt, either electronically or in printable/paper form.
Other scannable financial products may also be generated, such as a virtual debit/credit card, coupons, and gift cards. If a qualifying purchase provides the user with an instant coupon or rebate, those can be generated as well.
As a result, users can easily and safely pay for transaction using their mobile phone at any location having a suitable scanning device. The user is provided with an alternate or additional vehicle for payment. The user does not need to worry about carrying and managing numerous physical payment means, such as cards, paper coupons, paper gift certificates, etc. Purchases can be instantly categorized and tracked via the phone, and receipts instantly available. For merchants or retailers, this new form of payment may increase sales and volume due to the ability of consumers to have an easy and new way to purchase items. The cost to merchants and retailers may be minimal, as existing scanning systems may be used or simply modified.
These and other features and advantages of the present invention will be more readily apparent from the detailed description of the embodiments set forth below taken in conjunction with the accompanying drawings.
Exemplary embodiments and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures, wherein showings therein are for purposes of illustrating exemplary embodiments and not for purposes of limiting the same.
DETAILED DESCRIPTIONIn step 108, the user presents the barcode image to the merchant. This may be at a checkout stand or point of sale (POS) after the user has finished shopping and the items (and/or services) for purchase have been scanned or entered for payment. A total is presented to the user, at which point, the user provides the merchant a form of payment. In one embodiment, the user displays the barcode for the merchant to scan. The merchant then scans the barcode for payment. In another embodiment, the user may scan the barcode himself, such as by passing the screen through a scanner. Note that a suitable scanner system and type may be required depending on the device showing the barcode. For example, a CCD scanner may be needed to accurately scan a device having a reflective screen, such as on a phone. After scanning, the user may be given the option, in step 110, of confirming the payment, such as with a signature, checking an “accept” icon, etc.
The merchant is then notified whether the payment was approved. Approval may be in the form of the payment provider transmitting, and the merchant receiving, a text message, such as “Approved,” a visual message, such as a green light, a verbal message, such as from a live or automated call to the merchant, or any other suitable indication of approval. Denial of the payment may be indicated in similar ways, such as “Denied,” a red light, etc. Denial of the payment may result from various reasons, such as insufficient funds in the user's account to make the purchase or payment, an error in reading the barcode, or an invalid barcode. If the denial is from an error in reading, the merchant may be notified accordingly and the barcode re-scanned as needed. If the denial is from an invalid barcode, the barcode may have expired or been used already. If denied, an indication of the reason may be given to the merchant and/or the user so that the reason can be addressed. For example, if the denial is an invalid barcode, the barcode may be scanned again, or a new barcode may be generated for scanning.
In one embodiment, the barcode generated on the user's phone is valid for only one use (e.g., one confirmed use, where the single use may be from multiple unsuccessful scans and one successful scan) and a specific amount of time. For example, the barcode may only be valid for 30 seconds or one minute after the barcode is generated. This increases security and minimizes misuse or fraudulent use of the barcode.
Assuming the barcode is valid and confirmed, the payment is concluded, and the user is given a receipt at step 112, such as from the merchant terminal in the form of a paper receipt or Short Message Service (SMS) message to the phone. In other embodiments, the user may also view a receipt on the phone and manage or otherwise track the purchase through the payment provider. For example, the user may make notes about the purchase for future reference or send the purchase to another application. The user can also check previous transactions and view or cancel pending authorizations. Note that in some embodiments, the user can easily cancel this service completely, such as when the phone is lost. For example, the user can simply log onto the payment provider site, enter information to access the account, and then cancel the service. Another security feature may be that the user is required to first unlock the phone before use. This can be done in various ways, such as biometric scan or entering an ID to unlock the phone. For the latter, the user is then required to enter two passwords or PINS, one for unlocking the phone and one for accessing the application.
At step 210, the payment provider generates a barcode corresponding to the user's account. The barcode can be generated with standard software for display on a screen or terminal, such as through a processor running the software. The barcode may allow access to all the funds in a user's account, only a portion set aside by the user, or be restricted to certain merchants or products/services. For example, a parent may set up an account for a child with limits and restrictions for use. Restrictions may include a maximum amount per transaction or barcode generation, a maximum number of transactions per time period (e.g., week or month), maximum dollar amount of transactions per time period (e.g., week or month), and a pre-determined expiration date of the agreement, such that after expiration, the user can no longer generate the barcodes, unless the user renews the agreement. The barcode may also be for a specific amount, as specified by the user after accessing the application. For example, after access, the user may be given an option of entering the amount, selecting from one of several pre-defined amounts, or using a default amount.
Once the barcode is generated, the payment provider transmits the barcode to the user device, which displays the barcode on the device. Transmission of the barcode can be by the same or similar means as used to receive information from the user, e.g., antenna, transmitter, or transceiver. The payment provider then waits for information from the merchant or scanner. This information may include the merchant's name, account information, payment amount, etc. When the information is received at step 212, the payment provider determines whether the received information will allow the payment provider to make the transfer. As discussed above, information that will make the payment provider deny the payment can include a requested payment exceeding the barcode limit, an expired or already used barcode, a barcode not matching the one for the user, an unrecognized merchant account, etc. If the received information is proper, the payment provider affects a transfer of funds from the user's account to the merchant's account in step 214, with protocols and software executed by processors such as used by PayPal and other on-line financial institutions. The payment provider may also send a confirmation to both the user and merchant that funds have been transferred. Confirmation may be the same for the user and merchant or different, and may include a text message, a visual indicator, a voice indicator, etc.
In another embodiment, the payment provider may provide an additional layer of protection for the merchant, e.g., to minimize charge backs and/or obtain proof of user signature or consent. Initially, the merchant scans the generated barcode with a scanner, such as described above. The POS software at the merchant location then makes a DoAuthorization API call to the payment provider to authorize the payment. In response, the payment provider determines whether the scanned information is consistent with the payment provider information for the user and responds with an authorization or decline to the merchant. If authorized, the merchant can then display the amount for the user to authorize. This can be on an electronic signature pad for the user to sign or just an OK button for the user to press. The POS software then makes a DoCapture API call to the payment provider to capture the payment. The payment provider will then respond with an API response to indicate whether the funds were transferred successfully. If so, the merchant prints a receipt for the user.
Once displayed, the merchant, at step 256, scans the barcode, as part of the refund process. Scanning of the barcode can be done before or after the merchant scans the returned merchandise. Next, at step 258, the POS software at the merchant location makes a refund API call to initiate the refund. In one embodiment, the payment provider can then determine if the transaction (refund) is proper and valid. Ways in which the payment provider can do this include confirming whether the merchant and user accounts are valid, matching up the specific merchant account with the merchant, matching up the specific user account with the user, determining whether the refunded item was truly purchased and if it was purchased at the merchant, matching the returned item to what is indicated on the receipt, any expiration date on the receipt for refunds, etc. When the refund is approved, either by the payment provider or by the merchant, the payment provider transfers the refunded amount from the merchant's account to the user's account. The payment provider then transmits an API response to indicate whether the refund was successful. If so, the merchant, at step 260, prints a receipt that shows the refund transaction. The refund receipt may also be stored on the user's phone. This embodiment enables the user to easily and effectively manage receipts and refunds, as compared to saving, storing, and categorizing paper receipts.
In one embodiment, computer system 500 may include a bus 502 or other communication mechanism for communicating information, which interconnects subsystems and components, such as a processing component 504 (e.g., processor, micro-controller, digital signal processor (DSP), etc.), a system memory component 506 (e.g., RAM), a static storage component 508 (e.g., ROM), a disk drive component 510 (e.g., magnetic or optical), a network interface component 512 (e.g., modem or Ethernet card), a display component 514 (e.g., CRT or LCD for displaying the generated barcode), an input component 516 (e.g., keyboard or keypad for entering a PIN or password), and/or a cursor control component 518 (e.g., keys, mouse, or trackball). In one embodiment, disk drive component 510 may comprise a database having one or more disk drive components. Network interface component 512 may include an antenna, either separate or integrated, to enable transmission and reception via communication link 520.
Computer system 500 may perform specific operations by processor 504 executing one or more sequences of one or more instructions contained in system memory component 506, according to steps described above with respect to
Logic may be encoded in a computer readable medium, which may refer to any medium that participates in providing instructions to processor 504 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. In various implementations, non-volatile media includes optical or magnetic disks, such as disk drive component 510, volatile media includes dynamic memory, such as system memory component 406, and transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 502. In one example, transmission media may take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Some common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, carrier wave, or any other medium from which a computer is adapted to read.
In various example embodiments, execution of instruction sequences for practicing embodiments of the invention may be performed by computer system 500. In various other embodiments, a plurality of computer systems 500 coupled by communication link 520 may perform instruction sequences to practice the invention in coordination with one another.
Computer system 500 may transmit and receive messages, data, information and instructions, including one or more programs (i.e., application code) through communication link 520 and communication interface 512. Received program code may be executed by processor 504 as received and/or stored in disk drive component 510 or some other non-volatile storage component for execution.
Where applicable, various embodiments provided by the present disclosure may be implemented using hardware, software, or combinations of hardware and software. Also, where applicable, the various hardware components and/or software components set forth herein may be combined into composite components comprising software, hardware, and/or both without departing from the spirit of the present disclosure. Where applicable, the various hardware components and/or software components set forth herein may be separated into sub-components comprising software, hardware, or both without departing from the scope of the present disclosure. In addition, where applicable, it is contemplated that software components may be implemented as hardware components and vice-versa.
Software, in accordance with the present disclosure, such as program code and/or data, may be stored on one or more computer readable mediums. It is also contemplated that software identified herein may be implemented using one or more general purpose or specific purpose computers and/or computer systems, networked and/or otherwise. Where applicable, the ordering of various steps described herein may be changed, combined into composite steps, and/or separated into sub-steps to provide features described herein.
The foregoing disclosure is not intended to limit the present invention to the precise forms or particular fields of use disclosed. It is contemplated that various alternate embodiments and/or modifications to the present invention, whether explicitly described or implied herein, are possible in light of the disclosure. For example, entry of a user PIN with associated phone number may create a virtual debit card with a corresponding barcode. The barcode can then be scanned for normal debit card processing. Other examples include generation of barcodes corresponding to coupons, gift cards, or virtually any financial instrument. Furthermore, the generation and scanning of the barcode can be at any time during the transaction, such as before, during, or after items are scanned or otherwise recorded.
Having thus described embodiments of the invention, persons of ordinary skill in the art will recognize that changes may be made in form and detail without departing from the scope of the invention. Thus, the invention is limited only by the claims.
Claims
1. (canceled)
2. A system, comprising:
- one or more processors, one or more computer-readable memories, with program instructions stored on the one or more computer-readable memories, the one or more processors configured to execute the program instructions to cause the system to perform operations comprising: in response to receiving a request from an authenticated user for a scannable payment code, transmitting information to the user device to cause the scannable payment code to be displayed on the user device, wherein the scannable payment code includes information that corresponds to a user account associated with the user; receiving the scannable payment code from a merchant device of a merchant in association with a transaction; in response to the receiving the scannable payment code from the merchant device, determining whether the scannable payment code corresponds with the user account of the user; and in response to determining that the scannable payment code corresponds to the user account of the user, processing the transaction using the user account.
3. The system of claim 2, wherein the operations further comprise:
- determining that the transaction satisfies one or more criteria corresponding to the scannable payment code; and
- wherein the processing the transaction using the user account is further based on determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code.
4. The system of claim 3, wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that a time that the scannable payment code was received from the merchant device corresponds to a time period of validity associated with the scannable payment code.
5. The system of claim 3, wherein the scannable payment code is configured to be usable for a transaction amount that is below a pre-defined amount, and wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that a transaction amount associated with the transaction is below the pre-defined amount.
6. The system of claim 3, wherein the scannable payment code is configured to be usable for a transaction that is associated with a specific item or service, and wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that an item or service associated with the transaction corresponds to the specific item or service.
7. The system of claim 2, wherein the scannable payment code transmitted is configured to be valid for a single transaction.
8. The system of claim 2, wherein the operations further comprises:
- receiving authentication information from the user device; and
- authenticating the user of the user device prior to transmitting the information to the user device to cause the scannable payment code to be displayed on the user device.
9. A method comprising:
- in response to receiving a request from an authenticated user for a scannable payment code, transmitting information to the user device to cause the scannable payment code to be displayed on the user device, wherein the scannable payment code includes information that corresponds to a user account associated with the user;
- receiving the scannable payment code from a merchant device of a merchant in association with a transaction;
- in response to the receiving the scannable payment code from the merchant device, determining whether the scannable payment code corresponds with the user account of the user; and
- in response to determining that the scannable payment code corresponds to the user account of the user, processing the transaction using the user account.
10. The method of claim 9, further comprising:
- determining that the transaction satisfies one or more criteria corresponding to the scannable payment code; and
- wherein the processing the transaction using the user account is further based on determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code.
11. The method of claim 10, wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that a time that the scannable payment code was received from the merchant device corresponds to a time period of validity associated with the scannable payment code.
12. The method of claim 10, wherein the scannable payment code is configured to be usable for a transaction amount that is below a pre-defined amount, and wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that a transaction amount associated with the transaction is below the pre-defined amount.
13. The method of claim 10 wherein the scannable payment code is configured to be usable for a transaction that is associated with a specific item or service, and wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that an item or service associated with the transaction corresponds to the specific item or service.
14. The method of claim 9, wherein the scannable payment code transmitted is configured to be valid for a single transaction.
15. The method of claim 9, further comprising:
- receiving authentication information from the user device; and
- authenticating the user of the user device prior to transmitting the information to the user device to cause the scannable payment code to be displayed on the user device.
16. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations comprising:
- in response to receiving a request from an authenticated user for a scannable payment code, transmitting information to the user device to cause the scannable payment code to be displayed on the user device, wherein the scannable payment code includes information that corresponds to a user account associated with the user;
- receiving the scannable payment code from a merchant device of a merchant in association with a transaction;
- in response to the receiving the scannable payment code from the merchant device, determining whether the scannable payment code corresponds with the user account of the user; and
- in response to determining that the scannable payment code corresponds to the user account of the user, processing the transaction using the user account.
17. The non-transitory machine-readable medium of claim 16, wherein the operations further comprise:
- determining that the transaction satisfies one or more criteria corresponding to the scannable payment code; and
- wherein the processing the transaction using the user account is further based on determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code.
18. The non-transitory machine-readable medium of claim 17, wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that a time that the scannable payment code was received from the merchant device corresponds to a time period of validity associated with the scannable payment code.
19. The non-transitory machine-readable medium of claim 17, wherein the scannable payment code is configured to be usable for a transaction amount that is below a pre-defined amount, and wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that a transaction amount associated with the transaction is below the pre-defined amount.
20. The non-transitory machine-readable medium of claim 17, wherein the scannable payment code is configured to be usable for a transaction that is associated with a specific item or service, and wherein the determining that the transaction satisfies the one or more criteria corresponding to the scannable payment code includes determining that an item or service associated with the transaction corresponds to the specific item or service.
21. The non-transitory machine-readable medium of claim 16, wherein the scannable payment code transmitted is configured to be valid for a single transaction.
Type: Application
Filed: Nov 16, 2020
Publication Date: Jul 1, 2021
Inventors: Catherine A. WONG (San Ramon, CA), Edward I. Shie (Foster City, CA), Jeffrey M. Aronoff (Los Gatos, CA), Richard Chi-Peng Lin (Cupertino, CA), Sireesh Potireddy (San Jose, CA), Seth Shi Yueh Wang (Santa Clara, CA)
Application Number: 17/099,611