Patent ID: 12248929

DETAILED DESCRIPTION

Embodiments described herein extend to methods, systems, and computer program products for a cloud-based transaction platform. Embodiments include an infrastructure that can be used with third party mobile wallets provided by third party mobile wallet providers. Users with native or third party mobile wallets can use the cloud-based transaction platform to enroll a customer for a third party mobile wallet, add a stored value account (either hosted by the cloud-based transaction platform or a third party), add a bank/credit union account to a third party mobile wallet, add a debit/credit card account to a third party mobile wallet, deposit funds in a third party mobile wallet, withdraw funds from a third party mobile wallet, pay bills from a third party mobile wallet, top up a prepaid mobile account through a third party mobile wallet, transfer funds through a third party mobile wallet, and make in store purchases from a third party mobile wallet.

Embodiments described herein are directed to performing a transaction using a third party mobile wallet, performing a transaction using a third party point of sale (POS) system and to making a purchase from a third party mobile wallet provided by a third party mobile wallet provider. In one embodiment, a cloud-based transaction platform is provided, which receives communication from an agent terminal over a communication channel connected to the cloud-based transaction platform. The agent communication indicates that a customer desires to perform a mobile wallet transaction using their third party mobile wallet. The cloud-based transaction platform sends the agent communication to a third party mobile wallet platform, receives communication from the third party mobile wallet platform confirming processing of the transaction, and sends communication to the agent terminal over a communication channel connected to the cloud-based transaction platform, where the communication indicates confirmation of the processing of the trans action.

In another embodiment, a cloud-based transaction platform performs a transaction using a third party point of sale (POS) system. The cloud-based transaction platform receives communication from a specified POS system implemented at an agent terminal over a communication channel connected to the cloud-based transaction platform. The POS communication indicates that a customer has initiated a mobile wallet transaction using their third party mobile wallet. The cloud-based transaction platform sends the POS communication to a corresponding third party POS transaction processing system that has been established to process POS transactions from the specified POS system, receives communication from the third party POS transaction processing system confirming processing of the transaction, and sends communication to the specified POS system implemented at the agent terminal over a communication channel connected to the cloud-based transaction platform, where the communication indicates confirmation of the processing of the transaction.

In yet another embodiment, a cloud-based transaction platform is provided which allows users to make purchases from a third party mobile wallet provided by a third party mobile wallet provider. The cloud-based transaction platform receives communication from a customer over a communication channel connected to the cloud-based transaction platform. The customer communication indicates that a customer desires to purchase an item for a specified amount of funds using a specified payment method indicated by the customer's third party mobile wallet. The cloud-based transaction platform returns a secure, perishable purchase code to the customer over at least one the communication channels connected to the cloud-based transaction platform and receives communication from an agent terminal over a communication channel connected to the cloud-based transaction platform. The agent terminal communication indicates that the purchase code has been presented to an agent. The cloud-based transaction platform then debits the customer's third party mobile wallet by the specified amount of funds to complete the purchase. Such purchases may be for items that are provided by the cloud-based transaction platform, either directly or via a third-party provider. These items may include music, movies, games and other downloadable content, physical items that can be shipped to the user and other items such as health care services.

Embodiments described herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments described herein also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions in the form of data are computer storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments described herein can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.

Computer storage media includes RAM, ROM, EEPROM, CD-ROM, solid state drives (SSDs) that are based on RAM, Flash memory, phase-change memory (PCM), or other types of memory, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions, data or data structures and which can be accessed by a general purpose or special purpose computer.

A “network” is defined as one or more data links and/or data switches that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmission media can include a network which can be used to carry data or desired program code means in the form of computer-executable instructions or in the form of data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.

Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a network interface card or “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media at a computer system. Thus, it should be understood that computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.

Computer-executable (or computer-interpretable) instructions comprise, for example, instructions which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.

Those skilled in the art will appreciate that various embodiments may be practiced in network computing environments with many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like. Embodiments described herein may also be practiced in distributed system environments where local and remote computer systems that are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, each perform tasks (e.g. cloud computing, cloud services and the like). In a distributed system environment, program modules may be located in both local and remote memory storage devices.

In this description and the following claims, “cloud computing” is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of “cloud computing” is not limited to any of the other numerous advantages that can be obtained from such a model when properly deployed.

For instance, cloud computing is currently employed in the marketplace so as to offer ubiquitous and convenient on-demand access to the shared pool of configurable computing resources. Furthermore, the shared pool of configurable computing resources can be rapidly provisioned via virtualization and released with low management effort or service provider interaction, and then scaled accordingly.

A cloud computing model can be composed of various characteristics such as on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth. A cloud computing model may also come in the form of various service models such as, for example, Software as a Service (“SaaS”), Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”). The cloud computing model may also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth. In this description and in the claims, a “cloud computing environment” is an environment in which cloud computing is employed.

Additionally or alternatively, the functionally described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), and other types of programmable hardware.

Still further, system architectures described herein can include a plurality of independent components that each contribute to the functionality of the system as a whole. This modularity allows for increased flexibility when approaching issues of platform scalability and, to this end, provides a variety of advantages. System complexity and growth can be managed more easily through the use of smaller-scale parts with limited functional scope. Platform fault tolerance is enhanced through the use of these loosely coupled modules. Individual components can be grown incrementally as business needs dictate. Modular development also translates to decreased time to market for new functionality. New functionality can be added or subtracted without impacting the core system.

Various terminology will be used herein to describe the cloud-based transaction platform (also referred to as a “monetary transaction system”, “mobile wallet platform”, “mobile wallet program”, “mobile wallet transaction system”, “mobile financial services (mFS) platform” or “electronic payment system”). The term “agent” is used to refer to an individual with mFS transaction system tools and training to support specific mFS functions. These mFS functions include subscriber registration and activation, and the deposit and withdrawal of funds from the mFS transaction system. Agents are representatives of the mFS transaction system or “program”. Agents can be employees or contractors of the program provider, or other companies and organizations that partner with the program provider to provide these services themselves. Agents may be found in every facet of a typical economy, and may include large retailers, mobile network operators (MNO) airtime sales agents, gas stations, kiosks, or other places of business.

