1. Field
The present invention relates generally to systems, methods, and computer program products for managing remote transactions.
2. Related Art
Remote transactions refer to the ability to perform transactions without the need to be physically present at a point-of-sale (PoS) and without using PoS hardware. Such transactions can include, for example, payments, money transfers, or distribution or use of vouchers, coupons or loyalty cards. One typical way to perform such transactions remotely is online, via a merchant webpage or mobile application.
A merchant webpage may be an electronic store where goods and services are selected for purchase and added to an electronic shopping cart. A merchant mobile application is an application installed on a mobile device and is configured to function similar to a webpage (e.g., an electronic store), without the need to access it via a web browser. To finalize a purchase, a consumer “checks out” of the electronic store by making a remote payment. To do so, the consumer inputs, into the merchant's webpage, financial instrument (e.g., credit card, debit card) information (e.g., account number, expiration date, account verification code, and the like) used to pay for the goods and/or services, which are, in turn, typically made available for pick up or delivered to the consumer. The account number may be a credit card number or the like associated with a credit account. An account verification code is an identifier associated with an account number, typically referred to as a card verification code (CVC), card verification value code (CVVC), card security code (CSC), etc., and is used as a security feature in addition to an account number.
Another type of transaction is a mobile commerce transaction, which refers to the ability to perform commerce transactions electronically using wireless technology such as mobile devices. One example of a mobile commerce transaction is a purchase of goods in exchange for payment, performed without using physical financial instruments (e.g., credit card, debit card) or cash.
Mobile commerce transactions can be performed using mobile wallets provisioned on a mobile device. A mobile wallet on a mobile device stores payment account information (i.e., credentials associated with a financial instrument). The mobile device equipped with the mobile wallet can be used at a PoS system to perform a mobile commerce transaction by, for example, tapping or scanning the mobile device.
One technical challenge associated with using mobile wallets on mobile devices involves the ability to use mobile wallets for remote transactions, for example, to purchase goods remotely (e.g., online) using payment account information on the mobile wallet. Another technical challenge involves providing merchants with account identifiers, account type, service provider, and user information (e.g., name, address, telephone number) associated with a mobile wallet, from a centralized system. Yet another technical challenge involves securely processing remote transactions using mobile wallets, without providing merchants with sensitive account information (e.g., account number).
The example embodiments presented herein meet the above-identified needs by providing systems, methods, and computer program products for managing remote transactions.
In one embodiment, a system for managing remote transactions, comprises at least one memory operable to store one or more sets of account data, each set of account data including an account identifier; and a processor coupled to the at least one memory. The processor is operable to: receive a first request from a merchant system, the first request including a wallet identifier (WID); retrieve, from the at least one memory, one or more sets of account data based on the WID; transmit, to the merchant system, a first response including the one or more sets of account data retrieved from the at least one memory; receive, from either the merchant system or an acquirer system, an authorization request including an account identifier corresponding to one of the one or more sets of account data retrieved from the at least one memory; transmit, to an issuer system, a transaction data request including the account identifier; receive, from the issuer system, a transaction data response including transaction data; and transmit, to the merchant system or the acquirer system, the transaction data.
In another embodiment, a method for managing remote transactions, comprises steps of: receiving a first request from a merchant system, the first request including a wallet identifier (WID); retrieving, from at least one memory, one or more sets of account data based on the WID; transmitting, to the merchant system, a first response including the one or more sets of account data retrieved from the at least one memory; receiving, from either the merchant system or an acquirer system, an authorization request including an account identifier corresponding to one of the one or more sets of account data retrieved from the at least one memory; transmitting, to an issuer system, a transaction data request including the account identifier; receiving, from the issuer system, a transaction data response including transaction data; and transmitting, to the merchant system or the acquirer system, the transaction data, wherein each of the one or more sets of account data includes an account identifier.
In another embodiment, a non-transitory computer readable-medium has stored thereon sequences of instructions for causing one or more processors to: receive a first request from a merchant system, the first request including a wallet identifier (WID); retrieve, from at least one memory, one or more sets of account data based on the WID; transmit, to the merchant system, a first response including the one or more sets of account data retrieved from the at least one memory; receive, from either the merchant system or an acquirer system, an authorization request including an account identifier corresponding to one of the one or more sets of account data retrieved from the at least one memory; transmit, to an issuer system, a transaction data request including the account identifier; receive, from the issuer system, a transaction data response including transaction data; and transmit, to the merchant system or the acquirer system, the transaction data, wherein each of the one or more sets of account data includes an account identifier.
The features and advantages of the example embodiments of the invention presented herein will become more apparent from the detailed description set forth below when taken in conjunction with the following drawings.
a is a sequence diagram for providing transaction receipts according to an exemplary embodiment.
b is a sequence diagram for providing transaction receipts according to an exemplary embodiment.
The example embodiments presented herein are directed to systems, methods, and computer program products for managing remote transactions, which are described herein in terms of a remote payment. This description is not intended to limit the application of the example embodiments presented herein. In fact, after reading the following description, it will be apparent to one skilled in the relevant art(s) how to implement the following example embodiments in alternative embodiments that can be utilized, for example, to process remote credits, debits, transfers, reservations, ticketing, and the like.
The terms “application,” “applet,” and/or the plural form of these terms are used interchangeably herein to refer to an application (functioning independently or in conjunction with other applications) or set or subset of instructions or code, which when executed by one or more processors (e.g., in a mobile device, merchant system, service provider system, acquirer system) causes the processor(s) to perform specific tasks.
In an exemplary embodiment, a remote transaction is a remote payment made by a user (e.g., consumer) of a client portal in exchange for a purchase of goods from a merchant webpage or mobile application. The client portal, in response to user input, selects goods to purchase using the mechanisms provided by the merchant webpage, for example, the selected goods are grouped into a virtual (i.e., electronic) “shopping cart,” where they can be purchased in exchange for payment. The client portal, in response to user input, can complete the purchase of the goods or “check out,” as this step is commonly called, by selecting a corresponding button or icon on the merchant webpage or mobile application, to begin the payment process.
In response to the request by the user of the client portal to check out, the client portal transmits a request, to the merchant system associated with the merchant webpage or mobile application, for a login page. The merchant system transmits the login page to the client portal, which in turn prompts the user for login credentials (e.g., username and password) for the merchant webpage or mobile application. The user of inputs the login credentials into the client portal, and the login credentials are sent to the merchant system for validation.
Upon validation, the merchant system retrieves from its storage a wallet identifier (WID) associated with the login credentials. A WID corresponds to a mobile wallet on a mobile device which can be used to make a payment. As described in further detail below with reference to
A mobile wallet may have one or more accounts linked (i.e., associated with) to it. Each account linked to a mobile wallet may correspond, for example, to a different financial instrument account, such as a credit card account. Upon receipt of the WID, the merchant system communicates with a mobile wallet platform to obtain one or more sets of account data associated with the WID and its corresponding mobile wallet. The merchant system communicates with the mobile wallet platform to obtain account data and user information (e.g., name, address, telephone) stored on the mobile wallet.
In turn, the merchant system receives the account data and user information and transmits that information to the client portal. The information may be communicated to the client portal, for example, over the merchant webpage or mobile application, where it is displayed and made accessible to the user for example via the interface of the client portal. The client portal selects, in response to user input, from the merchant webpage or mobile application, one of the displayed sets of account data (corresponding to an account on the mobile wallet) to be used to make the payment to purchase the goods. A displayed set of account data may be selected using inputs into the client portal such as mouse clicks or keyboard inputs used to select a check box, button, text, or the like corresponding to an account data set. The client portal sends a check out request to the merchant webpage or mobile application, including at least a portion of the selected set of account data.
The merchant system initiates a request for the service provider associated with the selected account to authorize payment and provide transaction data (e.g., account number, account verification code, account holder name, expiration date) to be used for the payment. This request from the merchant system is sent to an acquirer system, which in turn transmits a request for the transaction data to the mobile wallet platform. The request sent by the acquirer system may include an encryption key (e.g., public encryption key), to be used by the service provider system to encrypt some or all of the transaction data. In this way, the acquirer system, which includes the decryption key (e.g., private decryption key), is the only entity (i.e., system) capable of decrypting the encrypted transaction data. As described in further detail below with reference to
The mobile wallet platform receives a request for transaction data and obtains the transaction data in one of two ways, which are described in further detail below with reference to
If the received transaction data is encrypted, the acquirer system decrypts the transaction data. The acquirer system, in turn, transmits a request including the transaction data to a payment network system to authorize the remote payment transaction. The payment network system transmits the received authorization request (or a similar authorization request) to the service provider system which, in turn, authorizes the transaction. The service provider system transmits a notification of the authorization to the payment network system which, in turn, transmits it to the acquirer system. The acquirer system transmits the notification of authorization to the merchant system, which in turn, transmits a purchase confirmation notification to the client portal.
Remote transaction (e.g., remote payment) receipts may be transmitted to the e-mail account of the user of the client portal. As described in further detail below with reference to
The features discussed above are described in further detail below, with reference to
The mobile device 101 may be, for example, a cellular phone, tablet or the like, and includes a mobile wallet 101a and secure element 101b. The secure element 101b may include one or more payment applets and commerce applets. Although one mobile device is illustrated in
The mobile device 101 is communicatively coupled, over-the-air (OTA), to the central TSM 102. “Over-the-air” communication refers to the ability for systems and/or devices to communicate using wireless standards. The central TSM 102 is hardware and/or software that is implemented to serve as an intermediary between entities (e.g., service provider systems, mobile wallet platforms, mobile wallets, secure elements, etc.) in a mobile commerce environment. That is, the central TSM 102 manages communications between entities. For example, in one exemplary embodiment, the central TSM manages communications between a mobile wallet platform and a secure element, in order to request and obtain transaction data for use in a remote transaction.
The mobile device 101 and the central TSM 102 are communicatively coupled, OTA, to the mobile wallet platform 103. The mobile wallet platform 103 includes a processor and at least one storage means (e.g., memory) for storing sets of account data associated with mobile wallets. The mobile wallet platform 103 is configured to communicate with multiple systems and/or devices to process a remote transaction. In one exemplary embodiment, the mobile wallet platform receives and processes requests for account data and transaction data.
The mobile wallet platform 103 is communicatively coupled to the client portal 105, merchant system 106, acquirer system 107, payment network system 108 and service provider system 109 over the communications network 104. The communications network 104 may be a virtual private network (VPN), a network using Hypertext Transfer Protocol (HTTP) standards, the Internet, or the like.
The client portal 105 may be any system such as a laptop, personal computer, mobile device, tablet, workstation or the like, capable of accessing the Internet, for example, to perform remote transactions.
The merchant system 106 is a system managed by a merchant, for example, for processing remote transactions. A merchant may be a retailer, business, or the like. The merchant system 106 includes and/or manages a webpage or mobile application associated with the merchant. The merchant webpage or mobile application may include an online store, which allows consumers to electronically perform commerce transactions such as purchases, payments, credits, debits, transfers, etc. For example, an online store can be used to purchase and pay for goods or services offered by the merchant.
The acquirer system 107 is a system managed by an acquirer (or acquiring bank), for example, for processing remote transactions including remote payments. An acquirer is a bank or financial institution that processes transactions such as payments for goods or services, on behalf of a merchant. In one exemplary embodiment, an acquirer system communicates with service provider (e.g., issuer) systems to exchange funds on behalf of a merchant during the processing of a remote transaction.
The payment network system 108 is a system managed by a payment network. A payment network is a network of systems linking financial institutions for the exchange of monetary value (e.g., money) during a transaction such as a remote payment. In one exemplary embodiment, a payment network system processes an exchange of money between an acquirer and a service provider, to pay for goods purchased during a remote transaction.
The service provider system 109 is a system managed by a service provider. A service provider may be an issuer, issuing bank or the like that offers financial instruments such as credit cards and debit cards for use by consumers in transactions. In one exemplary embodiment, the service provider system authorizes transactions such as remote payments, on behalf of a consumer. That is, the service provider system receives a request to pre-authorize and authorize a remote payment for a purchase of goods made by a consumer. The service provider system, in turn, determines whether to pay for those goods on behalf of the consumer, using a line of credit extended by the service provider to the consumer.
Each of the central TSM 102, mobile wallet platform 103, client portal 105, merchant system 106, acquirer system 107, payment network system 108 and service provider system 109 include, at least, a processor and one or more storage means (e.g., memory). Although one client portal, merchant system, acquirer system, payment network system and service provider system are illustrated in
The mobile wallet 202 (i.e., mobile wallet application) includes instructions which, when executed by the processor 205 of the mobile device 201, cause the mobile device to act as an instrument, for example, for processing transactions such as remote transactions (e.g., remote payments). The mobile wallet 202 provides an interface for receiving inputs and displaying outputs. The mobile wallet 202 communicates with the secure element 202 and applets stored on the secure element, using commands transmitted via application programming interfaces (APIs) (not illustrated).
The secure element 203 may be implemented as a Universal Integrated Circuit Card (UICC), embedded SE card, secure micro secure digital (microSD) card, and the like. A secure element (e.g., secure element 203) is generally considered secure because it is a self-contained system, including dedicated memory, and is protected by hardware and software hardening techniques that are verified by independent testing. The secure element 203 includes (i.e., has stored thereon) a wallet companion applet (WCAp) 203a, a payment proxy applet 203b, a payment applet A 203c, and a payment applet B 203d. Although not illustrated in
The mobile wallet 202 communicates with payment applets (e.g., payment applet A 203c and payment applet B 203d) on the secure element 203 to process remote transactions such as remote payments. A payment applet corresponds to a service provider, and is used to make payments using a mobile wallet. A payment applet stores sensitive service provider data, such as transaction data (e.g., account number, account verification code, account holder name, expiration date) associated with a service provider account issued to a consumer. Examples of payment applets include ExpressPay from American Express®, Discover® Network ZipSM, MasterCard® PayPass™ and Visa payWave™. In one exemplary embodiment, a mobile wallet transmits a request to a secure element, to retrieve and provide transaction data from a payment applet, for processing a remote payment. Although only two payment applets (e.g., payment applet A 203c and payment applet B 203d) are illustrated in
The secure element 203 also includes the WCAp 203a, which is used to manage and secure applets (e.g., payment applet A 203c and payment applet B 203d) stored in the secure element. The WCAp 203a performs functions such as: storing mobile wallet data, authenticating passcodes, managing applet data and managing the state (e.g., activate, deactivate) of applets on the secure element. In one exemplary embodiment, a WCAp processes a request from a mobile wallet to retrieve transaction data from a payment applet on the secure element.
The payment proxy applet 203b is an applet stored on the secure element 203, and is used to communicate with payment applets on the secure element. The payment proxy applet 203 is well secured using hardening techniques, so as to reliably transmit information. In one exemplary embodiment, a payment proxy applet processes a request from a central TSM to retrieve transaction data from a payment applet on a secure element.
In
At step 350, the client portal 301 transmits a request to obtain a login page (Get Login Page) to a merchant system 302 (e.g.,
The merchant system 302 receives the request (Get Login Page) from the client portal 301 and transmits a login page (Return Login Page) to the client portal 301, at step 352. A login page may be a webpage or mobile application, short message service (SMS), or any similar message or prompt for login credentials to be used by the merchant system 302 to authenticate a user. Login credentials may be any information requested by the merchant system 302 to authenticate a user, and typically includes a username and password combination.
The client portal 301 receives the login page transmitted by the merchant system 302 and presents it (i.e., prompts) to the user of the client portal 301. This is done, for example, by displaying the login page on a display of the client portal. In turn, the user inputs login credentials (e.g., username and password combination) as requested by the merchant system 302 into the login page via the client portal 301. The input of data can be done using any device (e.g., keyboard, mouse) included in or attached to the client portal. The client portal 301 transmits the login credentials to the merchant system 302, at step 354.
Although not illustrated in
If the merchant system 302 determines that the login credentials are valid, the merchant system 302 retrieves a wallet identifier (WID) (Get WID) associated with the login credentials, at step 356. A WID is a unique identifier associated with a mobile wallet. A WID may be retrieved by the merchant system 302 in several ways. In one exemplary embodiment, the merchant system 302 may retrieve from its storage a WID associated with the received login credentials. The WID and login credentials may have been associated and stored by the merchant system 302 during a prior processing of a remote transaction. In an alternative exemplary embodiment, a WID associated with the received login credentials may be retrieved by the merchant system 302 from “cookies” stored on the client portal 301. As explained above, “cookies” are data stored in a computer and/or client portal including information (e.g., user activity, login credentials) associated with previous users of the computer and/or client portal.
At step 358, the merchant system 302 transmits a request (Get Account References), to a mobile wallet platform 304 (e.g.,
In turn, the mobile wallet platform 304 retrieves (e.g., by querying), from its storage, the account data set associated with the WID included in the request (Get Account References) transmitted at step 358. At step 360, the mobile wallet platform 304 transmits (Return Account References) the retrieved account data set to the merchant system 302.
At step 362, the merchant system 302 transmits (Return Checkout Page) the WID and account data sets received at step 360 to the client portal 301. The merchant system 302 may also transmit, at step 362, in addition to the account data, user information associated with the WID (e.g., name, address, telephone, etc.). The account data sets, WID and user information associated with the WID are transmitted to the client portal 301, for example, via the merchant's webpage or mobile application. That is, the account data sets, WID and user information associated with the WID may be transmitted to the client portal 301 in the form of a checkout webpage or mobile application, which displays at the client portal, the received account data sets (e.g., account ID). In this way, remote transactions can be made more efficient.
In turn, the client portal 301 selects, in response to user input, via the checkout webpage or mobile application, an account to be used to make a payment for the purchased goods. The account is selected from one of the accounts associated with the account data sets displayed at the checkout webpage or mobile application. The client portal 301 transmits to the merchant system 302 a request to check out (Request: Check Out), at step 364. The request to check out (Request: Check Out) includes at least a portion of the account data set (e.g., account ID) associated with the selected account and the WID.
The merchant system 302 receives the request to check out (Request: Check Out) and transmits an authorization request (Authorization Request) to an acquirer system 303 (e.g.,
In turn, at step 368, the acquirer system 303 transmits, to the mobile wallet platform 304, a request to obtain transaction data (Get Transaction Data). Transaction data includes information used to process a transaction, such as an account number, account verification code, account holder name, and/or expiration date associated with an account. The request to obtain transaction data (Get Transaction Data) includes (1) account data including account ID received from the merchant system 302, (2) the WID, (3) the transaction parameters received from the merchant system 302, and/or (4) an encryption key, which can be used by a system (e.g., service provider system) to encrypt data (e.g., account number).
At step 370, the mobile wallet platform 304 transmits a request to obtain transaction data (Get Transaction Data) to a service provider system 306 (e.g.,
In alternative embodiments described in further detail below with reference to
As further illustrated in
If the service provider system 306 successfully pre-authorizes the transaction at step 372, the service provider system 306 encrypts at least a portion of the retrieved transaction data, such as the account number, using the encryption key received at step 370. In an alternative embodiment, the service provider system 306 does not encrypt the transaction data. At step 374, the service provider transmits, to the mobile wallet platform 304, the transaction data (Return Transaction Data), including the encrypted account number and/or account verification code.
In turn, at step 376, the mobile wallet platform 304 transmits the transaction data (Return Transaction Data) to the acquirer system 303, based on the information received by the mobile wallet platform 304 at step 374.
The acquirer system 303, in turn, processes the transaction in accordance with steps 378-390 in
At step 378, the acquirer system transmits an authorization request (Authorization Request) to a payment network system 305 (e.g.,
The service provider system 306 determines whether to authorize the transaction (Service Provider Authorization), at step 382, based on the information received from the payment network system 305. Each service provider associated with a service provider system (e.g., service provider system 306) authorizes transactions based on its own predetermined rules. If the service provider system 306 does not authorize the transaction, the service provider system 306 may transmit a notification to the payment network system 305 indicating that the transaction was not successfully authorized and/or the reasons for the failed authorization.
Alternatively, if the transaction is authorized at step 382, the service provider system 306 transmits, at step 384, an authorization (Return Authorization) to the payment network system 305. The authorization (Return Authorization) may include a notification (and/or reasons) that the transaction authorization request initiated by the acquirer system 303 at step 378 was successful. In turn, the payment network system 305 transmits an authorization (Return Authorization) to the acquirer system 303, at step 386, based on the information in the authorization received from the service provider system 306. Similarly, the acquirer system 303 transmits an authorization (Return Authorization) to the merchant system 302, at step 388, based on the information in the authorization received from the payment network system 305. At step 390, the merchant system transmits a confirmation (Transaction Confirmation) to the client portal 301, including information indicating that the transaction initiated by the client portal 301 was authorized and successfully processed.
In alternative embodiments described in further detail below with reference to
In an alternative embodiment, the mobile wallet platform 304 obtains pre-authorization from a mobile wallet. The mobile wallet pre-authorization can be performed by itself or in addition to the service provider pre-authorization of step 372. The mobile wallet pre-authorization can be performed before or after the service provider pre-authorization of step 372. In a mobile wallet pre-authorization, the mobile wallet platform 304 transmits account data and transaction parameters (e.g., merchant name, transaction balance) to a mobile wallet associated with a WID associated with a transaction. The mobile wallet, which is stored on a mobile device, displays account data and transaction parameters and prompts the user of the mobile device to verify that the information is valid and accurate. The account data and transaction parameters are displayed, for example, via the interface or screen of the mobile device. The mobile wallet also prompts the user of the mobile device to input a passcode to pre-authorize the transaction. In turn, the mobile wallet receives the input passcode and validates it by comparing the input passcode to a previously stored passcode associated with the mobile wallet. If the account data, transaction parameters and passcode are validated, the mobile wallet informs the mobile wallet platform that the transaction has been pre-authorized. The mobile wallet platform can proceed with processing of the transaction.
In an alternative embodiment, a user may login (i.e., input credentials into a login page) prior to selecting goods for purchase from a merchant webpage or mobile application, rather than at the time of checking out when goods have been selected for purchase.
In an alternative embodiment, a merchant system may request sets of account data associated with a WID at any time after obtaining login credentials. For example, the merchant system may request, from a mobile wallet platform, sets of account data immediately after a user login or after the user requests to check out.
In
At step 452, the mobile wallet platform 401 retrieves (Get Applet Reference), from its storage, applet data (e.g., applet ID) associated with the account ID. The applet data includes information associated with an applet, such as a payment applet (e.g.,
In turn, the mobile wallet platform 401 contacts, using the retrieved MSISDN, a mobile wallet 402 (e.g.,
At step 456, the mobile wallet 402 retrieves a passcode (Get Passcode). For example, the mobile wallet 402 may display a prompt via the interface of the mobile device requesting input of a passcode to be used to approve a transaction. The user of the mobile device inputs a passcode using the screen and/or keys of the mobile device.
The mobile wallet 402 transmits to a WCAp on a secure element 403 (Send Passcode, Applet Reference and Transaction Parameters), at step 458, the received (i.e., input) passcode, applet data, and transaction parameters. At step 460, the WCAp on the secure element 403 authenticates the passcode, for example, by verifying that the received passcode matches a previously stored passcode associated with the mobile wallet 402.
At step 462, the WCAp on the secure element 403 retrieves (Get Transaction Data) transaction data from the applet associated with the received applet data. That is, the WCAp communicates with an applet on the secure element 403 corresponding to the received applet data (e.g., applet ID), and obtains the transaction data (e.g., account number, account verification code) associated with that applet.
In turn, at step 464, the WCAp on the secure element 403 transmits (Send Transaction Data) the retrieved transaction data to the mobile wallet 402. At step 466, the mobile wallet 402 returns (Send Transaction Data) the transaction data received from the secure element 403 to the mobile wallet platform 401. The mobile wallet platform 401 receives the transaction data and can continue performing the transaction, for example, by forwarding the transaction data to an acquirer system for processing.
In
At step 552, the mobile wallet platform 501 retrieves (Get Applet Reference), from its storage, applet data (e.g., applet ID) associated with the account ID. The applet data includes information associated with an applet, such as a payment applet (e.g.,
In turn, the mobile wallet platform 501 transmits (Send Applet Reference and Transaction Parameters) information to a central TSM 502 (e.g.,
At step 556, the central TSM 502 transmits to a payment proxy applet (e.g.,
In turn, at step 560, the payment proxy applet on the secure element 503 transmits (Send Transaction Data) the retrieved transaction data to the TSM 502. At step 566, the TSM 502 returns (Send Transaction Data) the transaction data received from the secure element 503 to the mobile wallet platform 501. The mobile wallet platform 501 receives the transaction data and can continue performing the transaction, for example, by forwarding the transaction data to an acquirer system for processing.
a and 6b depict sequence diagrams 600a and 600b for providing transaction receipts.
In
In turn, at step 654a, the mobile wallet platform 603a transmits the retrieved contact information (Return Contact Information) to the merchant system 602a. The merchant system 602a uses the received contact information to transmit (Send Receipt), at step 656a, a receipt to the user 601a, for example, at an e-mail address or MSISDN included in the contact information. The receipt includes receipt data of a processed transaction, including items, cost, balance, shipping information, and/or the like.
In
The example embodiments described above such as, for example, the systems and procedures depicted in or discussed in connection with
The computer 700 may include without limitation a processor device 710, a main memory 725, and an interconnect bus 705. The processor device 710 may include without limitation a single microprocessor, or may include a plurality of microprocessors for configuring the computer 700 as a multi-processor system. The main memory 725 stores, among other things, instructions and/or data for execution by the processor device 710. The main memory 725 may include banks of dynamic random access memory (DRAM), as well as cache memory.
The computer 700 may further include a mass storage device 730, peripheral device(s) 740, portable storage medium device(s) 750, input control device(s) 780, a graphics subsystem 760, and/or an output display 770. For explanatory purposes, all components in the computer 700 are shown in
The portable storage medium device 750 operates in conjunction with a nonvolatile portable storage medium, such as, for example, a compact disc read only memory (CD-ROM), to input and output data and code to and from the computer 700. In some embodiments, the software for storing an internal identifier in metadata may be stored on a portable storage medium, and may be inputted into the computer 700 via the portable storage medium device 750. The peripheral device(s) 740 may include any type of computer support device, such as, for example, an input/output (I/O) interface configured to add additional functionality to the computer 700. For example, the peripheral device(s) 740 may include a network interface card for interfacing the computer 700 with a network 720.
The input control device(s) 780 provide a portion of the user interface for a user of the computer 700. The input control device(s) 780 may include a keypad and/or a cursor control device. The keypad may be configured for inputting alphanumeric characters and/or other key information. The cursor control device may include, for example, a mouse, a trackball, a stylus, and/or cursor direction keys. In order to display textual and graphical information, the computer 700 may include the graphics subsystem 760 and the output display 770. The output display 770 may include a cathode ray tube (CRT) display and/or a liquid crystal display (LCD). The graphics subsystem 760 receives textual and graphical information, and processes the information for output to the output display 770.
Each component of the computer 700 may represent a broad category of a computer component of a general and/or special purpose computer. Components of the computer 700 are not limited to the specific implementations provided here.
Portions of the example embodiments of the invention may be conveniently implemented by using a conventional general purpose computer, a specialized digital computer and/or a microprocessor programmed according to the teachings of the present disclosure, as is apparent to those skilled in the computer art. Appropriate software coding may readily be prepared by skilled programmers based on the teachings of the present disclosure.
Some embodiments may also be implemented by the preparation of application-specific integrated circuits, field programmable gate arrays, or by interconnecting an appropriate network of conventional component circuits.
Some embodiments include a computer program product. The computer program product may be a storage medium or media having instructions stored thereon or therein which can be used to control, or cause, a computer to perform any of the procedures of the example embodiments of the invention. The storage medium may include without limitation a floppy disk, a mini disk, an optical disc, a Blu-ray Disc, a DVD, a CD-ROM, a micro-drive, a magneto-optical disk, a ROM, a RAM, an EPROM, an EEPROM, a DRAM, a VRAM, a flash memory, a flash card, a magnetic card, an optical card, nanosystems, a molecular memory integrated circuit, a RAID, remote data storage/archive/warehousing, and/or any other type of device suitable for storing instructions and/or data.
Stored on any one of the computer readable medium or media, some implementations include software for controlling both the hardware of the general and/or special computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the example embodiments of the invention. Such software may include without limitation device drivers, operating systems, and user applications. Ultimately, such computer readable media further includes software for performing example aspects of the invention, as described above.
Included in the programming and/or software of the general and/or special purpose computer or microprocessor are software modules for implementing the procedures described above.
While various example embodiments of the invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It is apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein. Thus, the invention should not be limited by any of the above described example embodiments, but should be defined only in accordance with the following claims and their equivalents.
In addition, it should be understood that the figures are presented for example purposes only. The architecture of the example embodiments presented herein is sufficiently flexible and configurable, such that it may be utilized and navigated in ways other than that shown in the accompanying figures. Further, the purpose of the Abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The Abstract is not intended to be limiting as to the scope of the example embodiments presented herein in any way. It is also to be understood that the procedures recited in the claims need not be performed in the order presented.
This application claims priority to U.S. Provisional Patent Application No. 61/710,383, filed Oct. 5, 2012, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61710383 | Oct 2012 | US |