In November 2013, MasterCard International Incorporated (the assignee hereof), Visa and American Express jointly published guidelines entitled “Payment Token Interoperability Standard” (hereinafter referred to as the “Tokenization Standard”). The Tokenization Standard referred to a concept called “tokenization,” in which surrogate values (“tokens”) replace primary account numbers (PANs) of payment cards (such as credit or debit cards) during part of the operation of payment systems. One reason for using tokens in place of PANs is to combat potentially fraudulent activities.
In a typical tokenization transaction, the PAN associated with a consumer's payment card is converted into a token by a token service provider (e.g., the PAN is “tokenized”). Then, the consumer can cause the token to conduct transactions rather than using the PAN.
Features and advantages of some embodiments of the present disclosure, and the manner in which the same are accomplished, will become more readily apparent upon consideration of the following detailed description of the disclosure taken in conjunction with the accompanying drawings, which illustrate preferred and exemplary embodiments and which are not necessarily drawn to scale, wherein:
In general, and for the purpose of introducing concepts of the present disclosure, merchants, social networks, and other platforms may operate to generate tokens associated with tokenized payment credentials. For example, pursuant to some embodiments, a consumer may interact with a platform to provide a payment credential to the platform. The platform is operated to obtain a first tokenized representation of the payment credential. Then, for each transaction (or for groups of transactions), the platform is operated to obtain one or more further tokenized representations of the first tokenized representation of the payment credential. As will be described further herein, the use of such further tokenized representations provide a number of benefits to the consumer and to the platform.
For convenience and ease of exposition, the following terms will be used. The term “PAN” or “payment credential” will be generally used to refer to a payment account number or identifier issued by a financial institution to a user (such as a “consumer”). The term “consumer” is used herein to refer to a holder of a PAN or payment credential, and may refer to an individual or an entity such as a business. The term “primary token” refers to a payment token that is associated with a PAN or payment credential and that can directly be used by a token service provider to identify the PAN or payment credential. The term “sub-token” or “secondary token” refers to a token associated with a primary token (where the sub-token is generated from the primary token). The term “tertiary token” refers to a token associated with a sub-token or secondary token (or another tertiary token).
Pursuant to some embodiments, a sub-token (or tertiary token) may be created with one or more authorization parameter(s). For example, a sub-token may be generated with an authorization parameter allowing the sub-token to be used in a specific transaction or type of transaction. As a specific illustrative, but not limiting example, the sub-token may be generated for use in a transaction at a specific merchant and/or with a specific dollar amount (e.g., the transaction may only be authorized if the sub-token is used at a Target® store for a transaction under $100).
Pursuant to some embodiments, the consumer may be associated with an account associated with the platform. As an illustrative, but not limiting example, a consumer may have an account on a social network platform. The account may uniquely identify the consumer to the social network platform. In some embodiments, the consumer may establish a token associated with a PAN or payment credential for use in transactions facilitated by or through the platform. Further, pursuant to some embodiments, the consumer may interact with the platform to establish one or more sub-tokens (and/or tertiary tokens) of the payment credential for use with specific transactions or groups of transactions. As an illustrative, but not limiting example, a consumer may establish a sub-token of a payment credential for use in a specific transaction that the consumer wishes to track or control separately. These and further embodiments will be described further herein.
In addition to representing the token service provider, block 104 should also be understood to represent one or more computer systems operated by the token service provider. In some embodiments, the token service provider 104 may further be configured to implement functionality of the MasterCard Digital Enablement Service (“MDES”), a service of MasterCard International Incorporated, the assignee hereof. Those skilled in the art will appreciate that the token service provider 104 may be configured to operate to tokenize payment card information according to other standards or using other infrastructure, so long as the tokens are usable in payment transactions as described herein.
Block 112 in
Block 114 in
While only individual blocks are shown in
At this point the term “indicator number” will be introduced. This term should be understood to include both PANs and tokens.
By way of background, a conventional payment system will first be briefly described.
The system 150 includes a conventional payment card/device 152. As is familiar to those who are skilled in the art, the payment card/device 152 may be a magnetic stripe card, an IC (integrated circuit) card, a fob, a payment-enabled smartphone, etc.
The system 150 further includes a reader component 154 associated with a POS terminal 156. In some known manner (depending on the type of the payment card/device 152) the reader component 154 is capable of reading the payment card account number and other information from the payment card/device 152.
The reader component 154 and the POS terminal 156 may be located at the premises of a retail store and operated by a sales associate of the retailer for the purpose of processing retail transactions. The payment card/device 152 is shown in
A computer 158 operated by an acquirer (acquiring financial institution) is also shown as part of the system 150 in
One well known example of a payment network is referred to as the “Banknet” system, and is operated by MasterCard International Incorporated, which is the assignee hereof.
The payment card issuer server computer 162 may be operated by or on behalf of a financial institution (“FI”) that issues payment card accounts to individual users. For example, the payment card issuer server computer 162 may perform such functions as (a) receiving and responding to requests for authorization of payment card account transactions to be charged to payment card accounts issued by the FI; and (b) tracking and storing transactions and maintaining account records.
The components of the system 150 as depicted in
As will be evident to those who are skilled in the art, the above description of conventional payment system practices is oriented toward transactions that occur in-store, i.e., in person. It is also well known that many payment card transactions in conventional payment systems are performed in e-commerce environments. That is, holders of payment account cards frequently use them for online shopping. In doing so, they access a retailer's e-commerce website (often called an “online store”), select one or more items for purchase, opt for a “check out” phase of the process, and (in some cases) enter their payment card account number and other information to permit the retailer's e-commerce host computer to generate a payment system authorization request. The payment system authorization request generated by the e-commerce host computer may be similar to the authorization request referred to above in connection with the POS terminal 156 of
The discussion will now turn to tokenization and to a description of how teachings of the present disclosure may be applied in connection with a payment system in which tokenization is employed.
The token service provider computer 104 may be conventional in its hardware aspects but may be controlled by software to cause it to function as described herein. For example, the token service provider computer 104 may be constituted by conventional server computer hardware. In some embodiments, functionality disclosed herein may be distributed among two or more computers having hardware architecture similar to that described below.
The token service provider computer 104 may include a computer processor 200 operatively coupled to a communication device 201, a storage device 204, an input device 206 and an output device 208.
The computer processor 200 may be constituted by one or more conventional processors. Processor 200 operates to execute processor-executable steps, contained in program instructions described below, so as to control the token service provider computer 104 to provide desired functionality.
Communication device 201 may be used to facilitate communication with, for example, other devices (such as other components of the payment system 100 shown in
Input device 206 may comprise one or more of any type of peripheral device typically used to input data into a computer. For example, the input device 206 may include a keyboard and a mouse. Output device 208 may comprise, for example, a display and/or a printer.
Storage device 204 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., magnetic tape and hard disk drives), optical storage devices such as CDs and/or DVDs, and/or semiconductor memory devices such as Random Access Memory (RAM) devices and Read Only Memory (ROM) devices, as well as so-called flash memory. Any one or more of such information storage devices may be considered to be a computer-readable storage medium or a computer usable medium or a memory.
Storage device 204 stores one or more programs for controlling processor 200. The programs comprise program instructions (which may be referred to as computer readable program code means) that contain processor-executable process steps of the token service provider computer 104, executed by the processor 200 to cause the token service provider computer 104 to function as described herein.
The programs may include one or more conventional operating systems (not shown) that control the processor 200 so as to manage and coordinate activities and sharing of resources in the token service provider computer 104, and to serve as a host for application programs (described below) that run on the token service provider computer 104.
The programs stored in the storage device 204 may also include an indicator number generation program 210 that controls the processor 200 to enable the token service provider computer 104 to generate either or both of tokens and PANs. Details of the functionality provided by the indicator number generation program 210 will be discussed below in conjunction with
Another program that may be stored in the storage device 204 is an application program or program module 212 that controls the processor 200 to enable the token service provider computer 104 to generate a mapping of tokens relative to the PANs that they represent. This program 212 will hereafter be referred to as the token map generation application program; functionality thereof will be described below in conjunction with
Still further, the storage device 204 may also store an application program 214 that controls the processor 200 to enable the token service provider computer 104 to handle requests that it receives (e.g., from acquirers) in connection with current payment card account transactions. In addition, the storage device 204 may store a program or program module 216, which, as described below, controls the processor 200 to enable the token service provider computer 104 to examine indicator numbers received in authorization requests to determine whether the indicator numbers are PANs or tokens. Details of the functionality provided by program/program module 216 are described below in connection with
Moreover, the storage device 204 may further store a program/program module 218 that enables the token service provider computer 104 to perform de-tokenization with respect to tokens that it receives for that purpose. The de-tokenization enabled by program/program module 218 may in general be consistent with the proposals contained in the above-referenced Tokenization Standard (noting however that the token format proposed in this disclosure is different from that proposed in the Tokenization standard). As is known to those who are skilled in the art, “de-tokenization” refers to substituting a PAN for a token that represented the PAN.
The storage device 204 may also store, and the token service provider computer 104 may also execute, other programs, which are not shown. For example, such programs may include a reporting application, which may respond to requests from system administrators for reports on the activities performed by the token service provider computer 104. The other programs may also include, e.g., communication software, database management software, device drivers, etc.
The storage device 204 may also store one or more databases 220 required for operation of the token service provider computer 104. Those databases 220 may, for example, include the token vault 110 shown in
In some embodiments, at least some of the functionality ascribed below to the token service provider computer 104 may alternatively be performed by another computer or computers in the payment system 100 of
Continuing to refer to
At block 304, PANs are generated using a BIN received at 302. In some embodiments, the token service provider computer 104 may generate the PANs on behalf of the issuer 112 and at the issuer's request. In other embodiments, the issuer 112 itself may issue the PANs. In any case, each of the PANs generated at 304 is required to consist of a standard number of digits, say 16 digits in accordance with widespread practices. Thus, in such a case, each PAN is formed from the six-digit BIN in question plus ten more digits. The PANs in question may be generated in accordance with conventional practices. As is customary, for example, one digit, such as the last (sixteenth) digit, may be a check digit.
At block 306, tokens are generated using the same BIN that was used at 304 to generate PANs. In accordance with aspects of the present disclosure, the tokens generated at 306 are required to consist of a standard number of digits that is different from the number of digits prescribed for the PANs. In some embodiments, for example, each token generated at 306 is required to contain exactly 19 digits. Thus, in some embodiments, each token may be formed of a six-digit BIN plus 13 more digits. Such a length in digits is accommodated by the relevant ISO standard, in which the relevant data field will accommodate up to 19 digits.
The tokens may be formed in accordance with any process that is convenient. For example, sequential numbers may be used. In some embodiments, random number generation may be employed. In still other embodiments, an encryption process may be employed to cause the token to reflect its corresponding PAN in encrypted form. Typically, unless encryption is employed (and except for sharing the BIN), the specific digit values making up a token would not indicate the corresponding digits of the PAN which it replaces. In some embodiments, the nineteenth digit may be generated to serve as a check digit in the same fashion as is conventionally used with the sixteenth digit in a PAN.
In some embodiments, it may be desirable to select the sixteenth digit of the token to have a value such that it would not satisfy the check digit requirements for the sixteenth digit of a PAN. This may be desirable as a precaution against transmission errors or the like that could truncate the token to 16 digits. In such a case, the selection of the sixteenth digit of the token so as not to satisfy the PAN check digit requirement would forestall the potential for mistaking a truncated token for a valid PAN. This same logic could apply for any location of the check digit within the PAN, ensuring that the equivalent location on the token does not satisfy the check digit requirements of a PAN.
In the example embodiment described above, all PANs are constrained to have exactly 16 digits and all tokens are constrained to have exactly 19 digits. However, numerous other sets of prescribed lengths for indicator numbers are possible, provided that the number of digits specified for tokens is different from the number of digits specified for PANs. The number of digits specified for tokens is preferably larger than the number of digits specified for PANs, but this need not necessarily be the case; i.e., the number of digits specified for tokens may be smaller than the number of digits specified for PANs. In embodiments where the PAN length exceeds the token length, a precaution could be taken to ensure that the token does not satisfy a valid PAN check digit if trailing zeros are inadvertently appended to reflect a valid PAN length. In some embodiments, the prescribed length for PANs and the (different) prescribed length for tokens may vary from BIN to BIN.
At 308 in
Although only three PANs are explicitly shown in token vault 110 in
Referring again to
Continuing to refer to
Block 402 in
It will be assumed that the authorization request contains an indicator number as the appropriate data element in the authorization request. What is not yet known to the token service provider computer 104 is whether the indicator number is a PAN or a token. To make that determination, decision block 404 follows block 402. At decision block 404, the token service provider computer 104 detects the length of the indicator number. That is, in the example embodiment assumed above, the token service provider computer 104 determines whether the indicator number consists of 16 digits or 19 digits. This may be done, for example, by examining the seventeenth through nineteenth digit locations in the relevant data element to determine whether those digit positions are filled with null/space characters (i.e., nonzero null characters). If so, then the length of the indicator number is sixteen digits, and the indicator number is determined to be a PAN. Otherwise, the indicator number is determined to be a token containing 19 digits.
In some embodiments, the authorization request may contain a length indicator field for the indicator number data element, such that the length indicator field will contain the value “16” if the indicator number is a PAN, or the value “19” if the indicator number is a token. In such embodiments, the token service provider computer 104 may make the determination at block 404 based on the value of the length indicator field, and so would not need to examine the last three digit locations in the indicator number data element.
In the case where the indicator number is determined to be a PAN, the process of
In the case where the indicator number is determined to be a token, it is necessary for the token service provider computer 104 to translate the token to the PAN which it represents. (That is, de-tokenization must occur.) Accordingly, in this case, the process of
Following blocks 408 and 410 (if this branch of the process is taken) is block 412. At block 412, the token service provider computer 104 inserts into the authorization request the PAN looked up at block 408 in place of the token that was in the authorization request as received by the token service provider computer 104. With the looked-up PAN inserted into the authorization request, the authorization request may now be routed to the issuer 112. The authorization request can then be processed by the issuer 112 based on the PAN as looked up by the token service provider computer 104 and inserted into the authorization request at 412.
One advantage of the payment system 100, as illustrated in
In one application of the above concepts, with numerous tokens available for a BIN range also shared with PANs, it may be desirable to personalize all the payment cards for a family for different tokens (each unique to a respective physical card) tied to the same PAN, and with the PAN not indicated on or stored in any one of the physical cards. In such an application, if one of the family members loses his/her card, then the card can be reissued with a new token tied to the PAN, which can remain unchanged. This may reduce administrative costs incurred when payment cards are lost.
In the embodiments as described above, the determination of whether an indicator number is a PAN or a token may be made by the token service provider. However, in an alternative embodiment, as illustrated in
As was the case with the discussion of
At block 502 in
In some embodiments, the authorization request may contain a length indicator field for the indicator number data element, such that the length indicator field will contain the value “16” if the indicator number is a PAN, or the value “19” if the indicator number is a token. In such embodiments, the acquirer computer 116 may make the determination at block 504 based on the value of the length indicator field, and so would not need to examine the last three digit locations in the indicator number data element.
In the case where the indicator number is determined to be a PAN, the process of
In the case where the indicator number is determined to be a token, then the process of
In some embodiments, during the processing of block 508, the acquirer computer 116 may insert a flag in the authorization request to signal to the token service provider computer 104 that the indicator number in the authorization request has already been determined to be a token rather than a PAN.
With a process as shown in
As was noted above, the fixed length of the PANs and the (different) fixed length of the tokens may vary from BIN to BIN. Accordingly, the processes described above for determining whether an indicator number is a PAN or token may include accessing a data record corresponding to the BIN of the indicator number, and determining from the data record what the specified lengths are, for that BIN, of the PANs and tokens that share the BIN in question.
As used herein and in the appended claims, the term “BIN” should be understood to include IINs as well as BINs.
As used herein and in the appended claims, the term “computer” should be understood to encompass a single computer or two or more computers in communication with each other. The computer may be a mobile device such as the mobile device 600 of
As used herein and in the appended claims, the term “processor” should be understood to encompass a single processor or two or more processors in communication with each other.
As used herein and in the appended claims, the term “memory” should be understood to encompass a single memory or storage device or two or more memories or storage devices.
The flow charts and descriptions thereof herein should not be understood to prescribe a fixed order of performing the method steps described therein. Rather the method steps may be performed in any order that is practicable.
The term “payment card network” or “payment network” is used to refer to a payment network or payment system such as the systems operated by MasterCard International Incorporated (which is the assignee hereof), or other networks that process payment transactions on behalf of a number of merchants, issuers and cardholders.
As used herein and in the appended claims, the term “payment card system account” includes a credit card account, a deposit account that the account holder may access using a debit card, a prepaid card account, or any other type of account from which payment transactions may be consummated. The terms “payment card system account” and “payment card account” are used interchangeably herein. The term “payment card account number” includes a number that identifies a payment card system account or a number carried by a payment card, or a number that is used to route a transaction in a payment system that handles debit card and/or credit card transactions. The term “payment card” includes a credit card, debit card, prepaid card, or other type of payment instrument, whether an actual physical card or virtual.
Although the present disclosure has been described in connection with specific exemplary embodiments, it should be understood that various changes, substitutions, and alterations apparent to those skilled in the art can be made to the disclosed embodiments without departing from the spirit and scope of the disclosure as set forth in the appended claims.