The cloud-based transaction platform includes an infrastructure that allows native mobile wallet application and third party mobile wallet applications to interact both with the transaction system and with each other. This allows the user of a native or a third party mobile wallet to make purchases, transfer money or perform any of the other transactions described herein. The cloud-based transaction platform may include a mobile wallet application and a web interface or some other type of functionality that allows the user to interact with the cloud-based transaction platform using their mobile device. The native and third party mobile wallet applications may include a subscriber identity module (SIM) application, an Unstructured Supplementary Service Data (USSD) application, a smartphone application, a web application, a mobile web application, a Wireless Application Protocol (WAP) application, a Java 2 Platform, Micro Edition (J2ME) application, a tablet application or any other type of application or interface that provides tools for the agent to register, activate, and offer other services to the mFS subscriber.

As used herein, a mobile wallet application is a mobile wallet application installed on a SIM card or elsewhere on a mobile device. The mobile wallet application may either be native (i.e. provided by the provider of the cloud-based transaction platform) or third party (i.e. provided by a provider other than the provider of the cloud-based transaction platform).

A USSD application is an application that implements USSD for various functionality including prepaid callback service, location-based content services, menu-based information services and other mobile wallet platform services. A web application is one that implements or uses the internet to provide mobile wallet platform functionality. A mobile web application is similar to a web application, but is tailored for mobile devices. A WAP application is one that uses the wireless application protocol to communicate with the mobile wallet platform to provide the platform's functionality. A J2ME application is an application developed in Java and is designed to provide mobile wallet functionality on a variety of different hardware. A tablet application is an application specifically designed for a touchscreen-based tablet that provides mobile wallet platform functionality for tablet devices. Any of these applications (or any combination thereof) may be provided on the user's mobile device. This functionality can also be made available on a retail point of sale (POS) system or web site. Indeed, the cloud-based transaction platform allows different POS systems to interact with each other and conduct transactions between themselves.

The term “agent administrator” refers to an individual with mFS program tools and training to administrate the allocation of funds to agent branches (e.g. retail locations). As agents perform mFS transactions with subscribers, such as depositing and withdrawing money, the agents are adding and removing money from their own accounts. Any of the applications referred to above may be configured to provide tools used by the agent administrator to view the agent company balance, view the agent branch balances, and transfer funds into and out of agent branch mobile wallets. This functionality can also be made available on a website for easier access.

In some embodiments, the mFS platform application may utilize triple data encryption standard (3DES) encryption (or some other type of encryption), encrypted message signing, and password security on some or all of its communications with the mFS transaction system in order to ensure that the transactions are properly secured and authenticated.

The term “agent branch” refers to any location where an agent provides support for subscriber services of the mFS platform. Funds are allocated by the agent administrator from the agent company's main account to each agent branch to fund the subscriber mFS functions such as depositing or withdrawing cash, in-store purchases, bill payments, prepaid airtime top-ups and money transfers. In some cases, multiple agents may work in a single branch. However, at least in some cases, monetary funds are allocated to from the agent company's main account on a per branch basis.

The term “agent branch account balance” refers to the amount of money residing in a particular agent branch account at a given time. Funds can be deposited into the branch account by the agent administrator, or the funds can come from participating in subscriber mFS transactions such as depositing or withdrawing cash from the subscriber's mobile wallet accounts, or making retail purchases with the mobile wallet.

In some embodiments, in countries with more developed economies, it may be beneficial to use program-issued pre-paid debit cards, pre-paid access accounts, stored value accounts or gift cards to conduct business along with the added convenience of card processing networks such as Cirrus, STAR, or Visa for POS and automated teller machine (ATM) functionality. Agents, particularly those in retail outlets and kiosks, can still support subscribers with deposits, withdrawals, and other transfers, but in this case bank external card processors manage the mobile wallet and branch account balances and provide the real-time transfer of funds.

The term “agent branch ledger” refers to a written (or electronic) ledger maintained by the mFS platform. Agent branch transactions are performed on the agent's and subscriber's mobile phones where an electronic record of the transaction is generated and stored on the mFS platform. These electronic transactions are then reconciled with agent branch ledgers to ensure the security and integrity of the transaction. Agent branch ledgers are printed or electronic transaction logs that are distributed to the agent branch locations in hard copy form to serve as a backup record to the electronic transactions.

The term “agent company” refers to a business that registers to participate in the mFS program as a partner of the mFS program provider or owner. The agent company has one or more agent branches which conduct mFS business with mFS program subscribers. In some cases, the agent company may be referred to as a distributor or retailer.

The term “agent company account balance” refers to the sum of the funds deposited at a “partner bank” (defined below) by the agent company to fund the agent company's daily transactions. The funds in the agent company account are then distributed to agent branches by the agent company's agent administrator to conduct everyday business such as accepting cash deposits and cash withdrawals from mFS subscribers. This balance is sometimes referred to as the “agent company float”.

An “agent manager” is a supervisor of company agents for a given company. The agent manager has the training and tools to create, delete or modify agent accounts for a company, as well as monitor the transactions performed by agents. The agent manager may have a special application or an increased level of rights to access applications features not available to other users. The special application is a program installed on the agent manager's terminal. This application provides the agent manager the ability to securely perform agent manager functions such as registering and activating new agent accounts. The mFS agent manager application may be installed on any terminal or device. It communicates with the mFS platform using binary and/or text SMS messages. A wireless service provider or MNO provides the GSM SMS network infrastructure on which the mFS platform operates.

As subscribers, agents, and other mFS program participants conduct business in the mFS program, value is transferred from one account to the next as payment for services rendered or goods purchased. This value can be in the form of real currency or the electronic representation referred to herein as eMoney. Among other situations, eMoney is used in mFS implementations where the real-time processing of financial transactions including card processing is not practical. The mFS platform utilizes an internal transaction processor for managing the real-time balance of mobile wallet and agent accounts as value (eMoney) is transferred from one mobile wallet to another in payment for services.

The term “mFS program master account” refers to a bank account maintained by the mFS program partner bank to provide funds and float for the operation of the mFS platform. Depending on the type of mFS implementation, the master account can include sub-accounts for each of the agent branches and subscriber mobile wallets, giving the bank visibility into all transactions on a per-user basis. The mFS platform can also manage the balance of sub-accounts and interact with the banks master account when funds need to be deposited or withdrawn from the account.

The term mobile network operator (MNO) refers to a provider of mobile phone service including basic voice, SMS, unstructured supplementary service data (USSD) and data service, and may also be referred to as a “wireless service provider”.

