CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation application of U.S. application Ser. No. 16/224,462, filed Dec. 18, 2018, titled “Mobile Wallet Account Balance Systems and Methods,” which is a continuation application of U.S. application Ser. No. 14/553,756, filed Nov. 25, 2014, titled “Mobile Wallet Account Balance Systems and Methods,” which is a continuation-in-part application of U.S. application Ser. No. 14/501,880, filed Sep. 30, 2014, titled “Mobile Wallet Account Provisioning Systems and Methods,” which is a continuation-in-part of U.S. application Ser. No. 14/266,580, filed Apr. 30, 2014, titled “Mobile Wallet Using Tokenized Card Systems and Methods,” all of which are incorporated herein by reference in their entireties.
BACKGROUNDThe present disclosure relates generally to the field of systems that use mobile devices to transfer funds. More specifically, the present disclosure relates to systems and methods for enabling individuals to use their electronic devices to transfer funds, purchase products and services.
Payments for products and services are often completed using credit cards, debit cards, checks, or cash. At the same time, most people carry some type of mobile handheld electronic device, such as a cellular phone, smart phone, mobile handheld wireless e-mail device, personal digital assistant, portable gaming devices, and so on. Most of these devices tend to have a wireless Internet connection. A person may wish to make payments to merchants or other individuals using these mobile devices. Likewise, a person may wish to transfer funds to other individuals using their mobile devices. Enhanced systems and methods of facilitating such transactions would be desirable.
SUMMARYAccording to one example embodiment, a computer system accesses a database to retrieve account balance information for an account held by a user at a financial institution. The computer system generates a screen display to present to the user via a mobile device. The screen display shows the account balance information. The computer system receives, via the mobile device, an indication from the user that the user wishes to perform a mobile wallet transaction to transfer funds to a recipient. The computer system transmits the funds to the recipient responsive to receiving the indication.
BRIEF DESCRIPTION OF THE FIGURESThe details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the disclosure will become apparent from the description, the drawings, and the claims, in which:
FIG.1 is a block diagram of a computer-implemented payment processing system, according to an example embodiment.
FIG.2 illustrates a payment process that may be implemented by the system inFIG.1 according to an example embodiment.
FIG.3 illustrates a user registration process and a token generation process during registration, according to an example embodiment.
FIGS.3A-3G illustrate display screens that may be displayed to the user during the process ofFIG.3.
FIG.4 illustrates a payment code generation process for an authenticated mobile wallet session, according to an example embodiment.
FIGS.4A-4D illustrate display screens that may be displayed to the user during the process ofFIG.4.
FIG.5 illustrates aTrack 1 format for a generated QR code that may be created in the token generation process, according to an example embodiment.
FIG.6 illustrates aTrack 2 format for a generated QR code that may be created in the token generation process, according to an example embodiment.
FIG.7 illustrates a tokenized primary account number (TPAN) format within the QR code ofFIGS.5-6, according to an example embodiment.
FIG.8 illustrates aTrack 2 format for a code generated, according to an example embodiment.
FIG.9 illustrates a process that may be implemented by the system inFIG.1 according to an example embodiment.
FIG.10 illustrates a payment process that may be implemented by the system inFIG.1 according to an example embodiment.
FIG.11 illustrates a payment process that may be implemented by the system inFIG.1 according to an example embodiment.
DETAILED DESCRIPTIONBefore turning to the figures which illustrate example embodiments, it should be understood that the application is not limited to the details or methodology set forth in the following description or illustrated in the figures. It should also be understood that the phraseology and terminology employed herein is for the purpose of description only and should not be regarded as limiting.
Referring generally to the figures, systems and methods for providing token generation and validation features for a payment processing system are described. More particularly, the present disclosure relates to the use of codes with tokens for validation during payment processing. The codes may be transmitted, e.g., using optical image methods (e.g., QR code), NFC, wireless, Bluetooth, low energy Bluetooth, RFID, hypersonic, Wi-Fi, cellular 3G, 4G, GSM, LiFi, etc. The systems and methods described herein may be implemented for users having a mobile wallet implemented on a mobile device. The mobile wallet allows the user access to accounts via the mobile device to provide payments to merchants or other users. The systems and methods described herein allow for integration between a mobile wallet server and a merchant for processing a payment.
In an embodiment of the present disclosure, a code representing a substitute card number may be generated and formatted for use as part of a validation system. When a user registers for a mobile wallet account, a customer token may be generated for the user and a device token may be generated for the device used by the user. The customer token and device token may be used to verify further transactions between the user and the mobile banking system or mobile wallet account.
When the user logs into his or her mobile wallet and wishes to make a payment using funds in the user's accounts, the customer token and device token are sent or provided to a server system. A substitute card number (tokenized) including a trace ID number as described below may be provided to the user by a mobile wallet computer system. The mobile wallet computer system and a point of sale (POS) device, e.g., at the store location at which the payment is to be submitted, use the substitute credit card number to authenticate the transaction. The substitute card number may be formatted to include a portion of an actual card number held by the user, e.g., so that the last four digits appearing on a receipt provided to the user match those of the user's actual card number, even though a substitute card number was provided to the merchant to process the payment.
In various embodiments, the substitute card number (tokenized) including a trace ID number as described below may be converted back into the actual credit card number by a mobile wallet computer system. For example, the merchant point of sale device may provide the substitute card number to the mobile wallet computer system. In response, and after authenticating the transaction, the mobile wallet computer system may return the actual card number to the merchant computer system. The merchant computer system may then provide the actual card number to an acquirer processor computer system, which in turn may provide the actual card number a payment network, which in turn may provide the card number to a source account (credit card issuer) computer system for payment processing. Such embodiments facilitate processing of rewards points and other rewards information at the point of sale.
In other embodiments, the merchant point of sale device may provide the substitute card number to an acquirer processor computer system, which in turn may provide the substitute card number to the mobile wallet computer system. In response, and after authenticating the transaction, the mobile wallet computer system may return the actual card number to the acquirer processor computer system. The acquirer processor may then provide the actual card number to a payment network, which in turn may provide the card number to a source account (credit card issuer) computer system for payment processing.
In other embodiments, rather than providing the substitute card number to the mobile wallet computer system, the acquirer processor computer system may provide the substitute card number to a payment network computer system. In turn, the payment network computer system may provide the substitute card number to the mobile wallet computer system, which, after authenticating the transaction, may then return the actual card number to the payment network computer system. The payment network computer system may then provide the actual card number to a source account computer system for payment processing.
Referring toFIG.1, a computer-implementedpayment processing system100 is shown, according to an example embodiment. Thepayment processing system100 may be used to set up and utilize a mobile wallet. The user may be a business entity and/or an individual consumer that has one or more source accounts with a financial institution. The source accounts may include business or consumer demand deposit, credit card, debit card accounts, lines of credit, and so on. The mobile wallet account may be created for the user to transmit funds from a source account to pay for goods or services to a merchant. Additionally, funds can be transferred from the source account to another person.
Thepayment processing system100 may include, among other systems, amobile device110, a mobile walletbank computer system120, a source accountbank computer system130, amerchant computer system140, an acquirer/processor computer system145 and apayment system150. The various systems may communicate through anetwork160, which may include one or more of the Internet, cellular network, Wi-Fi, Wi-Max, a proprietary banking network, or any other type of wired or wireless network. In some embodiments, the mobile walletbank computer system120 and source accountbank computer system130 may be owned by the same entity. In other embodiments, the mobile walletbank computer system120 and source accountbank computer system130 may be owned by a different entity.
The mobile walletbank computer system120, the source accountbank computer system130, the acquirer/processor computer system145 and thepayment system150 may each include a computer system (e.g., one or more servers each with one or more processing circuits), each including a processor and memory. The processors may be implemented as application specific integrated circuits (ASICs), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable electronic processing components. The memory may be one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described herein. The memory may be or include non-transient volatile memory, non-volatile memory, non-transitory computer storage media. The memory may include data base components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described herein. The memory may be communicably connected to the processor and include computer code or instructions for executing one or more processes described herein.
The mobile wallet account may be established in a variety of ways, for example, through an online banking area of a website of the banking institution that operates the mobile walletbank computer system120.
Themobile device110 may be used by an individual user (e.g., a business owner or employee, a consumer, etc.) to create and interact with a mobile wallet account. Themobile device110 may, for example be, a cellular phone, smart phone, mobile handheld wireless e-mail device, personal digital assistant, portable gaming device, or other suitable device. Themobile device110 includes anetwork interface logic112, adisplay device114, aninput device115, and a mobilewallet client application116. Thenetwork interface logic112 may include, for example, program logic that connects themobile device110 to thenetwork160. For example, themobile device110 may receive and display screens including account information, transaction instructions, and so on. In one embodiment, a screen may be used to request a username and password information from the user, to prompt the user to provide information regarding the amount of a payment and which merchant or individual (e.g., name, address, phone number or e-mail, a selection of a recipient by the user from his/her memory or from themobile device110, etc.) is to receive the payment. Such screens are presented to the user via thedisplay device114. Theinput device115 may be used to permit the user to initiate account access and to facilitate receiving requested information from the user. Theinput device115 may include, for example, a keypad or keyboard, a touchscreen, a microphone, or any other device that allows the user to access thepayment processing system100. As will be appreciated, in addition to or instead of themobile device110, users may also be provided with the ability to access thepayment processing system100 using another type of computer (e.g., a desktop or laptop computer executing browser software) to perform the operations described herein as being performed by themobile device110.
The mobilewallet client application116 or mobile wallet circuit may include program logic executable bymobile device110 to implement at least some of the functions described herein. In order to make themobile wallet circuit116, the mobile walletbank computer system120 may provide a software application and make the software application available to be placed on themobile device110. For example, the mobile walletbank computer system120 may make the software application available to be downloaded (e.g., via the online banking website of the mobile wallet bank, via an app store, or in another manner). Responsive to a user selection of an appropriate link, the mobile wallet application may be transmitted to the mobile device and may cause itself to be installed on themobile device110. Installation of the software application creates the mobile wallet circuit on themobile device110. Specifically, after installation, the thus-modifiedmobile device110 includes the mobile wallet circuit (embodied as a processor and instructions stored in non-transitory memory that are executed by the processor).
As will be appreciated, the level of functionality that resides on themobile device110 as opposed to the mobile walletbank computer system120 may vary depending on the implementation. Theclient application116 may provide an interface that is configured to receive and display mobile web pages received from the mobile wallet bank computer system120 (e.g., web pages prompting the user to provide information to create an account, web pages displaying account balance information and past transactions, and so on). Upon initiation of a transaction, theclient application116 may request data from the mobilewallet computer system120 to generate a unique code/token. The unique code/token may then be transmitted by themobile device110 to themerchant computer system140 as part of a transaction to facilitate authentication of the transaction. In other embodiments, the mobile walletbank computer system120 may implement the code/token generator.
The mobilewallet client application116 is used in connection withmerchant computer system140 located at a brick and mortar store location. Additionally, themobile wallet application116 may also be used in connection with online merchant transactions. In another embodiment, merchants may be provided with the ability to have a mobile storefront and profile within the mobilewallet client application116. For example, merchants may be provided with the ability to display marketing material, provide information, and promote products or discounts. Merchants may also be provided with the ability to sell items directly through their mobile storefront for the account holder to purchase from within the mobilewallet client application116.
The mobilewallet client application116 may offer a user to choose any one of the accounts for transferring funds to the merchant for goods or services. An account holder may select a default account that is used to make payments. The account holder may use account selection logic to select the account the account holder wants to use to pay the merchant or other recipient.
The mobile walletbank computer system120 includes code/token generator118,account processing logic122, anaccounts database124,network interface logic126,transaction verification logic127, and anaccount directory128. In one embodiment, the mobile walletbank computer system120 is operated by a first banking entity that maintains and handles transaction processing for mobile wallet accounts. The mobile wallet accounts may be created via interaction of themobile wallet application116 with the mobile walletbank computer system120. The user may or may not have conventional bank accounts with the banking entity that maintains the mobile walletbank computer system120. If the user does not have bank accounts with the entity that maintains the mobile walletbank computer system120, then accounts associated with another banking entity may also be used. Again, in such an embodiment, the flow of funds into and out of the mobile wallet accounts may also be processed by the first banking entity using the mobile walletbank computer system120.
The mobile walletbank computer system120 is configured to store information regarding mobile wallet accounts. By way of example, information for a specificmobile wallet account125 is shown as being stored in theaccounts database124. As will be appreciated, theaccounts database124 may also store information regarding many other mobile wallet accounts (not shown). As will also be appreciated, the extent to which transaction details are tracked and maintained inaccount processing logic122 and stored in a storage database provided by the mobile walletbank computer system120 may vary in differing embodiments. Theaccount database124 may store details regarding credit card accounts. In particular, theaccount database124 may store each financial transaction that occurred. Each financial transaction may include the amount of the transaction and the merchant.
Thecode generator118 may receive a request from an account holder to initiate a transaction. In response, thecode generator118 may generate a code that may be transmitted by themobile device110 to themerchant computer system140. As will be appreciated, any suitable method may be used to transmit the code. In various embodiments, the code may be transmitted using optical image methods (e.g., QR code), NFC, wireless, Bluetooth, low energy Bluetooth, RFID, hypersonic, Wi-Fi, cellular 3G, 4G, GSM, LiFi, etc. For purposes of providing an example, it is sometimes assumed in the discussion ofFIGS.1-11 that an optical method is used (e.g., QR code). In various embodiments, the code may be generated without the account holder providing the merchant's name or amount of transaction. Thecode generator118 can be configured to generate a code that incorporates at least one of a date, time, trace ID, unique transaction identifier, and geographic location of the mobile device. In other embodiments, thecode generator118 may generate a tokenized numerical code that is in theTrack 1 andTrack 2 formats as specified by the ISO 8583 specification.
The code may incorporate at least a portion of an account number for a source account that is associated with the mobile wallet account. The incorporated user account number indicates the payment method to be associated with the transaction (e.g., which of the user's credit cards will be used for the transaction). The code may be generated such that a combination of random digits and a portion of a payment card number are included in the code, e.g., so that the last four digits appearing on a receipt provided to the user match those of the user's actual card number, even though a substitute card number was provided to the merchant. The various fields of such a code, and the format of such a code, are described in greater detail inFIGS.5-8.
Themobile wallet account125 holds funds that are transmitted to arecipient140 upon receiving instructions from the user through themobile device110. As described below, funds flow into and out of themobile wallet account125 through thepayment system150. The mobilewallet account logic120 is connected to thepayment system150 through thenetwork160. Thenetwork interface logic126 may include, for example, program logic that connects the mobile walletbank computer system120 to thenetwork160.
The mobile walletbank computer system120 further includestransaction verification logic127. Thetransaction verification logic127 may receive a transaction amount from themerchant computer system140. In some embodiments, thetransaction verification logic127 may generate a message to send to themobile device110 for verifying the transaction amount. Upon receiving the verification message, the account holder via themobile device110 may approve or deny the transaction amount for the mobile walletbank computer system120.
The source accountcomputer system130 includesaccount processing logic132, anaccounts database134, andnetwork interface logic136. In an example embodiment, as previously indicated, during registration process for themobile wallet account125, the user may be prompted to identify asource account135, that is, a source of funds for the mobile wallet account. Thesource account135 may be an existing demand deposit account or a credit card account held by the user with the same financial institution or another financial institution. When themobile wallet account125 is created, the user is prompted to provide bank account information (e.g., routing number and/or account number) for thesource account135 that is used as a source of funds for themobile wallet account125. Thus, the financial institution that provides themobile wallet account125 for the user and the financial institution that typically provides banking services to the user may be two different financial institutions. In such situations, a second banking entity that maintains and handles transaction processing for source accounts may operate the sourceaccount computer system130. In other situations, thecomputer systems120 and130 may be considered as being integrated in a single payment processing system (e.g., if the two financial institutions are the same). As will be appreciated, in a situation where the mobilewallet computing system120 has many users, some users may have all their mobile wallet source accounts at the same bank that operates the mobilewallet computer system120, some users may have all their mobile wallet source accounts at a bank other than the same bank that operates the mobilewallet computer system120, and some users may have some of their mobile wallet source accounts at the same bank that operates the mobilewallet computer system120 and other of their mobile wallet source accounts at a bank other than the bank that operates the mobilewallet computer system120.
Themerchant computer system140 may be used at a point of sale location to conduct transactions with the account holder. For example, themerchant computer system140 may include a point of sale computer system such as a cash register system connected to a central server system operated by the merchant. As another example, themerchant computer system140 may include a mobile computing device (e.g., smart phone, tablet PC, etc.) operated by a store clerk as the clerk moves throughout the store. Again, the mobile computing device in such an embodiment may connect to a central server system operated by the merchant.
Themerchant computer system140 includesnetwork interface logic142, acode scanner144,location indicator logic146,fund requesting logic148, and fund receivinglogic149. In one embodiment, thenetwork interface logic142 is configured to allow themerchant computer system140 to communicate with thenetwork140. Thenetwork interface logic142 sends and receives data from themobile device110 and the mobile walletbank computer system120.
Thecode scanner144 may be configured to scan codes, such as but not limited to, optically scanned or non-optically scanned codes. In the embodiment of the present disclosure, the code scanner204 scans one or more types of codes. After receiving the code, thescanner144 determines the information that was incorporated into the code by themobile device110 or the mobile walletbank computer system120 that generated the code, as described below.
Thelocation indicator logic146 provides an indication of the geographic location of thecode scanner144. In one embodiment, thelocation indicator logic146 may be programmed with the known address of the merchant location as the location of the code scanner, such that the location of the merchant can be compared with the location of themobile device110 as part of authenticating a transaction.
Thefund requesting logic148 communicates a fund request via thenetwork interface logic142 to the acquirer/processor computer system145. In some embodiments, thefund requesting logic148 may send the tokenized card number (that includes an issuer identification number (IIN), trace ID (generated numbers), checksum helper digit, last 4 digits of the actual card number) received from the user to the acquirer/processor computer system145. In response to receiving a tokenized card number, the acquirerprocessor computer system145 sends the tokenized card number to the mobile walletbank computer system120, which in turn sends the actual card number and a trace ID (embedded within the issuer discretionary field) to the acquirerprocessor computer system145. Thefund receiving logic149 determines when payment has been received by themerchant computer system140 and allocates the payment accordingly.
Themerchant computer system140 may further connect to or integrate with other hardware. For example, in one embodiment, themerchant computer system140 may connect to a card reader for reading credit cards, debit cards, stored value cards, and so on. As another example, themerchant computer system140 may be configured to prompt the user to provide a random security code. The random security code may be generated by themobile device110, by a separate security dongle, or in another manner. The security code may be provided to themerchant computer system140 directly by the mobile device, may be keyed into the merchant computer system140 (e.g., by a store clerk), or may be received in another manner.
The acquirerprocessor computer system145 includes a computer system that transmits and receives messages from the mobile walletbank computer system120, themerchant computer system140, or thepayment system150. In various embodiments, the acquirerprocessor computer system145 may receive the tokenized card information and route the received information to the mobile walletbank computer system120. In other embodiments, the acquirerprocessor computer system145 may receive the actual card information from the mobile walletbank computer system120 with the trace ID embedded within the issuer discretionary field intrack 2 format. In some embodiments, the acquirerprocessor computer system145 may transmit the actual card information with the trace ID to thepayment system150. In various embodiments, the acquirerprocessor computer system145 may process the payment in the mobile wallet system described herein.
In other embodiments, and as previously noted, the acquirerprocessor computer system145 may instead route the tokenized card information with the trace ID number topayment system150. In turn, thepayment system150 may provide the substitute card number to the mobilewallet computer system120, which, after authenticating the transaction, may then return the actual card number to thepayment system150. Thepayment system150 may then provide the actual card number to a sourceaccount computer system130 for payment processing.
Thepayment system150 may comprise at least onecard network152. In some embodiments, the payment system comprisesmultiple card networks152, such as Visa®, MasterCard®, American Express®, Discover®, Diners Club®, etc. In such an embodiment, theappropriate card network152 may be determined based on the first digit of the actual account number (i.e., “4” corresponding to Visa®, “5” corresponding to Mastercard®, “6” corresponding to Discover®, and so on). The acquirerprocessor computer system145 may therefore route the transaction to theappropriate card network152 based on the first digit of the substitute credit card number. Thecard network152 may then route the substitute card number to the mobilewallet computer system145 based on the issuer identification number (IIN). For example, thecard network152 may identify the credit card number provided by the acquirerprocessor computer system145 as being a substitute credit card number and not an actual credit card number based on the IIN. In one embodiment, this identification occurs based on the IIN being a card network-owned IIN that has been licensed to the mobile wallet bank and that has been designated by the mobile wallet bank and the card network for use in mobile wallet transactions. In such an arrangement, the acquirerprocessor computer system145 processes the transaction like any other credit card transaction, and it is not necessary for the acquirerprocessor computer system145 to be aware that the transaction is a mobile wallet transaction. Given the relatively limited number of card networks (e.g., Visa®, MasterCard®, American Express®, Discover®, Diners Club®, etc.), and given the much larger number of acquirer/processors, such an arrangement has the technical benefit of reducing modifications to existing computer systems to implement the features described herein. In other embodiments, this identification is made based on an indication from themerchant computer system140 and/or the acquirerprocessor computer system145 that the transaction is a mobile wallet transaction. Based on the IIN, thecard network152 may transmit the substitute card number to the mobile wallet computer system in turn receive the actual card number, expiration date, and authentication code (e.g., cvv, etc.) from the mobile walletbank computer system120.
Thepayment processing system100 may further include additional bank computer systems that may allow the mobile wallet platform of the present disclosure to be accessed by consumers and merchants that bank at various different banking institutions. The additional bank computer systems may provide the services described herein through multiple banks, allowing for broader adoption of the mobile wallet platform.
FIG.2 illustrates aprocess200 that may be implemented by the system inFIG.1. When a user wishes to make a payment at a merchant, for example, the user may access the mobilewallet client application116 by entering a PIN or other login credentials and then selecting a “pay now” or similar button. For example, the user may be located at a merchant location and may wish to pay for a good or service. As another example, the user may be located away from the merchant location or be engaged in an online transaction.
Atstep201, themobile device110 requests access to funds in the mobile wallet via the mobile walletbank computer system120 to pay for a good or service. Themobile device110 may provide a PIN, a customer ID, and a device ID to the mobile walletbank computer system120. The user may be identified and authenticated based on a match of these three data elements with information stored in the mobile walletbank computer system120. Further, the user's mobile wallet account information may be located/determined.
Next, atstep202, the mobile walletbank computer system120 may generate a tokenized credit card number as described in greater detail below. The tokenized credit card number may include a few generated numbers and a few numbers from the actual credit card number. In one embodiment, the tokenized credit number starts with an issuer identification number (IIN) that corresponds to the mobile walletbank computer system120, ends with the last four digits of the actual credit card account number of the credit card that is being used in the transaction, and further includes intervening digits including a trace ID and a checksum helper digit. The trace ID is described in further detail below and allows for enhanced authentication during the payment process. The may permit checksum verification of the tokenized credit card number. Various checksum algorithms may be used to verify that the tokenized credit card number is a valid credit card number.
The tokenized credit card number may be transmitted to themobile device110 in the form of a code. For example, the data may be encoded in accordance with thetrack 1 and/ortrack 2 formats used in the magnetic stripes of credit cards. In some embodiments, the code is formatted inTrack 2 format. In either case, the primary account number field may contain the tokenized credit card number and the issuer discretionary field may contain the payment token. In yet other embodiments, another format is used.
Atstep203, the tokenized credit card number is transmitted to themobile device110. If the mobile walletbank computer system120 and the sourceaccount computer system130 are different computer systems (e.g., if the user is using a credit card that is provided by a different bank than the bank the operates the mobile wallet computer system120), then the trace ID may also be sent to the sourceaccount computer system130 atstep203.
Atstep205, themobile device110 may display or otherwise transmit the tokenized credit card number to merchant computer system140 (e.g., using a QR code, NFC, wireless, Bluetooth, low energy Bluetooth, RFID, hypersonic, Wi-Fi, cellular 3G, 4G, GSM, LiFi, or other method). Atstep207, after receiving the tokenized card number, themerchant computer system140 sends the transaction to an acquirerprocessor computer system145 for processing.
Next, atstep209, the acquirerprocessor computer system145 sends the tokenized card number to the mobile walletbank computer system120. After receiving the request from the acquirerprocessor computer system145, the mobile walletbank computer system120 may determine the actual card number and send the actual card number back to the acquirer processor atstep211. In one embodiment, the determination of the actual card number may occur by searching for the account information associated with the payment token and/or trace ID within the tokenized card number. Additionally, the trace ID from the tokenized card number may be sent with the actual card number atstep211. At this point, the issuer discretionary field is no longer need for the payment token, hence, the trace ID may be sent to the acquirerprocessor computer system145 in the issuer discretionary field.
Atstep212, the acquirerprocessor computer system145 sends the actual card number and the trace ID to thepayment system150 for processing a payment. Thepayment system150 sends the actual card number with the trace ID and the transaction amount to the source accountbank computer system130 atstep213. The source accountbank computer130 may retrieve the trace ID that was received from the mobile walletbank computer system120 by searching for the actual card number that was received from thepayment system150. The source accountbank computer130 may compare the trace ID that was received/stored atstep203 with the trace ID that was received from thepayment system150 atstep213. Assuming there is a match, the sourceaccount bank computer130 may issue an approval for the transaction. After verifying the actual card number and the trace ID in the issuer discretionary field, the source accountbank computer system130 may send an approval to thepayment system150 atstep215. The approval message may be sent from thepayment system150, to acquirerprocessor computer system145, to the point ofsale system140, insteps217 and219. Upon receiving the approval message the point ofsale system140 may generate a receipt for the user. In some embodiments, the receipt may be sent to themobile device110 electronically. In other embodiments, the receipt may be printed physically at the point of sale location. The receipt may include the last four digits of the actual credit card account number of the credit card that was used in the transaction.
The use of the payment token and trace ID as described herein allows for two levels of authentication. The payment token is generated by the mobile wallet computer system atstep202. The payment token is then transmitted to themobile device110, then to themerchant computer system140, then to the acquirerprocessor computer system145, and eventually back to the mobilewallet computer system120 where it is matched with the original payment token generated atstep202. Similarly, the Trace ID is also generated by the mobile wallet computer system atstep202, and then transmitted to themobile device110, then to themerchant computer system140, then to the acquirerprocessor computer system145, and eventually back to the mobilewallet computer system120 where it is matched with the Trace ID generated atstep202. In the case of the Trace ID, however, the Trace ID is then further transmitted back to the acquirerprocessor computer system145, then to thepayment system150, and then to the sourceaccount computer system130 where it is matched with the Trace ID generated atstep202. Accordingly, the trace ID used in conjunction with the tokenized credit card number allows both the mobile walletbank computer system140 and the source accountbank computer system130 to authenticate the transaction. Using the trace ID in the above described manner may permit the source accountbank computer system130 and the mobile walletbank computer system120 to verify the trace ID at least twice prior to approving a transaction and transferring funds. Further, and as described in greater detail below, the trace ID may be used by the sourceaccount computer system130 to determine whether the credit card transaction was a mobile wallet transaction (e.g., as opposed to an in-person card-present transaction involving use of the user's physical credit card, as opposed to an online transaction, and so on). Hence, the source accountbank computer system130 may provide a different customer experience to the mobile wallet user. The source accountbank computer system130 may also determine risk differently for transactions that use a mobile wallet.
In some embodiments, instead of embedding the trace ID in a tokenized credit card account number atstep202, the actual credit card number is transmitted to themobile device110 and themerchant computer system140. In such an embodiment, the trace ID may be included in the issuer discretionary field atstep202, and the payment token may be communicated in another manner or another payment matching mechanism may be used. The trace ID may be stored in the issuer discretionary field and may travel though the payment processing system, until it is verified by the source accountbank computer system130. After being verified by the source accountbank computer system130, the transaction may be approved and the funds may be transferred from the source account bank computer system to the acquirerprocessor computer system145. In other embodiments, the same financial institution may own the source accountbank computer system130 and the mobile walletbank computer system120.
Referring now toFIG.3 andFIGS.3A-3F,FIG.3 is a flow chart of aprocess300 detailing a user registration process and a token generation process during registration, according to an example embodiment.FIGS.3A-3F are screens that may be displayed to the user during theprocess300 ofFIG.3 according to an example embodiment.Process300 may be executed by amobile device110 and a mobile walletbank computer system120 that is configured to create and manage a mobile wallet account.Process300 may be executed for a user who wishes to start amobile wallet account125 for asource account135. In the example ofFIG.3, it is assumed that the user has an account at the bank that operates the mobilewallet computer system140. As will be appreciated, a similar process may be used for users that have accounts only at other banks.
As previously indicated in connection withFIG.1, a user may perform the registration via an online banking website of the mobile wallet bank. For example, as shown inFIG.3A, a user may select a button301 for an online banking application on themobile device110.
After the button301 is selected, the user may be presented with a screen as shown inFIG.3B.Process300 includes receiving user authentication information into the mobile walletbank computer system120 using existing financial institution credentials (step302). Existing credentials may include, for example, a username and password combination or card information (card number, account number, expiration date, CVV) for an online banking website of the bank that operates the mobilewallet computer system120. For example, inFIG.3B, the credentials are entered in fields303 and305, respectively, of a login screen to the online banking website. In one embodiment, the credentials may match keyboard-entered credentials that are used to access the source account via online banking. In other embodiments, the credentials may match other types of authentication credentials that are used to access online banking (e.g., facial recognition on a captured image or video of the user on a camera of the mobile device, voice or speech recognition captured by an input device of the mobile device, fingerprint authentication, etc.). After providing online banking login credentials as shown inFIG.3B, the user may be taken to a top-level online banking screen as shown inFIG.3C. The screen shown inFIG.3C shows an overview of accounts and account balances held by the user.
Process300 further includes initiating a registration process for a mobile wallet account with the user (step304). Step304 includes receiving a user indication to create a new mobile wallet account. In some embodiments, the user may be presented with a menu option on his or her mobile device to create a new mobile wallet account, among other options. For example, in the top-level screen shown inFIG.3C, abutton327 is provided that allows the user to receive additional information about the mobile wallet application. After selecting thebutton327 inFIG.3C, the user may be taken to a mobile wallet introductory screen as shown inFIG.3D. In the screen shown inFIG.3D, the user is provided with an option to tour the mobile wallet application and with an option to initiate the mobile wallet registration. Upon selectingbutton329, the mobile wallet registration process is initiated. After selecting thebutton329 inFIG.3D, the user may be taken to a first screen for the mobile wallet registration as shown inFIG.3E.
Process300 further includes receiving user account information (step306). Receiving the user account information may include prompting the user to provide mobile wallet login credentials, e.g., a PIN number associated with a debit card or credit card held by the user at the bank. For example, inFIG.3E, the user enters a PIN number infield331. The user may also be prompted to identify the source account(s) the user wishes to associate with the mobile wallet account. For example, the user may enter information about accounts held at other banks that may serve as source accounts. In other embodiments, the user may be presented with various fields on the mobile device that allow the user to select one or more source accounts held by the user, to enter account information (e.g., an account number) in one or more fields, or otherwise. For example, as shown inFIG.3F, the user may be presented with a list333 of accounts the user has with a particular source account bank computer system, and may choose one or more accounts to view account information and to select the account for use with the mobile wallet account. Thus, the mobile wallet may auto-provision the existing accounts of the user to the mobile wallet, without the user having to manually enter the 16-digit credit card account number or other account information (e.g., in the case of other types of financial accounts). The user may further provide information to create a user profile including other information as warranted. In some embodiments, the mobilewallet computer system120 may establish a connection with thecomputer systems130 of other financial institutions, such that the accounts held by the user at the other financial institutions may be auto-provisioned to the mobile wallet as well. In both cases, the user may be provided with information about current account balances regarding the accounts.
Process300 further includes generating a customer token and device token (step308), and sending the customer token and device token to the mobile device of the user (step310). The customer token and device token may be tokens that identify the user and the associated mobile device to the mobile wallet bank computer system in the future. The tokens are encrypted by the mobile wallet bank computer system and provided to the mobile device. The mobile device stores the tokens for future use. In one example embodiment, each time the user accesses the mobile wallet system with a newmobile device110, the mobile device is assigned its own device token. A device and customer token are stored on each device in order to bind the device to the user (one device can only have one wallet user, but one user can have multiple devices). Once a mobile device for mobile wallet account is registered, the user only needs to enter their existing PIN to access their mobile wallet from the registered device (which PIN may be typically eight characters or less and consist only of numbers). The full login credentials associated with online banking are not needed (which often consist of a combination of lower case letters, upper case letters, numbers, and special characters (e.g., punctuation marks)). Instead, possession by the user of the registered device provides an additional level of authentication that avoids the need for full login credentials. Additionally, it may be noted that the level of functionality available the user through the mobile wallet may be less than the level of functionality available to the user through the full online banking website, thereby providing further risk mitigation.
Process300 further includes receiving a default payment method from the user (step312) and completing the registration (step314). Step314 may include a user accepting terms and conditions associated with use of the mobile wallet account. The default payment method may indicate how a user wishes to normally pay for a particular transaction. For example, the user may provide options relating to how to manage overdrafts, whether the total payment should be provided in one or more payments, or otherwise.Process300 may include storing the default payment method (step316) in the profile database of the mobile wallet bank computer system120 (or another database of the mobile wallet bank computer system). The default payment method may be recalled by the mobile walletbank computer system120 during a future payment process.
Referring now toFIG.3G, in some embodiments, rather than receive a default payment method from the user atstep314, user preferences are received and the mobilewallet computer system120 includes a payment method selection module that dynamically selects a default account at the point of sale based on the user preferences, current account account balances, and/or other information. For example, as shown inFIG.3G, the user may specify preferences such as “minimize my interest expenses and bank fees” or “maximize my rewards points.” For example, for a user that typically pays off credit card balances every month, interest expenses may not be a concern, and such a user may wish to maximize rewards points. On the other hand, for a user that does not pay off credit card balances, interest expenses may be more of a concern. As another example, some users may wish to maximize the amount of time available to pay for a purchase. For example, if the user has two credit cards with different billing cycles, then which card is selected as the default payment method may vary depending on when payment would be due for the purchase for each of the two credit cards. Additional examples are given below in the context ofFIGS.4C-4D.
Process300 may also include generating and sending an offline code token to the source account bank computer system. The offline code may be used by the payment processing system, and more particularly the source account bank computer system, to execute a payment for the user when the mobile device is offline, or for other account management purposes. In some embodiments, the mobile device may store one or more offline codes to provide to the merchant. Themobile device110 may be able to conduct the transaction without contacting the mobile walletbank computer system120 and may provide the code to themerchant computer system140.
As will be appreciated, the arrangement ofFIG.3 facilitates keeping a list of source accounts that is up to date and accurate to the user. For example, each time a transaction is to be performed, the mobilewallet computer system120 may access a list of accounts held by the user at the mobile wallet bank. In some cases, an account that was previously active may no longer be active. For example, a user may have reported a physical credit card associated with a credit card account as having been lost or stolen. Prior to presenting a list of available source accounts to the user in the context of a particular transaction, the mobilewallet computer system120 may determine that a previously-provisioned source account is no longer available as a source of funds. Hence, when the mobilewallet computer system120 generates a screen display to present to the user via a mobile device showing the list of accounts held by the user at the financial institution, the previously-provisioned source account that is no longer available as a source of funds may be excluded from the list. When the list of available source accounts is presented to the user, the user may select a new source account for the transaction. For example, if the credit card account was the user's default payment method, the user may select a new default payment method (e.g., an existing demand deposit account).
Additionally, the arrangement may also permit new accounts to be activated and added to the mobile wallet, e.g., a new card account, a new savings account, a new line of credit, and so on. In the case of a new card account, the new card account may, for example, be a new credit card account, a new demand deposit account with a debit card, or an existing demand deposit account with a new debit card.
For example, in the case of a lost or stolen credit card, the bank may create a new credit card account in replacement of the credit card account for which the physical credit card was reported as having been lost or stolen. When the mobilewallet computer system120 accesses the list of accounts held by the user, the mobilewallet computer system120 may identify the new credit card account as being an account that has not yet been provisioned to the mobile wallet. When the screen display is generated showing the list of accounts held by the user, the list may then include the new credit card account, which may be selected by the user for provisioning to the mobile wallet. Again, the new credit card account may be provisioned to the mobile wallet without any manual entry by the user of account information regarding the new credit card account (other than the selection of the new credit card account by the user, indicating that the user wishes to add the new credit card account to the mobile wallet).
In the case of a new credit card account, the bank may issue a new credit card account immediately upon learning of the lost or stolen credit card associated with the previous credit card account. Typically, the bank may then mail the user a new physical/plastic credit card. Upon receiving the new physical credit card, the user may then activate the new credit card, e.g., by calling a credit card activation phone number printed on a sticker that has been placed on the card.
In some embodiments, the user may be provided with the option of activating the new credit card account through the mobile wallet. For example, the bank may perform a first activation of the new credit card account for purposes of transactions implemented via a mobile wallet. Such an activation may be performed via the mobile wallet itself (i.e., the user does not need to take any action outside of the mobile wallet to have the new credit card account activated). For example, the user may be prompted with a message indicating that the credit card account has not yet been activated, and querying whether the user wishes to do so now (e.g., “Click ‘Yes’ to activate your new credit card for your mobile wallet”). For security purposes, the first activation does not activate the credit card for non-mobile wallet transactions involving use of the plastic credit card. Rather, the bank may also perform a second activation of the new credit card account for purposes of transactions implemented via a physical credit card associated with the new credit card account. Hence, the plastic credit card is not useable for credit card transactions until the second activation occurs. Such an arrangement ensures that the user is in possession of the physical credit card before the physical credit card is activated for purposes of transactions implemented via the physical credit card (e.g., a card-present transaction at a bricks and mortar merchant).
As will be appreciated, it may often take several days or more for a new physical credit card to be produced and delivered to the user after the user reports a previous credit card as having been lost or stolen. In the arrangement described herein, the credit card account may be activated for mobile wallet transactions much earlier, before the credit card is activated for the non-mobile wallet transactions involving use of the plastic credit card. For example, the credit card account may be activated one or more days before the user receives the plastic credit card, or even within one day of the bank receiving the report from the user that the plastic credit card has been lost or stolen. In some embodiments, the new credit card account may be activated for the mobile wallet within one hour or less of receiving the report from the user that the plastic credit card has been lost or stolen.
In other embodiments, when a credit card is reported as lost or stolen, the mobilewallet computer system120 may permit the user to continue using the credit card number associated with the plastic credit card for mobile wallet transactions, but prevent the plastic credit card from being used for card-based transactions. When a physical credit card is lost or stolen, the physical credit card has been compromised. However, for purposes of the mobile walletbank computer system120, the account number is simply an account identifier. So long as the mobile wallet has not been compromised, the mobilewallet computer system120 can ensure the integrity of the transaction based on the fact that the user is in possession of themobile device110, particularly in situations where at a point of sale a tokenized card number is used, anyway (e.g., as described above in connection withFIG.2).
Referring now toFIG.4 andFIGS.4A-4D,FIG.4 is a flow chart of aprocess400 detailing a payment code generation process for an authenticated mobile wallet session, according to an example embodiment.FIGS.4A-4D are screens that may be displayed to the user during theprocess400 ofFIG.4 according to an example embodiment.Process400 may be executed for a user requesting to execute a payment (e.g., transaction) with a merchant orother recipient140.Process400 may be executed by a mobile walletbank computer system120 configured to manage the user mobile wallet account.
FIG.4A shows a mobile banking screen that may be displayed to the user after the mobile wallet application has been installed on themobile device110. Similar toFIG.3B, the user is prompted inFIG.4A to provide full online banking login credentials (fields323 and325). By providing such credentials infields323 and325, the user may be provided with the full functionality of the online banking website. However, inFIG.4A, the user is also provided with a second option, namely to provide mobile wallet login credentials (via selecting button425). Hence, inFIG.4A, the user is presented with two possible authentication paths, a first authentication path that prompts the user to provide online banking login credentials to gain access to online banking, and a second authentication path that prompts the user to provide mobile wallet login credentials to gain access to the mobile wallet. If the user selects the second authentication path, the user is delivered to the more payment-focused functionality of the mobile wallet.
Process400 includes receiving a PIN from the user (step402) to authenticate the user (FIG.4B). Atstep402, the mobilewallet client application116 prompts the user for a PIN that was used during the registration steps inprocess300. Hence, as previously indicated, the user may be authenticated based on the user's mobile wallet banking credentials (e.g., 4 digit PIN), rather than being prompted to provide the user's usual online banking authentication credentials (username and password).
In an alternative embodiment, a user may log into a mobile banking session with a source account bank computer system, or the user may directly access the mobile wallet bank computer system.Process400 further includes allowing the user access to his or her mobile wallet account (step404). For example, the user may access his or her mobile wallet account through his or her account at the source account bank computer system, or may log into his or her mobile wallet account at the mobile wallet bank computer system by providing a PIN or other identifier to the mobile wallet bank computer system.
Process400 further includes validating the user based on the customer token and device token (step406). When the user logs in to access his or her mobile wallet account, the customer token and device token stored on the mobile device (stored duringstep310 of process300) are provided to the mobile wallet bank computer system. The mobile walletbank computer system120 validates the user and/or the mobile device for use with the mobile wallet account. Step406 may further include validating the user based on the PIN or other identifier also provided to the mobile walletbank computer system120. For example, in order to be validated, the customer token, the device token, and the PIN may all need to match (i.e., be associated with each other in the mobile wallet computer system120). As previously indicated, each user may have one customer token and one PIN which together are associated with multiple device tokens (such that the user can access the mobile wallet account from multiple devices).
Process400 further includes generating a new device token (step408), and sending the new device token to the mobile device of the user (step410). Hence, in some embodiments, the device token may change each time the user uses the device. The device token may be a token that will identify the user and the associated mobile device to the mobile walletbank computer system120 in the future. More particularly, the device token may identify a current session of the user. In other words, the token may be used to identify a particular function that the user may perform during the session, such as initiating a purchase. The token is encrypted by the mobile walletbank computer system120 and provided to the mobile device. The mobile device stores the device token for future use.
Process400 further includes receiving an indication that the user wishes to execute a payment or other transaction (step412). Upon the indication, the mobile walletbank computer system120 generates a code (e.g., a QR code) based on the user's default payment method (step414). For example,FIG.4C shows aQR code431. The QR code is generated including a combination of random digits and account information of the user. For example, the QR code may include the last four digits of a debit card or credit card number of an account associated with the user and the request. The account information may be used to identify a source account for the transaction at a later step in the transaction. The mobile walletbank computer system120 may use token information (e.g., customer token and device token information) from the mobile device to identify the mobile wallet account and associated source account to use in code generation. The code may provide credit card data or tokenized credit card data inTrack 1 orTrack 2 format, as described below with reference toFIGS.5-7. InFIG.4C, on the same screen asQR code431 is displayed, aPay Now button433 is also displayed. Selection of thePay Now button433 is the last input received by the mobile device from the user before the payment is submitted for processing. Upon user selection of thePay Now button433, the generated code is then provided as part of a payment token to the merchant or other recipient of the payment or funds for payment processing (step416) (FIG.4D).
As previously described in connection withFIGS.3C and3F, the user may be provided with information about current account balances. This is shown inFIG.4C atfield331. The balance information is displayed on the same display screen upon which thePay Now button433 is displayed. As previously indicated, thePay Now button433 is the last input provided by the user before the payment information (e.g., tokenized card number) is submitted to themerchant computer system140 for payment processing. Hence, inFIG.4C, the user is provided with account balance information at the same time the user is making a final decision on whether to select the Pay Now button433 (i.e., at the same time the user is making a final decision on whether to submit the payment to the merchant). The account balance may be accessed fromdatabase124 or134 and may reflect all account activity that has posted to the account, even for transactions that are quite recent. After the transaction is complete, another screen display may be generated that shows updated account balance information after the funds are transmitted to the recipient.
If the user is concerned that the account balance would be unacceptably low after the transaction is completed, or if the account has a negative balance, then the user can opt to cancel the transaction or to perform the transaction in a different manner. For example, if the user is a first joint account holder, and a second joint account holder on the same account (e.g., a spouse) makes an unrelated purchase at another store, such account activity may be reflected on a screen display viewed by the user within a short period of time of the purchase by the other joint account holder (e.g., less than one hour, less than ten minutes, less than one minute, etc.). Hence, if the user did not realize how low the account balance is getting, and is concerned that the account balance would be unacceptably low after the transaction is completed, then the user can opt to cancel the transaction or to perform the transaction in a different manner (e.g., using another source account, by adding funds in the default source account, and so on). If the source account is held at the same entity that operates the mobilewallet computer system120, then the account balance may be obtained without the use of bots or other program logic for performing automated tasks over the Internet. Conversely, if the source account is held at a different entity than the entity that operates the mobilewallet computer system120, then other mechanisms may be used. For example, two banks may collaborate to establish a protocol for securely exchanging customer account balance information.
Also shown inFIG.4C is abalance information link437. By selectinglink437, the user can obtain more detailed balance information and perform related tasks. For example, in some instances, the account balance on the default payment account used by the user may be negative. For example, a demand deposit serving as a source account may be overdrawn or a credit card account serving as a source account may have negative available credit. By selectinglink437, the user may be provided with a new display screen that presents additional information and options for the user. For example, if there is a negative account balance, the user may be provided with a link to select a different account to use as the source account. For example, the user may be provided with a list of other accounts, and be presented with current balance information for each of the other accounts, and be provided with the option to select one of the other accounts to use as the source account. The funds may then be transmitted from the newly selected account. Alternatively, the user may be provided with a link to transfer funds to another account to the default source account. In the case of a credit card account, the user may be provided with a link to pay off all or a portion of the balance of the credit card account.
As previously mentioned in connection withFIG.3G, in some embodiments, the mobilewallet computer system120 may be configured to select the source account that is presented to the user as the default payment account. The source account may be selected by the mobilewallet computer system120 when the user is at the point of sale based on user preferences, account balances, and/or other information. For example, if two accounts have been provisioned to the mobile wallet, such as a demand deposit account and a credit card account, the mobile wallet may select the source account based on current account balances. For example, if the user only has $100 in the demand deposit account, and the proposed transaction is for $250, then the mobilewallet computer system120 may select the credit card account as the default source account to be presented to the user at the point of sale, because the available account balance of the demand deposit is deemed too low. For example, in this example, using the demand deposit account as the source account would cause the demand deposit account to become overdrawn. In other examples, the user may specify a dollar threshold such that, if a transaction were to cause the account balance to drop below the threshold, the available account balance is deemed too low (even though the transaction would not cause the available account balance to become negative). As another example, if the demand deposit account has a $500 balance, and the credit card has a balance of $9,800 and a credit limit of $10,000, then the mobilewallet computer system120 may select the demand deposit account as the default source account to be presented to the user at the point of sale, because there is not sufficient credit available on the credit card account to perform the transaction. Again, the user may be provided with the ability to specify a dollar threshold which causes the available credit to be deemed too low (e.g., even though the user has a credit limit of $10,000, the user may want to never have an outstanding balance over $5,000). The user may also be provided with the ability to view account balances and transfer funds, as previously described, such that an account other than the default source account selected by the mobilewallet computer system120 may be used.
As another example, the mobilewallet computer system120 may determine rewards information regarding rewards available to the user if the user uses a first potential source account to perform the transaction as compared to if the user uses a second potential source account to perform the transaction. For example, the user may have two credit cards, but one of the credit cards may offer additional rewards points for purchases made at a particular merchant with whom the user is about to conduct a transaction. For example, the credit card may be a closed loop credit card (i.e., a merchant-specific credit card) that offers more rewards points for purchases at that merchant than the open loop credit card (e.g., a Visa card) that is typically used by the user. A screen display may be generated that shows at least one of the first and second rewards information. For example, the screen display may shows a comparison of the available rewards. The default source account may thus be selected based on which credit card offers greater rewards for the particular transaction that the user is about to conduct.
As another example, the mobilewallet computer system120 may select a default source account based on user preferences. For example, the user may have two credit cards as described above, including a merchant-specific credit card and a Visa credit card. The merchant specific credit card may offer greater rewards but have a higher interest rate than the Visa credit card. A first user may specify a preference for rewards points (e.g., if the user typically pays off the user's credit cards every month). For such a user, the merchant-specific credit card may be selected as the default source account by the mobilewallet computer system120 when a user is at a point of sale of that merchant. A second user may specify a preference for lower interest rates (e.g., if the user typically does not pay off the user's credit cards every month). For such a user, the open loop credit card may be selected as the default source account by the mobilewallet computer system120 when a user is at a point of sale of that merchant. As another example, the mobilewallet computer system120 may perform an analysis of recent payment history of the user to determine whether the user has recently been paying off the user's credit cards and, based on recent payment history, select either the merchant-specific credit card or the open loop credit card for use in a particular transaction.
As another example, a user may have provisioned gift cards to the mobile wallet account. For example, the user may have purchased a $25 virtual gift card using rewards points that the user has earned. At the merchant point of sale, the virtual gift card may then be presented to the user as a default source account.
Other information may also be displayed to the user. For example, if the user has configured budget information through an online banking area of a website of the financial institution, a screen display may be generated that shows the budget information configured by the user (e.g., prior to the user selecting the Pay Now button433). Again, the budget information may reflect recent transactions performed in connection with the user's accounts.
Referring toFIGS.5-6, codes that may be sent during operation of thesystem100 are shown. As previously indicated, information embedded in the codes may be embedded in aTrack 1 format andTrack 2. The code may be sent optically as a code or in another manner. As will be appreciated, the code formats shown inFIGS.5-6 are example code formats that may be used with the systems and methods described herein. In other embodiments, other formats may be used.
TheTrack 1 format inFIG.5 is shown to include 76 digits and theTrack 2 format inFIG.6 is shown to include 38 digits. Each format may generally include a format code (digit 1), tokenized primary account number501 (digits 2-20), a field separator (digit 21), an expiration date505 (digits 35-38 inTrack 1, digits 22-25 in Track 2), a service code (digits 39-41 or 26-28), and a payment token507 (digits 42-76 or 29-38). Each track may additionally or alternatively include other fields representing different data to be embedded in the code. In one embodiment (theTrack 1 format), the credit card data may include a customer name or other customer identifier (e.g., in digits 22-33 of theTrack 1 format).
In various embodiments of the present disclosure, account information associated with the user's mobile wallet account may be represented in thecode using digits 2 through 20 of theTrack 1 orTrack 2 format. This is shown inFIGS.5-6 as the tokenized primary account number (TPAN). Referring also toFIG.8, the TPAN format is shown in greater detail.
As shown inFIG.7, the first six digits of the TPAN may represent an issuer identification number (IIN) that is used to route the TPAN to the appropriate mobile walletbank computer system120. The IIN is a predetermined number issued to each bank for financial institution for routing fund transfer requests. In the present configuration, an IIN that is associated with the bank that operates the mobilewallet computer system120 may be used.
Digits 7 through 15 of the TPAN may represent a Trace ID, anddigits 16 through 19 may represent account information (e.g., the last four digits of an actual account number, or other account information). First generating random numbers fordigits 7 through 14 may create the Trace ID. The Trace ID may be used for verifying and approving a user initiated transaction. Once those digits are determined, thendigit 15 may be calculated.Digit 15 is calculated such thatdigit 19 may be used as the checksum digit of the tokenized card number or the code. In other words, even thoughdigit 19 is fixed (as part of the actual card number of the account),digit 19 may be used as the checksum digit, becausedigit 15 is calculated in such a way to allow the code to pass the error detection process. Digits 1-19 fromFIG.7 map to digits 2-20 inFIGS.5 and6. For example, digits 2-20 ofFIGS.5 and6 may include the IIN, Trace ID, pseudo check digit, last 4 digits of the card number as shown inFIG.7.
The checksum digit is used for error detection purposes (e.g., to detect errors in manually inputted data that is included in the code). For example, the checksum digit is used to help detect single digit errors, errors where digits are transposed, twin errors, etc. The checksum digit may then be used in one of several algorithms for checking for errors in the code. It should be appreciated that one of any type of checksum algorithm may be used with the embodiment described herein.
In other embodiments, a digit other thandigit 15 may be used as the calculated digit. For example, any eight of the nine digits betweendigit 7 and 15 may be randomized, and the remaining digit may be used as the “checksum helper” digit (e.g., the digit calculated to makedigit 19 the checksum digit).
Referring also toFIG.8, actual card number is sent inTrack 2 format that may be generated at step810 is shown in greater detail. As compared to the QR code ofFIGS.5-7, the trace ID is moved to digits 26-33, and the actual account number may be provided asdigits 2 through 17. In other words, a subset of the original token generated by the mobile wallet bank computer system is moved into a discretionary field of the new generated token. The code is shown to generally include the trace ID and account number, along with an expiration date field (e.g., with the same digits as determined in an earlier process of creating the original token) and a service code field. The code may optionally include any other type of information.
In various embodiments, using the trace ID may allow the financial institution to identify mobile wallet transactions. Upon identifying the mobile wallet transactions, the financial institution may segment the mobile wallet transactions for risk, customer service, security, and card not present transactions. In other embodiments, the transactions that were performed using mobile walletbank computer system120 each use a trace identification number and the user may be charged a different fee for such transactions. In various embodiments, when a user of a mobile wallet account loses their credit card or debit card and the financial institution issues the user a new credit card or debit card, the mobile wallet may be able to auto provision the newly issued cards. Auto provisioning may allow the user to use the mobile wallet account prior to receiving and/or activating the credit or debit card. In other embodiments, in the case of mobile wallet fraud, the mobile wallet account of the user may be reset.
A credit card may be used to pay for a transaction at a point of sale location using the physical credit card, known as a credit card present transaction. A credit card may be used when a credit card is not physically located at a merchant location, such as but not limited to, an online merchant transaction where the credit card information is entered in an online transaction. A financial institution may rank the risk of fraud for each type of transaction. In some embodiments, the financial institution may assign a higher risk rating to a credit card that is not present at the merchant location than a credit card present transaction. In various embodiments, a mobile wallet that performs a transaction at a merchant location may be considered more secure than a physical credit card because the mobile wallet does not provide the merchant the actual credit card number and the mobile wallet does not have the actual credit card number. Accordingly, the financial institution may determine that a transaction was a mobile wallet transaction based on the trace ID and rate the transaction to be more secure or fraud resistant than card present transaction. The financial institution may create a new risk rating that is of a lower risk for mobile wallet transactions. In some embodiments, the transactions that are performed using a mobile wallet may be charged different fee because of the risk rating. In various embodiments, due to the reduction of risk the mobile wallet transactions may be charged a lower fee than card present or card not present transactions.
FIG.9 illustrates aprocess900 that may be implemented by the system inFIG.1. In various embodiments,process900 may be used when an account holder reports their physical card lost or stolen via telephone, Internet, mobile device, etc. In some embodiments,process900 may allow the account holder to perform one or more transactions using the mobile wallet stored on a mobile device, even after the physical card has been lost or stolen. Some advantages ofprocess900 may include the account retaining the use of the account even after the loss of a physical card. Additional advantages may include the account holder being able to activate the newly issued replacement card by using the mobile wallet functionality.
Atstep903, the financial institution computer system may receive a message from the user that the physical card is lost or stolen. In various embodiments, the account holder may contact the financial institution computer system using various communication methods, such as but not limited to, telephone, Internet, and mobile device. Upon receiving the message from the account holder that the physical card is lost or stolen, the financial institution computer system may ask the account holder whether the mobile wallet account has also been compromised. After receiving input from the account holder that the mobile wallet account holder has not been compromised, the financial institution computer system may deactivate the physical card account, atstep905. In some embodiments, the financial institution computer system may assign the uncompromised mobile wallet account to a temporary account to allow the account holder to conduct transactions using the mobile wallet.
In various embodiments, the financial institution computer system may receive a request for a transaction from a merchant, atstep907. Atstep909, the financial institution computer system determines whether the transaction is being performed by a mobile wallet or whether the transaction is being performed by the physical card information. Since the mobile wallet transaction is performed using at least a trace ID, the financial institution computer system may differentiate between the mobile wallet transaction and the physical card information transaction.
Upon determining that the transaction request is not from a mobile wallet or is using the actual card information, the financial institution computer system may deny the transaction request, atstep911. The financial institution computer system would be able to avoid any fraudulent transactions using the actual card information by denying the transaction request that did not originate from a mobile wallet associated with the account.
When the financial institution computer system determines that the transaction request originated from a mobile wallet account, the financial institution may determine whether a new replacement card number has been issued to the account holder atstep913. If a new replacement card number has not been issued, the financial institution may approve the transaction atstep915 based on the determination that the transaction is a mobile wallet transaction and based on the fact that the mobile wallet account has not been compromised. In some embodiments, the transaction may be approved using the temporary card number discussed above.
In various embodiments, when the financial institution has issued a new card, but account holder has not activated the physical card because the account holder has not received the card or other reasons, the financial institution may update its records with respect to the mobile wallet. For example, atstep917, the financial institution computer system may update its records to associate the new card number with the mobile wallet account of the previous card number atstep917. Afterstep917, the financial institution may send an approval for the transaction request atstep919. In other embodiments, the mobile wallet client application on themobile device110 may prompt the user to activate the card prior to the user having received the physical card. In other embodiments, even after receiving the card the account holder may wish to activate the card via the mobile wallet application. Activating the card by the account holder, may update the financial institution settings to associate the new card number with the mobile wallet account number.
FIG.10 illustrates a payment process that may be implemented by the system inFIG.1 according to an example embodiment. Except as otherwise described below, the payment process ofFIG.10 is the same as the payment process ofFIG.2. Hence, the above discussion with respect toFIG.2 applies toFIG.10 as well, except as otherwise described below.
In the embodiment ofFIG.10, rather than providing the substitute card number to the mobile wallet computer system120 (as inFIG.2), the acquirerprocessor computer system145 provides the substitute card number to a cardnetwork computer system152. Hence, a tokenized card number may be generated and ultimately delivered to the acquirerprocessor computer system145 atsteps1001,1003,1005,1007 in the manner described above in connection withsteps201,203,205,207.
Next, at step1009, the acquirerprocessor computer system145 sends the tokenized card number to the cardnetwork computer system152. Next, atstep1011, the cardnetwork computer system152 sends the tokenized card number to the mobile walletbank computer system120. After receiving the request from the cardnetwork computer system152, the mobile walletbank computer system120 may determine the actual card number and send the actual card number back to the acquirer processor atstep1012. In one embodiment, the determination of the actual card number may occur by searching for the account information associated with the payment token and/or trace ID within the tokenized card number. Additionally, the trace ID from the tokenized card number may be sent with the actual card number atstep1012, similar to step211. Again, at this point, the issuer discretionary field is no longer needed for the payment token, hence, the trace ID may be sent to the acquirerprocessor computer system145 in the issuer discretionary field.
Atstep1013, the cardnetwork computer system152 sends the actual card number and the trace ID to the sourceaccount computer system130 for processing a payment. The source accountbank computer130 may retrieve the trace ID that was received from the mobile walletbank computer system120 by searching for the actual card number that was received from thepayment system150. The source accountbank computer130 may compare the trace ID that was received/stored atstep1003 with the trace ID that was received from thepayment system150 atstep1013. Assuming there is a match, the sourceaccount bank computer130 may issue an approval for the transaction. After verifying the actual card number and the trace ID in the issuer discretionary field, the source accountbank computer system130 may send an approval to thepayment system150 atstep1015.Steps1017,1019, and1021 may be performed in the same manner as discussed above in connection withsteps217,219, and221.
As discussed above in connection withFIG.2, the use of the payment token and trace ID as described herein allows for two levels of authentication. The payment token is generated by the mobile wallet computer system atstep1002. The payment token is then transmitted to themobile device110, then to themerchant computer system140, then to the acquirerprocessor computer system145, then to the cardnetwork computer system152, and eventually back to the mobilewallet computer system120 where it is matched with the original payment token generated atstep1002. Similarly, the Trace ID is also generated by the mobile wallet computer system atstep1002, and then transmitted to themobile device110, then to themerchant computer system140, then to the acquirerprocessor computer system145, then to the cardnetwork computer system152, and eventually back to the mobilewallet computer system120 where it is matched with the Trace ID generated atstep1002. In the case of the Trace ID, however, the Trace ID is then further transmitted back to thepayment system150, and then to the sourceaccount computer system130 where it is matched with the Trace ID generated atstep1002. Accordingly, the trace ID used in conjunction with the tokenized credit card number allows both the mobile walletbank computer system140 and the source accountbank computer system130 to authenticate the transaction. Using the trace ID in the above described manner may permit the source accountbank computer system130 and the mobile walletbank computer system120 to verify the trace ID at least twice prior to approving a transaction and transferring funds. Further, as previously discussed, the trace ID may be used by the sourceaccount computer system130 to determine whether the credit card transaction was a mobile wallet transaction (e.g., as opposed to an in-person card-present transaction involving use of the user's physical credit card, as opposed to an online transaction, and so on). In other embodiments, the mobilewallet computer system120 generates a tokenized card number, but does not embed a trace ID in the tokenized card number.
In some embodiments, instead of embedding the trace ID in a tokenized credit card account number atstep1002, the actual credit card number is transmitted to themobile device110 and themerchant computer system140. In such an embodiment, the trace ID may be included in the issuer discretionary field atstep1002, and the payment token may be communicated in another manner or another payment matching mechanism may be used. The trace ID may be stored in the issuer discretionary field and may travel though the payment processing system, until it is verified by the source accountbank computer system130. After being verified by the source accountbank computer system130, the transaction may be approved and the funds may be transferred from the source account bank computer system to the acquirerprocessor computer system145. In other embodiments, the same financial institution may own the source accountbank computer system130 and the mobile walletbank computer system120. Hence, as previously described in connection with the discussion ofFIG.2, the tokenized card account number and trace ID features may each be used alone or in combination with each other.
FIG.11 illustrates a payment process that may be implemented by the system inFIG.1 according to an example embodiment. Except as otherwise described below, the payment process ofFIG.11 is the same as the payment process ofFIG.2. Hence, the above discussion with respect toFIG.2 applies toFIG.11 as well, except as otherwise described below.
In the embodiment ofFIG.11, rather than providing the substitute card number to the acquirer processor computer system145 (as inFIG.2), themerchant computer system140 provides the substitute card number to the mobilewallet computer system120. Hence, a tokenized card number may be generated and ultimately delivered to themerchant computer system145 atsteps1101,1103,1105 in the manner described above in connection withsteps201,203,205.
Next, atstep1106, themerchant computer system140 sends the tokenized card number to the mobilewallet computer system120. After receiving the tokenized card number from themerchant computer system140, the mobile walletbank computer system120 may determine the actual card number and send the actual card number back to themerchant computer system140 atstep1107. In one embodiment, the determination of the actual card number may occur by searching for the account information associated with the payment token and/or trace ID within the tokenized card number. Additionally, the trace ID from the tokenized card number may be sent with the actual card number atstep1107, similar to step211. Again, at this point, the issuer discretionary field is no longer needed for the payment token, hence, the trace ID may be sent to the acquirerprocessor computer system145 in the issuer discretionary field.
Atstep1111, themerchant computer system140 sends the actual card number and the trace ID to the acquirerprocessor computer system145. At step1112, theacquirer processor system145 sends the actual card number and the trace ID to the cardnetwork computer system152. Atstep1113, the cardnetwork computer system152 sends the actual card number and the trace ID to the sourceaccount computer system130 for processing a payment. The source accountbank computer130 may retrieve the trace ID that was received from the mobile walletbank computer system120 by searching for the actual card number that was received from thepayment system150. The source accountbank computer130 may compare the trace ID that was received/stored atstep1103 with the trace ID that was received from thepayment system150 atstep1113. Assuming there is a match, the sourceaccount bank computer130 may issue an approval for the transaction. After verifying the actual card number and the trace ID in the issuer discretionary field, the source accountbank computer system130 may send an approval to thepayment system150 atstep1115.Steps1117,1119, and1121 may be performed in the same manner as discussed above in connection withsteps217,219, and221.
In the same manner as discussed above in connection withFIG.2, the use of the payment token and trace ID as described herein allows for two levels of authentication. Specifically, the payment token generated by the mobile wallet computer system atstep1102 is matched with the payment token received by the mobile wallet computer system atstep1107. Additionally, the Trace ID generated by the mobilewallet computer system120 atstep1002 is matched by the mobilewallet computer system120 with the Trace ID received atstep1107 and is also matched by the sourceaccount computer system130 with the Trace ID received atstep1113. Also, as previously described in connection with the discussion ofFIGS.2 and10, the tokenized card account number and trace ID features may each be used alone or in combination with each other.
Also shown inFIG.11 isstep1109. In some embodiments, atstep1109, themobile device110, the mobilewallet computer system120, and themerchant computer system140 interact to facilitate redemption of the merchant rewards points. Such an arrangement may allow the rewards information to be available at the point of sale (i.e., at the time and location of the transaction), such that the impact on the transaction of redeeming such rewards may be presented to the user at the point of sale and prior to when the purchase is made. For example, if the user has $25 in merchant rewards points, settlement of the rewards points may occur entirely at the point of sale (i.e., the $25 may be deducted from the transaction at the point of sale), rather than only appearing as a credit at a later point in time on an account statement. Additionally, the settlement may occur at the point of sale even though the user does not have a physical rewards card (e.g., gift card, prepaid card) to provide the merchant at the point of sale.
For example, in a scenario where the source account is held at the same entity that operates the mobilewallet computer system120, the mobilewallet computer system120 may have information about rewards that have been earned by the user. For example, the user may earn cash back rewards for use of a credit card that are calculated as a percentage of credit card transactions. The mobile wallet bank may then partner with merchants to provide rewards offers to the user. For example, the user may be provided with an offer to purchase a $25 virtual gift card at a local merchant for $22.50 in rewards points. The virtual gift card may be $25 in merchant rewards points that the user can access, e.g., through the mobile wallet, but wherein no physical gift card issued. If the user accepts such an offer, then the fact that the user has a $25 virtual gift card available to spend may be information that is stored in the mobilewallet computer system120. As another example, the user may earn rewards from the merchant as a percentage of purchases made at the merchant. Such rewards information may be communicated to the mobilewallet computer system120 by themerchant computer system120. For example, the $25 virtual gift card may be automatically presented to the user as a default source account when the user is at the merchant point of sale. As another example, if the source account is held at a different entity than the entity that operates the mobilewallet computer system120, then other mechanisms may be used to obtain such rewards information from the source account bank (e.g., bots, a secure exchange protocol established through collaboration of the two banks, etc.).
Subsequently, at the point of sale, the mobile walletbank computer system120 may determine whether the user has any rewards available for the merchant with whom the transaction is being conducted. Alternatively, if the user does not have any rewards with the merchant, the mobilewallet computer system120 may initiate a direct communication with themobile device110 to inquire whether the user would like to purchase any rewards points at the point of sale. Hence, the user may be provided with the opportunity to purchase merchant rewards points while at the merchant point of sale, and then immediately use those rewards points while the user is still at the merchant point of sale.
Assuming the user has rewards points that may be used with themobile device110, the mobilewallet computer system120 and themerchant computer system140 may then interact to facilitate redemption of the merchant rewards points. This interaction is shown generally at1109. As will be appreciated, the particular manner in which themobile device110, the mobilewallet computer system120 and themerchant computer system140 interact in this regard may vary according to various embodiments. As will also be appreciated, and as with the other steps shown in the figures, the timing and sequencing ofstep1109 relative to the other steps may vary according various embodiments.
For example, in some embodiments,step1109 is performed afterstep1107. For example, the tokenized card number may initially be submitted to the mobilewallet computer system120 after the Pay Now button433 (FIG.4C) is selected by the user. After the mobilewallet computer system120 determines that there are available rewards, and communicates this information to themerchant computer system140, themerchant computer system140 may then interact with themobile device110. For example, themerchant computer system140 may prompt the user via a screen display with a statement such as the following: “You have $25 in merchant rewards available to use for your purchase? Would you like to redeem your rewards now?” Assuming the user answers affirmatively, then themerchant computer system140 may apply the $25 merchant rewards points to the transaction, and submit the updated transaction (having a reduced transaction amount) to the acquirerprocessor computer system145. As another example, the user may select via a display screen on themobile device110 to have only a portion (e.g. $10) of the available rewards applied to the transaction. As another example, the mobilewallet computer system120 may provide the prompt to the user. Upon the user answering affirmatively, the mobilewallet computer system120 may provide information about the rewards points redemption to the merchant computer system140 (e.g., the fact that the user has merchant rewards points and the amount of the points). As another example, the rewards information may be communicated from themobile device110 to themerchant computer system140, and then validated later by themerchant computer system140 and/or the mobilewallet computer system120.
As another example, in some embodiments,step1109 may be performed beforestep1105. For example, atstep1101, when themobile device110 requests access to funds in the mobile wallet via the mobile walletbank computer system120, themobile device110 may also provide the mobilewallet computer system120 with the geolocation of the user. Based on the geolocation, the mobilewallet computer system120 may identify the merchant with whom the user is attempting to conduct a transaction. The mobilewallet computer system120 may then determine whether merchant rewards points are available and prompt to the user whether the user wishes to utilize the merchant rewards points. Then, atstep1105, in addition to communicating the tokenized card number, themobile device110 may also communicate information about the dollar value of the merchant rewards points to be redeemed. In some embodiments, the user is not prompted regarding whether the user wishes to utilize the merchant rewards points, rather, the merchant rewards points are redeemed automatically without additional user input.
When the transaction is complete, the user may be provided with information regarding the redemption of the rewards points. For example, a screen display may be generated that shows a first total transaction amount before the merchant rewards are applied and a second total transaction amount after the merchant rewards are applied. Themerchant computer system140 may also generate a receipt for the transaction and transmit the receipt to themobile device110 for display to the user. The receipt may show application of the rewards to the transaction.
For example, if the original transaction amount was $75.45, and the user had $25 in rewards, the receipt will reflect a transaction amount of $50.45 and not 75.45, even though no physical rewards card is presented to the merchant. Additionally, the transaction amount submitted to the cardnetwork computer system152 is $50.45 and not $75.45 (rather than $75.45 being submitted and final settlement of the rewards points occurring at a later point in time). Additionally, on the user's account statement, the user will see only a debit for $50.45 on the date of the purchase, rather than a debit of $75.45 on the date of the purchase followed by a credit of $25 at a later date.
In one embodiment, themerchant computer system140 comprises a smart point of sale device (e.g., Clover, Square, Revel Systems, Poynt, etc.). Such a device may be built on an Android-based or other platform and may provide third-party software developers (such as banks) with the ability to provide custom applications available to merchants through an “app store”). Such a device may be connected to the internet and may be configured to permit over-the-air updates performed, such that new functionality can be downloaded on a regular basis. In other embodiments, other POS computer system platforms may be utilized.
In the embodiment ofFIG.11, themerchant computer system140 sends the tokenized card number to the mobilewallet computer system120 atstep1106. As will be appreciated, in other embodiments, themerchant computer system140 may interact with the mobilewallet computer system140 and themobile device110 as described above inFIG.11 in connection with rewards information, but the tokenized card number may be sent to the mobile wallet computer system by the acquirer processor computer system145 (as described in connection withFIG.2) or by the card network computer system152 (as described in connection withFIG.10).
The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions. Software implementations could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular implementations. Certain features described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated in a single software product or packaged into multiple software products embodied on tangible media.
Thus, particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
The claims should not be read as limited to the described order or elements unless stated to that effect. It should be understood that various changes in form and detail may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims. All implementations that come within the spirit and scope of the following claims and equivalents thereto are claimed.