The invention relates generally to a mobile wallet, and more specifically, to systems and methods for providing a common interface and/or experience for using a mobile wallet.
Various Mobile Applications exist in the marketplace to permit the customer to interact with a merchant's point of sale system in some manner (typically payment related). Each application has unique aspects, which can potentially create confusion and complexity for the customer and/or store associate. Similar complexity exists on the point of sale system, as it must accommodate the various idiosyncrasies of multiple mobile applications. In other words, the customer or cashier must learn something new for each mobile application, and the point of sale system must be changed each time a new mobile application is integrated.
In one aspect, provided is a method of common user experience for executing mobile payment for a transaction at a point of sale, the method comprising: scanning a code generated at the point of sale with a mobile device operating a mobile application, wherein the code includes encoded/encrypted information that is scannable by any participating mobile application; automatically establishing a communication link between the corresponding backend system and the point of sale in response to scanning of the code by the mobile device, in order to link the backend system with the transaction; and gathering customer payment profile information for use with the transaction to effect payment.
In another aspect, provided is a method of common user experience for executing mobile payment for a transaction at a point of sale, the method comprising: emitting a wireless signal generated at the point of sale, wherein the code includes encoded/encrypted information that is detectable by any participating mobile application operating on a mobile device; automatically establishing a communication link between the corresponding backend system and the point of sale in response to scanning of the code by the mobile device, in order to link the backend system with the transaction; and gathering customer payment profile information for use with the transaction to effect payment.
In another aspect, provided is a method of common user experience for executing mobile payment for a transaction at a point of sale, the method comprising: scanning a code generated with a mobile application operating on a mobile device with a scanning device of the point of sale, wherein the code includes encoded/encrypted information; automatically establishing a communication link between a wallet broker and the point of sale in response to scanning of the code, in order to link the wallet broker with the transaction; determining at the wallet broker the mobile application used to generate the code; and gathering customer payment profile information from a corresponding backend systems, based on the mobile application used to generate the code for use with the transaction to effect payment.
In another aspect, provided is a system for providing a common experience using a mobile wallet in accordance with embodiments. The system comprises: a mobile device operating a mobile application; a mobile backend system corresponding to the mobile application; a point of sale; and a wallet broker, wherein: the wallet broker is linked to a transaction performed at the point of sale to place the wallet broker in communication with the mobile application, mobile backend system and the point of sale; the wallet broker accesses the mobile backend system to obtain a customer payment profile; the wallet broker sends an authorization message to the corresponding backend system for authorization in response to receiving a request for payment authorization from the point of sale; and the wallet broker sends a standard message to the point of sale reporting the state of the authorization request.
The above and further advantages of this invention may be better understood by referring to the following description in conjunction with the accompanying drawings, in which like numerals indicate like structural elements and features in various figures. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
Many customers are using mobile payment offerings for payment in various stores. There are many mobile payment offerings in the market place, and new mobile payment offerings are being developed and used all of the time. These multiple and new offerings often become confusing for customers. They also become complex for point of sale system developers to frequently learn a new way to pay and change the point of sale to support the next new mobile payment solution.
The present inventive concepts provide the benefit of enabling multiple mobile applications and corresponding backend systems to be used in a “common” way.
Referring to
The mobile applications 112, 116, 120 may be an application that runs on a customer's mobile device (e.g. phone, tablet) that is the customer's primary interaction point for a transaction. Different mobile applications are published by various 3rd parties for the customer to use or internally by a particular business. The mobile applications communicate to the Mobile Backend.
The mobile backend 114, 118, 122 may expose services/API to the mobile application to provide ability to store/access data and execute business functionality. Each 3rd party application has a different ‘backend’ to support it.
The wallet broker 124 separates the PUS 126 from the differences encountered by variations in mobile applications 112, 116, 118 and mobile backend 114, 118, 122 implementations. The POS 126 interacts with wallet broker 124, which interacts with mobile applications 112, 116, 118 and mobile backend 114, 118, 122 on behalf of the POS 126.
In general, the system 110 allows a customer to scan the same code, such as a QR code/barcode, or receives the same wireless message, such as a Bluetooth low energy transmission or a near field communication, regardless of the mobile application or operating system. Mobile backend systems translate the messages so customer does not have to do something different for different mobile applications, such as, but not limited no need to push a button to make a specific barcode appear.
Also, the system 110 generally allows a cashier to scan a participating mobile application's code such as a QR code/barcode. Mobile applications and/or mobile backend systems determines to communicate with the wallet broker, which will facilitate communications with the POS 126. There is no need to go into a different mode, or specify which mobile application prior to scanning.
In system 110, the POS 126 is isolated from complexities of integrating with different mobile applications and corresponding backend systems.
Referring to
When the mobile application 116 receives the code and encoded/encrypted information, the mobile application 116 may perform one of two operations. In the first operation, the mobile application 11.6 may directly communicate with the wallet broker 124 to link to the wallet broker 124 with transaction allowing communication with the mobile backend 118 and the POS 126. The wallet broker 124 may then communicate with the mobile backend system 116 to gather additional/required information, such as, but not limited to a customer payment profile.
In the second operation, the mobile application 116 may directly communication with the mobile backend system 118. By communicating directly with the mobile backend system 118, the mobile application 116 may gather additional/required information, such as, but not limited to a customer payment profile and send the information to the wallet broker 124 as part of linking the wallet broker 124 to the transaction. Alternatively, the mobile application 116 may communicate with the mobile backend 118, which may gather information to send to the wallet broker 124, which will fink the wallet broker 124 to the backend 118 and POS 126 for further information exchange, such as, but not limited to a customer payment profile.
Referring to
When the mobile application 112 receives the encoded/encrypted information, the mobile application 112 may perform one of two operations. In the first operation, the mobile application 112 may directly communicate with the wallet broker 124 to link to the wallet broker 124 with transaction allowing communication with the mobile backend 114 and the POS 126. The wallet broker 124 may then communicate with the mobile backend system 112 to gather additional/required information, such as, but not limited to a customer payment profile.
In the second operation, the mobile application 112 may directly communication with the mobile backend system 114. By communicating directly with the mobile backend system 114, the mobile application 112 may gather additional/required information, such as, but not limited to a customer payment profile and send the information to the wallet broker 124 as part of linking the wallet broker 124 to the transaction. Alternatively, the mobile application 116 may communicate with the mobile backend 118, which may gather information to send to the wallet broker 124, which will link the wallet broker 124 to the backend 118 and POS 126 for further information exchange, such as, but not limited to a customer payment profile.
Referring to
The wallet broker 124 evaluates the content of the proprietary information and determines which mobile application 120 type was used. The wallet broker 124 may then communicate with the corresponding mobile backend system 122 to retrieve information, such as, but not limited to a customer payment profile.
With regard to
The POS 126 receives a standard message reporting the state of the authorization request(s). When the transaction is complete, the POS 126 alerts the wallet broker 124 so the link to the transaction can be closed and mobile backend systems 114, 118, 122 and/or mobile application 112, 116, 120 can be notified.
If supported by the mobile applications 112, 116, 120 and mobile backend systems 114, 118, 122, additional data can be sent to the POS 126 for processing, such as, but not limited to customer profile/preferences, discount cards, membership cards, basket information, electronic receipts and coupons/offers. Each of these different data may generally be included in the customer payment profile.
Some mobile applications 112, 116, 120 do not require additional communication to backend systems 114, 118, 122, that is the data captured in the code is sufficient to authorize payment because it is a payment credential. In these situations, the wallet broker 124 will simply skip the additional data gathering steps. Again, the POS 126 is not aware of the difference because it sees the same information. In some instances, it may be desired to send the payment credentials to the POS 126 to allow it to process the authorization through pre-existing payment integrations.
Some mobile payment solutions allow multiple tenders to be authorized out of the wallet. After the completion of the POS 126 receives a standard message reporting the state of the authorization request, the POS 126 can request additional tender information and communicate with the wallet broker 124.
The system 110 provides several improvements over the prior art. For example, it provides common user experience regardless of the mobile application; common cashier experience regardless of the mobile application; a single integration for the POS system and avoids having to change the POS to integrate a new mobile application; consistency of push notification simplifies mobile payment implementation since the POS may not be sure when a mobile application will sync or link to the transaction, or which application performed the sync; and improved security by minimizing payment credentials residing within the POS system.
Step 132 of establishing a communication link between the backend system and the point of sale further comprises sending encoded/encrypted information from the code to a wallet broker, wherein the wallet broker establishes a link to the point of sale and to the backend system.
Step 133 of gathering customer payment profile comprises accessing the backend system with the wallet broker in order to gather the customer payment profile. Step 133 of gathering customer payment profile information may also include gathering customer payment profile information from the backend system through the wallet broker.
The method 130 may further include sending customer payment profile information to a wallet broker.
Step 142 of establishing a communication link between the backend system and the point of sale further comprises sending encrypted information from the code to a wallet broker, wherein the wallet broker establishes a link to the point of sale and to the backend system.
Step 143 of gathering customer payment profile comprises accessing the backend system with the wallet broker in order to gather the customer payment profile. Step 143 of gathering customer payment profile information may also include gathering customer payment profile information from the backend system through a wallet broker.
The method 140 may further comprise sending customer payment profile information to a wallet broker.
Step 152 of establishing a communication link between the wallet broker and the point of sale further comprises sending encoded/encrypted information from the code to the wallet broker. Step 154 of gathering customer payment profile comprises accessing the backend system with the wallet broker in order to gather the customer payment profile.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire-line, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages, The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, cloud-based infrastructure architecture, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
While the invention has been shown and described with reference to specific preferred embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the following claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US15/55140 | 10/12/2015 | WO | 00 |