The term “mobile wallet” or “mobile wallet account” refers to a stored value account or prepaid access account (PPA) that allows the owner (or “subscriber”) to pay for goods and services on the mFS platform from his or her mobile wallet account. When the mFS eMoney transaction processor is used, the mobile wallet balance is maintained by the mFS platform and value is exchanged within the mFS program as eMoney. When the mFS platform is integrated to an external card processor, the mobile wallet utilizes funds from the subscriber's prepaid debit card and bank account to exchange value on the mFS platform.

The term “partner bank” refers to the primary bank participating in the mFS program. The partner bank is responsible for holding the mFS program master accounts that hold the funds for all mFS services and transactions. A “PIN” refers to a numeric password that may be required to perform a transaction via the mobile wallet application.

The term “subscriber” refers to a participant of the mFS mobile wallet platform. The subscriber maintains a mobile wallet balance and performs transactions using the mFS application. An “unbanked subscriber” is a subscriber that does not have (or does not have access to) a bank account or credit union account. The application or “mobile wallet application” provides mobile wallet functionality to the (unbanked) subscriber. The mobile wallet application is installed on a mobile device in the device's memory, on a SIM card (such as a GSM SIM card) or is otherwise accessible to the mobile device. The mobile wallet application provides the subscriber the ability to securely perform subscriber functions such as making retail purchases, paying bills, or transferring money to other mFS subscribers and non-subscribers. The mobile wallet application communicates with the mFS platform using binary and text SMS messages, among other forms of wireless communication. A wireless service provider or MNO provides the GSM network infrastructure on which the mFS platform operates.

FIG.1illustrates an example system architecture for a cloud-based transaction platform. Integration tier101is configured to manage mobile wallet sessions and maintain integrity of financial transactions. Integration tier101can also include a communication (e.g., Web services) API and/or other communication mechanisms to accept messages from channels111. Other mechanisms include, but are not limited to: International Standards Organization (“ISO”) 8583 for Point of Sale (“POS”) and Automated Teller Machines (“ATM”) devices and Advanced Message Queuing Protocol (“AMQP”) for queue based interfaces. Each of channels111can be integrated to one or more mechanisms for sending messages to integration tier101. Notification services102is configured to send various notifications through different notification channels112, such as, for example, Short Message Peer-to-Peer (“SSMP”) for Short Messaging Service (“SMS”) and Simple Mail Transfer Protocol (“SMTP”) for emails. Notification services102can be configured through a web services API.

Service connectors103are a set of connectors configure to connect to 3rd party systems113. Each connector can be a separate module intended to integrate an external service to the system architecture. Business process services104are configured to implement business workflows, including executing financial transactions, auditing financial transactions, invoking third-party services, handling errors, and logging platform objects. Payment handler105is configured to wrap APIs of different payment processors, such as, for example, banking accounts, credit/debit cards or processor121. Payment handler105exposes a common API to facilitate interactions with many different kinds of payment processors.

Security services106are configured to perform subscriber authentication. Authorization services107are configured to perform client authorization, such as, for example, using a database-based Access Control List (“ACL”) table.

Database108is configured to manage customer accounts (e.g., storing customer accounts and properties), manage company accounts (e.g., storing company accounts and properties), manage transaction histories (e.g., storing financial transaction details), store customer profiles, storing dictionaries used by the mobile wallet platform, such as, for example, countries, currencies, etc., and managing money containers. Rules engine109is configured to gather financial transaction statistics and uses the statistics to provide transaction properties, such as, for example, fees and bonuses. Rules engine109is also configured to enforce business constraints, such as, for example, transactions and platform license constraints.

Name matching engine110is configured to match different objects according to specified configuration rules. Matching engine110can be used to find similarities between names, addresses, etc. Transaction processor121is configured to manage financial accounts and transactions. The transaction processor121can be used to hold, load, withdraw and deposit funds to mobile wallet accounts. Transaction processor121can also be used as a common interface to a third party processor system. When used as a common interface, financial operations may be delegated to the external processor. A Clearing House subsystem of transaction processor121can be used to exchange the financial information with a bank.

Components of a mobile wallet platform can be connected to one another over (or be part of) a system bus and/or a network. Networks can include a Local Area Network (“LAN”), a Wide Area Network (“WAN”), and even the Internet. Accordingly, components of the mobile wallet platform can be “in the cloud”. As such, mobile wallet platform components as well as any other connected computer systems and their components, can create message related data and exchange message related data (e.g., Internet Protocol (“IP”) datagrams and other higher layer protocols that utilize IP datagrams, such as, Transmission Control Protocol (“TCP”), Hypertext Transfer Protocol (“HTTP”), Simple Mail Transfer Protocol (“SMTP”), etc.) over the system bus and/or network.

The components depicted inFIG.1can interoperate to provide a number of financial and other services including but not limited to enrolling a customer for a mobile wallet, adding a stored value account (either hosted by a mobile wallet platform or a third party), adding a bank or credit union account to a third party mobile wallet, adding a debit or credit card account to a third party mobile wallet, depositing funds in a third party mobile wallet, withdrawing funds from a third party mobile wallet, paying bills from a third party mobile wallet, topping up a prepaid mobile account through a third party mobile wallet, transferring funds through a third party mobile wallet (nationally or internationally), making in-store purchases using a third party mobile wallet, selecting health care providers and paying for health care services, paying for music, games, movies or other downloadable provided by a third party provider and made available over the cloud-based transaction system, and various other tasks as described herein below.

FIG.2depicts a monetary transaction architecture200similar to that described inFIG.1. The monetary transaction architecture200may provide a more simplified system structure in which each of the above services may be provided. The system includes a subscriber205. The subscriber may have access to a bank account, or may be an unbanked subscriber. The subscriber has a profile211with the cloud-based transaction system210. The profile includes the subscriber's know your customer (KYC) information, as well as any associated bank accounts, credit union accounts, bill pay accounts or other accounts. The subscriber has (or has access to) a mobile device206such as a phone or tablet. The mobile device runs the native or third party mobile wallet application207.

The subscriber can indicate, using the mobile wallet application207, which transaction or other action he or she would like to perform. The indicated transaction208is sent to the mobile wallet platform210to be carried out by the platform. The transaction processor216(which may be similar to or the same as transaction processor121ofFIG.1) performs the transaction(s) specified by the (unbanked) subscriber205. The transaction processor may implement various other components to perform the transaction including memory217, (wireless) communication module215, rules engine220and/or a transaction database225.

