The system 100 includes a customer device 102 by which a user 103 accesses an e-commerce server 104 via the internet 105. The customer device 102 may be any type of computing device usable to allow access to the internet, and runs a browser program (not separately shown) to enable interaction between the customer device 102 and the various resources available via the internet. The customer device 102 may be, for example, a personal computer, a laptop computer, a tablet computer or a mobile-browser-equipped smartphone or other mobile device. The e-commerce server 104 is typically a server computer operated by or on behalf of a merchant to host an online store/shopping website and to allow virtual visits to the website from customer devices. The e-commerce server 104 also operates to handle online-shopping transactions, typically funded by a payment system account owned by the user 103. In an online shopping transaction, the user 103 operates the customer device 102 to select one or more items for purchase, then elects to enter a checkout phase of the transaction, in which information that identifies the user's payment system account is provided to or accessed by the e-commerce server 104.
A computer 108 operated by an acquirer (acquiring financial institution) is also shown as part of the system 100 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 account issuer server computer 112 may be operated by or on behalf of a financial institution (“FI”) that issues payment accounts to individual users and/or other entities. For example, the payment account issuer server computer 112 may perform such functions as (a) receiving and responding to requests for authorization of payment account transactions to be charged to payment accounts issued by the FI; and (b) tracking and storing transactions and maintaining account records.
The components of the system 100 as depicted in
As is well known to those who are skilled in the art, a typical payment system like that shown in
Considering again the context of an online shopping transaction, in U.S. patent application Ser. No. 15/231,978 (which is commonly assigned herewith and which has common inventors herewith), there was disclosed a technique for executing an e-commerce transaction in which—in lieu of the purchaser providing a payment account number to the e-commerce server—the purchaser provides such information to a payment processing server via a payment information capturing module co-displayed with the merchant's checkout page display. The payment processing server then provides a token to the merchant for inclusion in the transaction authorization request message. The token is subsequently translated into a suitable token or payment account number for further routing in the payment system. The disclosure of the said '978 patent application is incorporated herein by reference.
The present inventors have now recognized an opportunity to apply payment information capture and tokenization to facilitate a card-on-file arrangement in which the merchant does not store highly sensitive payment account information.
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 embodiments of the present disclosure, a payment account holder may enroll with a payment processor to obtain a token that may be used later to obtain another token or account identifier that more directly represents the account holder's payment system account. The former token may be referred to as a “temporary token”. The latter token or account identifier (which may be a DPAN (digital primary account number) or PAN (primary account number)) may be referred to as a “permanent” token, notwithstanding that it may be subject to change/replacement from time to time. The account holder may provide the temporary token to the merchant e-commerce system during an online shopping transaction in lieu of a payment account number. The merchant may communicate with the payment processor via a secure communication channel to use the temporary token to request the permanent token. The payment processor may provide the permanent token to the merchant. The merchant may then insert the permanent token in a transaction authorization request message to be routed in connection with the current online shopping transaction. If necessary, the permanent token may be translated in the payment system to fully identify the account holder's payment account for routing the transaction authorization request message to the issuer of the account holder's payment account. In some embodiments, it may be a requirement that a cryptogram be presented along with the permanent token to support a portion of the transaction in which funds are pulled from a payment system account. In some embodiments, the cryptogram and the token are stored on different servers to enhance security and reduce risks that could arise in the case of a data breach.
With an arrangement of this kind, the need for the merchant to hold sensitive account identification information may be reduced. This may improve security as to sensitive information, and may allow the merchant to be relieved from most or all of the expense and effort entailed by PCI (Payment Card Industry) data security compliance.
More specifically,
As illustrated in the flow chart shown in
The payment system 200, as illustrated in
The merchant's bank 304 is also shown in
The communication channel 306 between the e-commerce server computer 302 and the payment processor computer 206 may be completely different from the channel by which the mobile device 204 and the e-commerce server computer 302 interact.
As was the case with the system as depicted in
The customer device 204 may include a housing 403. (In cases where the customer device 204 is a desktop computer, the housing 403 should be understood to represent several housings including the “tower” housing, the keyboard housing, etc.)
The customer device 204 further includes a processor/control circuit 406, which is contained within the housing 403. Also included in the customer device 204 is a storage/memory device or devices (reference numeral 408). The storage/memory devices 408 are in communication with the processor/control circuit 406 and may contain program instructions to control the processor/control circuit 406 to manage and perform various functions of the customer device 204. Programs/applications (or “apps”) that are stored in the storage/memory devices 408 are represented at block 410 in
Physical and/or software aspects of the device user interface, including input/output (I/O) devices, are represented at block 413 in
As is typical for computing devices, the customer device 204 may include communications components as represented by block 414 (
From the foregoing discussion, it will be appreciated that the blocks depicted in
Referring now to
The e-commerce server computer 302 may include a computer processor 500 operatively coupled to a communication device 501, a storage device 504, an input device 506 and an output device 508. The communications device 501, the storage device 504, the input device 506 and the output device 508 may all be in communication with the processor 500.
The computer processor 500 may be constituted by one or more conventional processors. Processor 500 operates to execute processor-executable steps, contained in program instructions described below, so as to control the e-commerce server computer 302 to provide desired functionality.
Communication device 501 may be used to facilitate communication with, for example, other devices (such as customer devices and the payment processor computer 206 (
Input device 506 may comprise one or more of any type of peripheral device typically used to input data into a computer. For example, the input device 506 may include a keyboard and a mouse. Output device 508 may comprise, for example, a display and/or a printer.
Storage device 504 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., 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 504 stores one or more programs for controlling processor 500. The programs comprise program instructions (which may be referred to as computer readable program code means) that contain processor-executable process steps of the e-commerce server computer 302, executed by the processor 500 to cause the e-commerce server computer 302 to function as described herein.
The programs may include one or more conventional operating systems (not shown) that control the processor 500 so as to manage and coordinate activities and sharing of resources in the e-commerce server computer 302, and to serve as a host for application programs (described below) that run on the e-commerce server computer 302.
The programs stored in the storage device 504 may also include an online store hosting application program 510 that programs the processor 500 to enable the e-commerce server computer 302 to host a webpage or pages required to present via the interne an online store for access by prospective customers.
The storage device 504 may also store a transaction handling application program 512. The transaction handling application program 512 may overlap with the application program 510 and may program the processor 500 to enable the e-commerce server computer 302 to handle numerous online shopping/e-commerce transactions initiated by visitors to the online store sponsored by the merchant that operates the e-commerce server computer 302.
Still further, the storage device 504 may store a software interface 514 that may facilitate communications between the e-commerce server computer 302 and the payment processor computer 206.
The storage device 504 may also store, and the e-commerce server computer 302 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 e-commerce server computer 302. The other programs may also include, e.g., database management software, one or more data communication programs, device drivers, etc.
The storage device 504 may also store one or more databases 516 required for operation of the e-commerce server computer 302.
Processor 600 operates to execute processor-executable steps, contained in program instructions described below, so as to control the payment processor computer 206 to provide desired functionality.
Storage device 604 stores one or more programs for controlling processor 600. The programs comprise program instructions (which may be referred to as computer readable program code means) that contain processor-executable process steps of the payment processor computer 206, executed by the processor 600 to cause the payment processor computer 206 to function as described herein.
The programs may include one or more conventional operating systems (not shown) that control the processor 600 so as to manage and coordinate activities and sharing of resources in the payment processor computer 206, and to serve as a host for application programs (described below) that run on the payment processor computer 206.
The programs stored in the storage device 604 may also include a user enrollment application program 610. The user enrollment application program 610 may program the processor 600 to control the payment processor computer 206 such that the payment processor computer 206 operates to permit individual payment card account holders to register as users of the “card on file” functionality of the payment processor computer 206. Details of such functionality are described herein.
The storage device 604 may further store a token translation and/or generation software module 612. The software module 612 may program the processor 600 such that the payment processor computer 206 is enabled to look up and/or generate required token values in response to requests for tokens and/or to translate tokens into account indicators such as payment account numbers.
The programs stored in the storage device 604 may also include a software interface 614 for facilitating data communications between the payment processor computer 206 and a considerable number of merchant computers (of which the e-commerce server computer 302 is one example).
The storage device 604 may also store a transaction handling application program 616. The transaction handling application program 616 may program the processor 600 to enable the payment processor computer 206 to handle numerous payment account system transactions and/or requests for the same containing tokens as described below.
The storage device 604 may also store, and the payment processor computer 206 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 payment processor computer 206. The other programs may also include, e.g., database management software, one or more data communication programs, device drivers, etc.
The storage device 604 may also store one or more databases 618 required for operation of the payment processor computer 206.
At 702 in
At 704, the user 202 communicates to the e-commerce server computer 302, via the browser 412, the temporary token obtained by the user 202 during registration with the payment processor computer 206, it being understood that the temporary token in question represents (indirectly) the payment account belonging to the user that the user wishes to employ to settle the current online shopping transaction.
At 706, the e-commerce server computer 302 receives the temporary token transmitted at 704 from the browser to the e-commerce server computer 302.
At 708, the e-commerce server computer 302 transmits—to the payment processor computer 206—a request for a payment account token to be included in a forthcoming transaction authorization request message from the e-commerce server computer 302 for the current online purchase transaction. It may be assumed that the communication channel between the e-commerce server computer 302 and the payment processor computer 206 is strongly secured from interception. For example, the communication channel may consist of dedicated communication assets protected from interception or may otherwise be secured well-beyond whatever security is typical in internet communications. It is also to be understood that the request for a payment account token transmitted at 708 by the e-commerce server computer 302 includes the temporary token received at 706. In some embodiments, communications between the e-commerce server computer 302 and the payment processor computer 206 may be via a suitable API (application programming interface).
At 710, the payment processor computer 206 receives the request for a payment account token.
At 712, the payment processor computer 206 looks up or generates a “permanent” token—i.e., a token that is usable in a transaction authorization request message. In some embodiments, the payment processor computer 206 uses the temporary token received at 710 to look up a previously assigned token that represents the user's payment account. (In some situations, the permanent token may be the PAN (primary account number) for the user's account or a so-called “DPAN”—i.e., a digital PAN.) In some embodiments, the generated or looked up token may be dedicated to use only for online purchase transactions from the merchant that operates the e-commerce server computer 302. The payment processor computer 206 may store (or have previously stored) the token in association with the user's payment account, which the payment processor computer 206 may have determined based on the temporary token that it received. (In cases where the token is a DPAN, there may be a requirement that a cryptogram, as discussed below, be presented through the payment system with the DPAN to support pulling funds from the corresponding payment system account.)
At 714, the payment processor computer 206 may transmit the permanent token to the e-commerce server computer 302. It again may be the case that the highly secure communication channel described above may be used for this transmission. Block 714 may also be taken to represent the e-commerce server computer 302 receiving the permanent token.
In some embodiments and/or in some situations, it may be desirable or required for additional security that the e-commerce server computer 302 submit a cryptogram as part of the transaction authorization request message for the online purchase transaction. Accordingly, at 716, the e-commerce server computer 302 may transmit a request for a cryptogram to the payment processor computer 206. This request may include the permanent token received by the e-commerce server computer 302 from the payment processor computer 206.
At 718, the payment processor computer 206 receives the request for a cryptogram.
At 720, the payment processor computer 206 may generate the cryptogram.
The permanent token as provided by the e-commerce server computer 302 may be one of the inputs to the calculation by which the payment processor computer 206 generates the cryptogram. In some embodiments, the cryptogram may be generated in accordance with practices of the DSRP (Digital Secure Remote Payments) service offering provided by Mastercard International Incorporated.
At 722, the payment processor computer 206 transmits the cryptogram to the e-commerce server computer 302.
At 724, the e-commerce server computer 302 receives the cryptogram from the payment processor computer 206.
At 726, the e-commerce server computer 302 generates and transmits—to the payment processor computer 206—a payment account system transaction authorization request message. This message may resemble the authorization request referred to above in connection with
With use of the temporary and permanent tokens as described herein, the merchant (via the e-commerce server computer 302) may have little or no reason or opportunity to have highly sensitive payment account information in its possession at any time, or may only have such information for a limited time. This may minimize or eliminate the risk that such information could be compromised via a breach of the merchant's data systems. Consequently, it may be feasible and/or permissible to relieve the merchant from most or all requirements for PCI data security. This may produce a significant savings for the merchant in terms of expense and effort related to data security.
It should be understood that in some embodiments of the process of
As is well-known to those who are skilled in the art, payment account systems may be utilized for so-called “P2P” (person to person) remittance transactions as well as for payments by customers to merchants. One example of a payment-account-system-based remittance system is described in U.S. Pat. No. 8,396,793, which is commonly assigned with this disclosure. Principles of the present disclosure are applicable to such a remittance system, as will now be described with reference to
Referring initially to
A user 202 and his/her customer device 204 are again shown in
In contradistinction to a payment account transaction for a purchase from a merchant, a P2P payment account transaction may involve two payment accounts—i.e., the sender's account and the recipient's account—rather than one. Accordingly, it will be assumed for the ensuing discussion that prior to initiating the P2P transaction, the sender (user 202) has possession (e.g., in his/her browser 412) of two temporary tokens, of which the first represents (indirectly) the sender's payment account and the second represents (indirectly) the recipient's payment account.
At 902 in
At 904, the user 202 communicates to the payment services provider 806, via the mobile device 204, the two temporary tokens that respectively represent (indirectly) the user's payment account and the recipient's payment account
At 906, the payment services provider 806 receives the temporary tokens transmitted at 904 from the mobile device 204 to the payment services provider 806.
At 908, the payment services provider 806 transmits—to the payment processor computer 206—a request for the payment account tokens to be included in a forthcoming remittance request. In line with the above discussion in connection with block 708 in
At 910, the payment processor computer 206 receives the request for payment account tokens.
At 912, the payment processor computer 206 looks up or generates a “permanent” token—i.e., a token that is usable in a remittance request message—for each of the sender's payment account and/or the recipient's payment account. In some embodiments, the payment processor computer 206 uses the temporary tokens received at 910 to look up one or more previously assigned tokens that represents the payment accounts to be involved in the remittance. (In some situations, the permanent token(s) may be the PAN (primary account number) or PANs for the sender/recipient payment account or a so-called “DPAN”—i.e., a digitized PAN.) In some embodiments, the generated or looked up token(s) may be dedicated to use only for remittance requests from the payment services provider 806. The payment processor computer 206 may store (or have previously stored) the tokens respectively in association with the sender/recipient payment accounts, which the payment processor computer 206 may have determined based on the temporary tokens that it received.
(In situations where a permanent token had previously been obtained, the steps of this process relating to obtaining the permanent token may be omitted.)
At 914, the payment processor computer 206 may transmit the permanent tokens to the payment services provider 806. It again may be the case that the highly secure communication channel described above may be used for this transmission. Block 914 may also be taken to represent the payment services provider 806 receiving the permanent token.
As was the case with the process of
At 918, the payment processor computer 206 receives the request for a cryptogram.
At 920, the payment processor computer 206 may generate the cryptogram.
The permanent tokens as provided by the payment services provider 806 may be included in the inputs to the calculation by which the payment processor computer 206 generates the cryptogram.
At 922, the payment processor computer 206 transmits the cryptogram to the payment services provider 806.
At 924, the payment services provider 806 receives the cryptogram from the payment processor computer 206.
At 926, the payment services provider 806 generates and transmits—to the payment processor computer 206—a request for a remittance transaction in accordance with the instructions provided by the user 202. The remittance request may use the two permanent tokens to specify the sending and receiving accounts for the remittance/funds transfer transaction. Moreover, the remittance request may include the cryptogram received by the payment services provider 806 at 924. The requested funds transfer may then be routed and executed via the payment processor computer 206 and the network 110a. If necessary, one or both of the permanent tokens may be translated to facilitate the routing and/or execution of the funds transfer.
It should be understood that in some embodiments of the process of
In some embodiments, the tokens referred to herein are all in the format of PANs as used in the payment system 200. For example, the tokens may each consist of a fixed number of decimal digits, such as 16 digits, 15 digits or 14 digits. In other words, in some embodiments, all tokens may be in the same format, which may aid in providing convenient operability of the payment system and/or may aid in compatibility with existing data formats.
It will be recalled that the term “DPAN” or “digital PAN” was employed in the previous discussion. As is known to those skilled in the art, a DPAN may be a 16-digit account number, or other account number, that cannot be used for completing a manual transaction over a voice call; rather a DPAN may be effective only when used in a transaction originating from a customer device with which it has been associated.
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.
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, including simultaneous performance of at least some steps and/or omitting one or more steps.
As used herein and in the appended claims, the term “payment card system account” includes a credit card account or a deposit account that the account holder may access using a debit card. The terms “payment card system account” and “payment card account” and “payment system account” and “payment 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 or a debit card.
As used herein and in the appended claims, the term “payment card system” refers to a system for handling purchase transactions and related transactions. An example of such a system is the one operated by Mastercard International Incorporated, the assignee of the present disclosure. In some embodiments, the term “payment card system” may be limited to systems in which member financial institutions issue payment card accounts to individuals, businesses and/or other organizations.
Although the present invention 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 invention as set forth in the appended claims.