Performing the specified transactions may include communicating with the monetary transaction database225to determine whether the transaction is permissible based on data indicated in the unbanked subscriber's profile (for instance, whether the subscriber has enough eMoney221in his or her stored value account, or has enough money in his or her bank account). Rules engine220may also be consulted to determine whether the subscriber has exceeded a specified number of allowed transactions. Then, if funds are available, and the transaction is otherwise permissible, the monetary transaction system can transfer money or eMoney221to or from an entity such as a user or agent (e.g. customer222) to or from an establishment such as an agent terminal (i.e. a retail store or agent company)223.

In some cases, the cloud-based transaction system210provides a web interface that allows subscribers of third party mobile wallet applications to perform the same functions provided for native subscribers. For instance, mobile wallet application207may provide a web interface that allows a user to enroll for a native or third party mobile wallet. The web interface (or the mobile wallet application itself) receives a subscriber-initiated transaction over one of a plurality of communication channels (111fromFIG.1) connected to the cloud-based transaction system210. The web interface or mobile wallet application may prompt for and receive enrollment information (e.g. KYC information) for the (unbanked) subscriber205over at least one of the plurality of communication channels (e.g. web, point-of-sale (POS), interactive voice response (IVR, etc.). The web interface or mobile wallet application may then send activation instructions over the same or a different channel to activate the (unbanked) subscriber205and create a subscriber account for the (unbanked) subscriber.

Once the subscriber has an account, the cloud-based transaction system generates (or allows the third party provider to generate) a corresponding mobile wallet for the unbanked subscriber (available via the web interface and/or the mobile wallet application). The system then presents the (unbanked) subscriber's account data associated with the mobile wallet and/or a notification indicating that enrollment was successful to the subscriber. Accordingly, the mobile wallet application or the web interface may be used to provide user enrollment functionality. It should also be understood that either the mobile wallet application or the web interface may be used to provide substantially all of the third party or native mobile wallet functionality described herein.

It should also be noted that the mobile device206may be any type of plan-based phone or tablet, or prepaid phone or tablet. Many subscribers, such as unbanked subscribers, may primarily use prepaid phones. The mobile wallet application207may be installed on both plan-based phones and prepaid phones. The mobile wallet application may be installed on the device's SIM card, or on the device's main memory. Accordingly, the monetary transaction system200may be accessed and used via substantially any type of plan-based or prepaid mobile device.

The components depicted inFIG.1can interoperate to provide a number of financial and other services including but not limited to enrolling a customer for a third party mobile wallet, adding a stored value account (either hosted by an electronic payment system or a third party), adding a bank/credit union account to a third party mobile wallet, adding a debit/credit card account to a third party mobile wallet, depositing funds in a third party mobile wallet, withdrawing funds from a third party mobile wallet, paying bills from a third party mobile wallet, topping up a prepaid mobile account through a third party mobile wallet, transferring funds through a third party mobile wallet, making in store purchases from a third party mobile wallet, or transferring money or eMoney from one business account to another business account (i.e. from one business's mobile vault to another business's mobile vault, as will be shown inFIG.4).

FIG.3Adepicts a subscriber-to-subscriber eMoney transfer. In a merchant and distributor scenario, either or both of the merchant and the distributor (including any delivery personnel) may be subscribers. To perform such a transfer, subscriber A (301) enters some type of identification information identifying subscriber B (e.g. subscriber B's phone number) and an amount of money he or she wishes to transfer. The transaction processor216of the monetary transaction system210determines if there are sufficient funds to complete the transfer. If sufficient funds are available, the monetary transaction system210decrements subscriber A's account and credits subscriber B's account (302). The system then sends some kind of notification (e.g. SMS) to subscriber B indicating that a certain amount of money was transferred to their account. Subscriber A may also receive a notification that the transfer was successful. Accordingly, eMoney may be transferred between two cloud-based platform subscribers, one or both of which may be unbanked. The cloud-based transaction system210processes the subscribers' requests, updates the subscribers' eMoney balances, logs the transactions, and sends transaction information to a specified bank when needed.

FIG.3Billustrates a subscriber-to-non-subscriber eMoney transfer. Accordingly, as mentioned above, either or both of the merchant and the distributor may be non-subscribers. In graphic305, subscriber A wishes to send eMoney to another individual that is not a subscriber to the cloud-based transaction platform. The transaction is initiated in the same fashion as the subscriber-to-subscriber transfer scenario. However, since non-subscriber B does not have a mobile wallet account, the cloud-based transaction system210cannot credit them with eMoney. Instead, the cloud-based transaction system210sends a notification (e.g. via SMS) to non-subscriber B with instructions for how to pick-up the transferred money, along with an authorization code (306). The cloud-based transaction system210puts a hold on subscriber A's account for the amount transferred. Subscriber B then has a specified number of days to pick up the cash before the hold expires and the amount is credited back to subscriber A's eMoney account by the monetary transaction system210.

When non-subscriber B goes to pick up the money at an agent branch, the agent branch's manager or agent verifies the authorization code via an agent manager or agent mobile wallet application (that, in turn, accesses the cloud-based transaction platform). Once the transfer has been validated, the agent gives the cash to non-subscriber B. The agent branch's mFS account is credited with the transfer amount (307) and the user leaves with the cash in hand (308). The cloud-based transaction platform processes the transfer request, updates subscriber A's eMoney balance, logs the transaction, and sends transaction details to a platform-specified bank.

FIG.4illustrates a mobile wallet subscriber making a retail purchase. Mobile wallet subscribers can make retail purchases at agent branches directly from their mobile device. Agent branches, as explained above, are retail stores or other entities that have registered with the cloud-based transaction platform and are able to accept native and third party mobile wallet payments. Accordingly, a subscriber can select the items they wish to purchase, and indicate (via the mobile wallet application) to the agent branch that they wish to pay for the items. The mobile wallet application then communicates with the agent branch and the monetary transaction system to indicate the price of the transaction. The monetary transaction system210then debits the subscriber's eMoney account (401) and credits the agent branch's eMoney account (402). The agent branch (and/or the agent manager or agent) receives confirmation that subscriber paid for the purchase. The subscriber may also receive a summary of the retail purchase and may be asked to confirm the purchase by entering a PIN. The monetary transaction system processes the purchase request, updates the agent branch and subscriber's eMoney balances, logs the transaction, and sends transaction details to a cloud-based transaction platform-specified bank.

In one embodiment, the cloud-based transaction system210is implemented to make a purchase from a mobile wallet. The communications module215of the monetary transaction system210receives a communication from a subscriber over a communication channel111. The subscriber communication indicates that an unbanked subscriber205desires to purchase an item for a specified amount of funds using a specified payment method from the unbanked subscriber's native or third party mobile wallet.

The monetary transaction system210then returns a secure, perishable purchase code to the unbanked subscriber over at least one of the channels connected to the monetary transaction system and receives a subsequent agent branch communication over a channel indicating that the purchase code has been presented to an agent (branch). The monetary transaction system210validates the status of the specified payment method, determines if the specified payment method can accommodate a purchase for the specified amount, performs a limit check and/or a velocity check on the selected payment method, debits the specified payment method by the specified amount of funds, returns a notification to the agent branch authorizing the purchase and sends a receipt to the unbanked subscriber over a communication channel. The cloud-based transaction system210may thus be used in this manner to make a retail purchase using a native or third party mobile wallet.

FIG.5depicts a physical environment and corresponding computer system architecture500for allowing a user to participate in various services using a native or third party mobile wallet (e.g.511). Some of these services include allowing the user507to access disruptively priced or free financial services or items in exchange for participation in opt-in advertising. The environment500, like the scenarios described inFIGS.3A,3B and4, involves the use of a native or third party mobile wallet application511. The mobile wallet application511can be used to provide disruptively priced or free financial services or items in exchange for participation in opt-in advertising. The mobile wallet application may be run on any type of digital device including a mobile phone, tablet, laptop or other digital device. Embodiments include providing digital data (e.g., coupons or vouchers) for obtaining disruptively priced or free items (e.g., consumer goods or groceries) to such digital devices.

In some embodiments, a user has an account with a mobile payment system. The cloud-based transaction system (e.g.210ofFIG.2or electronic payment system521ofFIG.5) can provide the user507with a variety of functionality including purchasing items (seeFIG.4), depositing funds, withdrawing funds, transferring funds (seeFIGS.3A and3B), and others all from a third party wallet. Accordingly, the user can use a digital device to interact with the electronic payment system521to pay for goods and/or services.

In exchange for some type of financial benefit, the user opts in to receive advertisements. The financial benefits may include coupons, vouchers, promotions, Buy One Get One (“BOGO”) offers or any other type of benefit (such as a reduced cost or free financial service or good) from the electronic payment system. The benefit may be targeted to the user based on the user's age, location or other demographic information, or based on the user's past purchases. At least in some embodiments, when the user agrees to participate in opt-in advertising, the electronic payment system521is permitted to store (e.g., by capturing purchase orders), track, and analyze items that the user purchases through their account with the electronic payment system. The electronic payment system stores and maintains lists of the users' purchased items in a data warehouse. The electronic payment system may also store information about the user (anonymous or otherwise) including age, income level, an indication of whether kids are in the family, or other information that may be useful in targeting ads or benefits to the user.

The electronic payment system analyzes534the users purchasing habits to identify advertisements and/or promotions that may be of interest to the user. The advertisements and/or promotions can be for items the user has purchased503. The advertisements and/or promotions can also be for items related to items the user has purchase. For example, if user has purchased a particular brand of razor, advertisements for the brand's shaving cream can be identified. Advertisements for related items can also be used for cross-promotion.

From time to time, at specified intervals, or based on location (e.g., having a coupon for a merchant this is with a specified proximity) the electronic payment system sends identified advertisements and/or promotions to the user's digital device. When specified advertising thresholds are satisfied (e.g., a specified number and/or type of advertisements and/or promotions are presented), the electronic payment system confers a financial benefit on the user's account. For example, the electronic payment system can provide the user's account with a low cost (e.g., reduced fee) or free financial service, such as, for example, one reduced cost bill pay or one free bill pay. Alternately, the electronic payment system can provide the user's account with a coupon or voucher for an item (e.g., an item a user has pre-selected or an item the user has purchased in the past).

In some embodiments, a client application for the electronic payment system runs on the user's digital device (e.g. mobile wallet application511). The user interacts with the electronic payment system through the client application. From a screen of the client application, the user can agree to accept opt in advertising. Accordingly, embodiments of the invention essentially permit a user to self-monetize themselves through their digital device.

As further depicted inFIG.5, computer architecture500includes digital device508, retail location502, and electronic payment system521. Digital device508further includes mobile wallet application511. Retail location502further includes its own mobile wallet application512. Electronic payment system521includes marketing module533, data warehouse532, advertisements538, payment processor522, user mobile wallet524(user507's mobile wallet), and merchant mobile wallet526(retail location502's mobile wallet).

Generally, each company in packaged goods companies571(or retailers that sell the packaged goods or other goods or services) can send advertisement data to electronic payment system521. Advertisements538represent the collection of advertisement data sent from packaged goods companies571. Each company in packaged goods companies571can also submit benefit rules to electronic payment system521. Benefit rules578represent the collection of benefit rules sent from packaged goods companies571. Benefit rules578define when a benefit, such as, for example, a free financial service, a coupon, a promotion, etc, is to be granted to a user of electronic payment system521. For example, in response to completing a questionnaire linked to a product advertisement, a user can be given a coupon for the product or for a related product.

In general, user507can use native or third party mobile wallet application511to pay for goods purchased at retail location502(as shown inFIG.4). For example, user507can use mobile wallet application511to purchase goods503. To pay for goods503, mobile wallet application511can send payment instruction543in amount563to electronic payment system521. Payment processor522can receive payment instruction543. In response, payment processor522can debit541user mobile wallet524by amount563. Payment processor522can also credit542merchant mobile wallet526by amount563.

User507can use mobile wallet application511to participate in opt-in advertising. For example, user507can use mobile wallet application511to send opt-in544to electronic payment system521. Advertising module533can receive opt-in544and record that mobile wallet application511has opted in for advertising. As such, when user507makes a purchase using mobile wallet application511, a list of purchased items is sent to electronic payment system521. For example, upon purchasing goods503, item list531is sent to electronic payment system521and stored in data warehouse532.

Propensity analysis module534can analyze user507's purchases, including item list531. From the analysis, propensity analysis module534can identify items or categories of items user507may be interested in. The items can be items user507has purchased in the past (e.g., an item in goods503) or items related to items user507has purchases in the past. Propensity analysis module534can indicate identified items or categories of items to advertisement identification module536. These identified items or categories are items that the user is likely interested in and, as such, may have a propensity toward buying these items. The propensity analysis module may use past purchases, personal preferences, lifestyle or demographic information or other data in the propensity analysis.

Advertisement identification module536can then select advertisements from advertisements538that correspond to the identified items or categories of items. For example, advertisement identification module536can select advertisement546for presentation at mobile wallet application511. Advertisement546can be an advertisement for a product made by a company in packaged goods companies571. Additionally or alternatively, the advertisement546may be created by the merchant and may advertise products or services sold by that merchant.

Advertising module533can send selected advertisements to mobile wallet application511. For example, advertising module533can send advertisement546(e.g., related to an item in goods503) to mobile wallet application511. In general, advertisements can include interactive content. For example, advertisement546includes content573. Content573can be a video, a link to a company website (e.g., for a company in packaged goods companies571), a call to action (such as a questionnaire), or some other content user507can interact with through digital device508. User507can interact with content573, for example, responding to questions in content573. Advertisement response574can indicate how user507has interacted with content573. In one embodiment, a call to action may be to post an update on Facebook® or some other website such as a retail establishment ranking website. If the user makes such a post or performs some other call to action, the user may be rewarded with a benefit. That benefit may be related to the product about which the user posted on the various websites.

Based on advertisement response574, benefit determination module576can determine if a benefit is to be conferred upon user507. Benefit determination module576can refer to benefit rules578when making a determination whether or not to confer a benefit. Thus, when user507interacts with advertisement546in a specified way (e.g., completes a survey, watches a video, etc.), benefit rules578can indicate that a company benefit (e.g., benefit577) is to be conferred upon user507. For example, benefit determination module576can confer benefit577on user507. When user507receives an advertisement for a razor, for instance, and answers a questionnaire on how often they shave, a razor manufacture can give user507a coupon for reduced cost or free razor blades.

When a benefit is to be conferred on a user, the benefit can be stored in the user's brand locker. For example, benefit determination module576can store benefit577in brand locker572(part of user mobile wallet524). Benefit577can be a coupon, a reduced cost or free financial service, a voucher, a promotion, a free bill pay, etc.

Benefit determination module576can also track aggregate statistics, such as, for example, specified number and/or type of advertisements received, for advertisements presented at native or third party mobile wallet application511. Benefits can also be conferred upon users based on the aggregate statistics. For example, benefit determination module576can confer a benefit upon user507in response to twenty advertisements being presented at mobile wallet application511. Thus, conferred benefits can be company-specified benefits or can be electronic payment system-specified benefits. Electronic payment system521can notify a user when a benefit is conferred. For example, electronic payment system521can send benefit notification547to mobile wallet application511to indicate benefit577being stored in brand locker572.

When user507makes subsequent purchases through user mobile wallet524, electronic payment system521can automatically check brand locker572for benefits related to any purchases items. If benefits for an item are identified, user507can be notified through mobile wallet application511. In some cases, if benefits are identified, those benefits can be applied automatically when the user purchases that item or service. Thus, if the benefit is a coupon or a buy one get one free offer, that benefit may be applied automatically when the user uses his or her mobile wallet application511to purchase that item. Accordingly, embodiments of the invention permit user507to self monetize digital device508through agreeing to participate in opt-in advertising.

Although not depicted, various other modules from the architecture ofFIG.1or2can also be included electronic payment system521. The modules expressly depicted inFIG.5can interoperate with these other modules as appropriate to facilitate desired functionality.

FIGS.7-9will now be described in conjunction with the computer architecture600illustrated inFIG.6.FIG.6depicts a mobile wallet platform601that may have an architecture as shown inFIG.1. As further depicted inFIG.6, mobile wallet platform601communicates with an agent terminal602or a customer607to process transactions using a native or third party mobile wallet605. Mobile wallet platform601may also communicate with a third party processor604to process transactions using a mobile wallet or third party mobile wallet. Mobile wallet platform601may also communicate with a third party mobile wallet platform603to process transactions using a mobile wallet owned or managed by a third party mobile wallet provider.

Mobile wallet platform601may also process the mobile wallet transaction or third party mobile wallet transaction internally, without the use of third party processors or third party mobile wallet platforms. In particular, mobile wallet platform601may process transactions using third party mobile wallets in the same or similar manner that transactions are processed as shown inFIGS.2-5. Accordingly, the physical environment and corresponding computer system architecture600shown inFIG.6allows a cloud-based transaction platform601to support multiple third party mobile wallet providers.

Mobile wallet platform601communicates with agent terminal602, third party mobile wallet platform603, third party processor604, and customer's mobile phone619through a variety of communication channels. For example, the communication between mobile wallet platform601and any one of these entities may be through communication channels111, notification channels112, or third party systems113, as shown inFIG.1. Communication between mobile wallet platform601and any one of these entities may also be through processor121shown inFIG.1.

With respect to the entire description ofFIG.6, and as explained above, the term “mobile wallet” encompasses not only mobile wallets owned or managed by the mobile wallet platform, but also third party mobile wallets owned by third party mobile wallet providers or managed by third party mobile wallet platforms. In contrast, the term “third party mobile wallet” refers only to third party mobile wallets owned by third party mobile wallet providers or managed by third party mobile wallet platforms. Accordingly, cloud-based transaction platform601may manage and process transactions using mobile wallets605, which may be mobile wallets owned by cloud-based transaction platform601or mobile wallets owned by a third party mobile wallet provider.

As shown inFIG.6, customer607initiates a mobile wallet transaction608at agent terminal602. Agent terminal602may be part of an agent network consisting of one or more agent terminals that communicate with cloud-based transaction platform601. Examples of agent terminals are stores and other commercial establishments. Alternatively, customer607may initiate a mobile wallet transaction609by communicating with cloud-based transaction platform601through a channel selected by the customer.

Mobile wallet transactions608and609may be one or more of any type of transaction that can be performed using a mobile wallet, including but not limited to, a deposit, withdrawal, transfer, purchase, bill payment, topping up of a prepaid mobile account, or any other transaction described herein. Customer607may initiate transactions608and609in a variety of ways. For example, customer607can initiate a deposit into a mobile wallet, a withdrawal from a mobile wallet, a bill payment from a mobile wallet, topping up of a prepaid mobile account using a mobile wallet, a transfer from a mobile wallet, a remittance transaction, a selection of health care provider or payment of health services, a purchase of music, movies, games or other downloadable content, or other purchases using a mobile wallet.

After customer607initiates transaction609through agent terminal602, agent terminal602then communicates with cloud-based transaction platform601by sending transaction data610to cloud-based transaction platform601. Once cloud-based transaction platform601has received the transaction either through transaction data610from agent terminal602or from transaction609initiated by customer607, cloud-based transaction platform601may then process the transaction in a variety of ways.

For example, cloud-based transaction platform601may process the transaction by communicating with third party processor604by sending third party transaction data611, which may include some or all of the information in transaction data610. Third party processor can then perform the requested transactional processing and respond by sending confirmation data612to cloud-based transaction platform601. Confirmation data612can indicate whether the requested mobile wallet transaction was processed successfully or unsuccessfully.

In another example, cloud-based transaction platform601may process the transaction by communicating with third party mobile wallet platform603by sending third party transaction data613, which may include some or all of the information in transaction data610. Third party mobile wallet platform603may have any architecture which is suitable for processing mobile wallet transactions. Third party mobile wallet platform603may have an architecture that is the same or similar to the architecture shown inFIG.1.

Alternatively, third party mobile wallet platform603may have a different architecture. In addition, any aspects of cloud-based transaction platform601or functionality provided by that platform may also be present in third party mobile wallet platform603. After receiving third party transaction data613, third party mobile wallet platform603may process the transaction itself or forward the transaction to third party processor604by sending third party transaction data614.

Once processing of the transaction is complete, third party mobile wallet platform603may respond to cloud-based transaction platform601by sending confirmation data615. Confirmation data615can indicate whether the requested mobile wallet transaction was processed successfully or unsuccessfully. In addition, following the processing performed by third party mobile wallet platform603after receiving third party transaction data613, the third party mobile wallet platform603may provide a commission or transaction fee616to cloud-based transaction platform601.

In a further example, mobile wallet platform601may process the transaction internally within cloud-based transaction platform601. Specifically, cloud-based transaction platform601may process a transaction using a third party mobile wallet entirely within cloud-based transaction platform601.

Once processing of the transaction is complete, cloud-based transaction platform601may communicate with agent terminal602by sending confirmation data617indicating information such as whether the transaction was successful or not. Also following processing of the transaction, mobile wallet platform may send customer notification618through an appropriate channel such as to the customer's mobile phone619. For example, customer notification618may be sent using the notification services102and notification channels112(e.g. SMPP, SMTP, voice) ofFIG.1.

With reference now toFIGS.2,6and7, the cloud-based transaction system210receives communication226from an agent terminal223over a communication channel connected to the cloud-based transaction platform210/601(act710). The agent communication indicates that a customer222/205desires to perform a mobile wallet transaction using their third party mobile wallet207. The cloud-based transaction system210sends the agent communication to a third party mobile wallet platform603(act720). The cloud-based transaction system210then receives communication611from the third party mobile wallet platform confirming processing of the transaction612(act730) and sends communication617to the agent terminal602over communication channels111connected to the cloud-based transaction platform indicating confirmation of the processing of the transaction (act740).

As mentioned above, multiple different types of transactions may be performed using the infrastructure provided by the cloud-based transaction system. The transactions may be a performed not only by a first customer that uses a first mobile wallet provider, but also by a second, different customer using a second, different third party mobile wallet provider. The third party mobile wallet platform may use a third party processor to perform (at least parts of) the transaction. The customer may be notified of confirmation of the processing of the transaction using the third party mobile wallet over various communication channels connected to the cloud-based transaction platform. In some cases, each third party mobile wallet provider has their own point of sale (POS) processing system230. The third party mobile wallet providers' POS processing systems may communicate with each other using the cloud-based transaction platform to process the transaction.

One of the transactions made possible by the cloud-based transaction platform601is depositing funds into a third party mobile wallet owned by an entity different than the customer. The cloud-based transaction system may receive a communication226from the agent terminal223over a communication channel connected to the cloud-based transaction platform. The agent communication indicates that the customer desires to deposit a specified amount of funds into their third party mobile wallet605. The cloud-based transaction system may then credit the third party mobile wallet with the specified amount of funds.

Another transaction provided by the cloud-based transaction platform601is withdrawing funds from a third party mobile wallet owned by an entity different than the customer. The cloud-based transaction platform receives communication208from the customer205indicating that the customer desires to withdraw a specified amount of funds from the third party mobile wallet. The cloud-based transaction platform601returns a secure, perishable withdrawal code to the customer over at least one of the communication channels connected to the cloud-based transaction platform. It also receives communication from the agent terminal223indicating that the withdrawal code has been presented to an agent and debits the third party mobile wallet by the specified amount of funds.

Another transaction provided by the cloud-based transaction platform601is transferring money from a third party mobile wallet within the cloud-based transaction platform to a recipient at a second third party mobile wallet provided by a second mobile wallet provider. In this transaction, the platform601receives a customer communication208indicating that a customer205desires to transfer a specified amount of funds to a specified recipient using a specified payment method from the third party mobile wallet606. The cloud-based transaction platform debits the third party mobile wallet by the specified amount of funds and transfers the specified amount of funds from the cloud-based transaction platform to the second different third party mobile wallet platform for delivery to the specified recipient. The specified amount of funds is then transferred to the second third party mobile wallet platform.

Yet another transaction provided by the cloud-based transaction platform601is making a purchase from a third party mobile wallet managed by a third party mobile wallet platform. In this transaction, the cloud-based transaction platform receives communication208from the customer205indicating that the customer desires to purchase an item for a specified amount of funds using a specified payment method from the customer's third party mobile wallet606. The cloud-based transaction platform returns a secure, perishable purchase code to the customer, receives communication226from the agent terminal223indicating that the purchase code has been presented to an agent, and debits the customer's third party mobile wallet by the specified amount of funds.

In another embodiment, as shown inFIG.8, a cloud-based transaction system performs or facilitates a transaction using a third party point of sale (POS) system. The cloud-based transaction system receives communication226from a specified POS system224implemented at an agent terminal223over a communication channels111connected to the cloud-based transaction platform210(act810). The POS communication indicates that a customer205has initiated a mobile wallet transaction using their third party mobile wallet207. The cloud-based transaction system sends the POS communication to a corresponding third party POS transaction processing system230that has been established to process POS transactions from the specified POS system (act820). The cloud-based transaction system then receives communication from the third party POS transaction processing system230confirming processing of the transaction (act830) and sends communication to the specified POS system224implemented at the agent terminal223indicating confirmation of the processing of the transaction (act840).

In some cases, transaction fees or commissions616may be paid by the third party mobile wallet platform to the cloud-based transaction platform for facilitating the transaction. One of the transactions allowed by the cloud-based transaction system is depositing funds into a third party mobile wallet provided by a third party mobile wallet provider. In this transaction, the cloud-based transaction platform210receives communication226from a specified POS system224implemented at the agent terminal223over a communication channels111connected to the cloud-based transaction platform. The POS communication indicates that the customer205/222desires to deposit a specified amount of funds into the third party mobile wallet606provided by the third party mobile wallet provider. The cloud-based transaction system validates the status of the third party mobile wallet provided by the third party mobile wallet provider, determines if the specified POS system implemented at the agent terminal is authorized to deposit money, performs a limit check or a velocity check on the third party mobile wallet provided by the third party mobile wallet provider, credits the third party mobile wallet provided by the third party mobile wallet provider with the specified amount of funds, returns a notification to the specified POS system implemented at the agent terminal confirming the deposit and notifies the customer that the specified amount of funds were deposited in the third party mobile wallet provided by the third party mobile wallet provider over a communication channel connected to the cloud-based transaction platform210.

Another transaction provided by the cloud-based transaction platform210is withdrawing funds from a third party mobile wallet provided by a third party mobile wallet provider. The cloud-based transaction platform210receives communication208from a customer205indicating that the customer desires to withdraw a specified amount of funds from the third party mobile wallet606provided by the third party mobile wallet provider. The cloud-based transaction platform210validates the status of the third party mobile wallet provided by the third party mobile wallet provider, determines if the balance of the third party mobile wallet provided by the third party mobile wallet provider is sufficient to accommodate the requested withdrawal for the specified amount of funds, performs a limit check and/or a velocity check on the third party mobile wallet, returns a secure, perishable withdrawal code to the customer over a communication channel111connected to the cloud-based transaction platform, receives subsequent POS communication226indicating that the withdrawal code has been presented to an agent (e.g. at agent terminal223), debits the third party mobile wallet provided by the third party mobile wallet provider by the specified amount of funds, returns a notification to the POS system at the agent terminal confirming the withdrawal and notifies the customer205(e.g. in confirmation617) that the specified amount of funds were withdrawn from the third party mobile wallet.

In yet another transaction provided by the cloud-based transaction platform, money is transferred using a third party mobile wallet provided by a third party mobile wallet provider. The cloud-based transaction platform210receives customer communication208indicating that the customer205desires to transfer a specified amount of funds to a specified recipient having a third party mobile wallet606, where the transfer uses a specified payment method from the customer's third party mobile wallet at the cloud-based transaction platform210. The cloud-based transaction platform validates the status of the specified payment method, performs a limit check and/or a velocity check on the specified payment method, performs a check on the specified recipient having a third party mobile wallet to comply with the office of foreign assets control, debits the customer's mobile wallet at the cloud-based transaction platform by the specified amount of funds, transfers the specified amount of funds to third party mobile wallet provider for delivery to the third party mobile wallet of the specified recipient over a communication channel connected between the cloud-based transaction platform and the third party mobile wallet provider, and notifies the customer that the specified amount of funds was transferred to the specified recipient.

In another transaction provided by the cloud-based transaction platform210, a purchase is made from a third party mobile wallet provided by a third party mobile wallet provider. In this transaction, the cloud-based transaction system receives communication208from the customer205indicating that the customer desires to purchase an item for a specified amount of funds using a specified payment method from the customer's third party mobile wallet606. The cloud-based transaction system returns a secure, perishable purchase code to the customer, receives subsequent agent terminal communication indicating that the purchase code has been presented to an agent, validates the status of the specified payment method, determines if the specified payment method can accommodate a purchase for the specified amount, performs a limit check and/or a velocity check on the specified payment method, debits the customer's third party mobile wallet by the specified amount of funds by sending communication to the third party mobile wallet provider, returns a notification to the POS system at the agent terminal authorizing the purchase and sends a receipt to the customer over at least one of the plurality of communication channels connected to the cloud-based transaction platform.

FIG.9describes a further embodiment in which a cloud-based transaction platform facilitates making a purchase from a third party mobile wallet provided by a third party mobile wallet provider. The cloud-based transaction system210receives communication208from a customer205over a communication channel connected to the cloud-based transaction platform (act910). The customer communication indicating that a customer desires to purchase an item for a specified amount of funds using a specified payment method indicated by the customer's third party mobile wallet606. The cloud-based transaction system returns a secure, perishable purchase code to the customer (act920) and receives communication from an agent terminal223over at least one of the communication channels connected to the cloud-based transaction platform indicating that the purchase code has been presented to an agent (act930). The cloud-based transaction system210then debits the customer's third party mobile wallet606by the specified amount of funds (act940).

Substantially any item may be purchased using this transaction technique including items provided directly by the cloud-based transaction system, or items provided by third party retailers through the cloud-based transaction system. These items may include health care services, physical, shippable items, music, games, movies or any other digital or downloadable content.

Embodiments of the invention can adhere to Know Your Customer (KYC) rules in the United States by performing Customer Identification Program (CIP) checks as required by the Bank Secrecy Act and U.S. PATRIOT Act. A minimum amount of information can be gathered about a customer, such as, for example, First Name, Last Name, Date of Birth, Government ID Type, Government ID Number, Address. The CIP processes are designed to validate customer identity against government blacklists and assist in the prevention of money laundering and terrorist financing. A combination of non-documentary and documentary verification can be used to ensure beyond a reasonable doubt the identity of the customer.

Non-Documentary Verification can occur through the presentment of the information that was collected from the user to an external third party, such as, for example, Lexis Nexis. Documentary Verification can occur if non-documentary verification fails, then the user is asked to present an unexpired government ID. Various differ forms of identification including Driver's license, Passport, Alien identification (e.g., green card or work visa), and Mexican Consular identification card, can be accepted.

Embodiments of the invention can perform Anti-Money Laundering (AML) and Combating the Financing of Terrorism (CFT) checks. AML and CFT checks can be performed using transaction monitoring methods to flag names and suspicious transactions for further investigation. The mobile wallet platform can perform AML and CFT checks on all electronic financial transactions to ensure that electronic funds are not being used for money laundering or terrorism. Transaction limits can be placed on user accounts. The transaction limits are fully configurable for each particular use case, channel and payment method that allows maximum flexibility to restrict higher risk use cases. Velocity checks can also be performed. Velocity Checks ensure that subscribers are not abusing the mobile wallet platform within the allowable limits.

The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.