METHOD AND SYSTEM FOR IDENTIFYING USERS IN TWO DOMAINS
20200294043 ยท 2020-09-17
Inventors
Cpc classification
H04L9/3242
ELECTRICITY
International classification
G06Q20/40
PHYSICS
H04L9/32
ELECTRICITY
Abstract
A computer-implemented method for identifying a user in each of two separate domains using a single user identifier via a single identification system so as to permit authorisation of at least one action, the method comprising: receiving a request to identify the user and authorise an action in the first domain; performing a first identification process to identify the user in the first domain, the first identification process comprising: receiving input data relating to a user at an identification system; obtaining a first user identification key from the input data for identifying the user in a first domain and for authorising an action based upon the identification in the first domain; identifying the user in a first domain by using the first identification key; authorising an action based at least in part on the identifying step: and terminating the first identification process; and performing a second identification process to identify the user in the second domain after the first user identification key is obtained and before the termination of the first identification process, the process being distinct from the steps of identifying the user in the first domain and authorising the action, and comprising: obtaining a second user identification key based upon at least the first identification key and a system identifier; and identifying the user in the second domain by using the second identification key.
Claims
1. A computer-implemented method for identifying a user in each of two separate domains using a single user identifier via a single identification system so as to permit authorisation of at least one action, the method comprising: receiving a request to identify the user and authorise an action in a first domain; performing a first identification process to identify the user in the first domain, the first identification process comprising: receiving input data relating to the user at the identification system; obtaining a first user identification key from the input data for identifying the user in the first domain and for authorising an action based upon the identification in the first domain; identifying the user in the first domain by using the first identification key; authorising the action based at least in part on the identifying step; and terminating the first identification process; and performing a second identification process to identify the user in a second domain after the first user identification key is obtained and before the termination of the first identification process, the second identification process being distinct from the steps of identifying the user in the first domain and authorising the action, and comprising: obtaining a second user identification key based upon at least the first identification key and a system identifier; and identifying the user in the second domain by using the second identification key.
2. The method of claim 1, wherein the first and second domains are independently controlled and configured for differing purposes.
3. The method of claim 1, wherein receiving input data relating to a user at an identification system comprises reading data from a user identifier in the form of a user token.
4. The method of claim 3, wherein the user token is a payment card, the identification system comprises a payment system, and the first user identification key comprises a payment account number.
5. The method of claim 1, wherein obtaining a second user identification key based upon at least the first identification key and a system identifier comprises comparing at least one of the first identification key and the system identifier with a database of first user identification keys, system identifiers and second user identification keys, and returning a corresponding second user identification key if a corresponding entry in the database exists.
6. The method of claim 5, wherein performing the second identification process comprises modifying the first user identification key and wherein comparing at least one of the first identification key and the system identifier with the database comprises comparing the modified first user identification key with the database.
7. The method of claim 6, wherein modifying the first user identification key comprises applying a hashing function to the key to obtain a hashed user identification key.
8. (canceled)
9. The method of claim 1, wherein the second user identification process is performed before the identification of the user in the first domain.
10. The method of claim 9, wherein performing the second identification process comprises modifying the action to be authorised based on the identity of the user in the second domain.
11. The method of claim 9, wherein performing the second identification process comprises temporarily redirecting the obtained first user identification key.
12. The method of claim 1, wherein the second user identification process is performed after authorising the action in the first domain.
13. The method of claim 12, wherein performing the second identification process comprises modifying the authorised action based on the identity of the user in the second domain.
14. (canceled)
15. A computer-implemented method for identifying a user in a second domain using a user identifier intended for identification of the user in a first domain within an identification system, the domains being separate, the method comprising: commencing a first identification process to identify the user in the first domain by receiving, from the user identifier, input data relating to the user at the identification system, and obtaining a first user identification key from the input data for identifying the user in the first domain and for authorising an action based upon the identification in the first domain; and having obtained the first user identification key, interrupting the first identification process and performing a second identification process to identify the user in a second domain, the second identification process comprising: obtaining a second user identification key based on the first user identification key and a system identifier; and identifying the user in the second domain by using the second identification key.
16. The method of claim 15, wherein obtaining a second user identification key based on the first user identification key and a system identifier comprises comparing at least one of the first identification key and the system identifier with a database of first user identification keys, system identifiers and second user identification keys, and returning a corresponding second user identification key if a corresponding entry in the database exists.
17. The method of claim 16, wherein performing the second identification process comprises modifying the first user identification key and wherein comparing at least one of the first identification key and the system identifier with the database comprises comparing the modified first user identification key with the database.
18. The method of claim 17, wherein modifying the first user identification key comprises applying a hashing function to the key to obtain a hashed user identification key.
19. (canceled)
20. The method of claim 15, wherein the first and second domains are independently controlled and configured for differing purposes.
21. The method of claim 15, wherein receiving input data relating to a user at an identification system comprises reading data from a user identifier in the form of a user token.
22. The method of claim 21, wherein the user token is a payment card, the identification system comprises a payment system, and the first user identification key comprises a payment account number.
23. (canceled)
24. A computer-implemented user identification system for identifying a user in each of two separate domains using a single user identifier via a single identification system so as to permit authorisation of at least one action, the system comprising: a data input device for receiving input data relating to a user at an identification system; a first domain ID key extractor for obtaining a first user identification key from the input data for identifying the user in a first domain and for authorising an action based upon the identification in the first domain; a first domain server configured to identify the user in a first domain by using the first identification key in a first identification process; an authorising server for authorising the action based at least in part on the identification of the user in the first domain; an exchange server configured to obtain a second user identification key based upon at least the first identification key and the system identifier; and a second domain server configured to identify the user in the second domain by using the second identification key in a second identification process, wherein: the authorising server is functionally separate from the exchange server ID key and the second domain server.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0042] One or more embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
DETAILED DESCRIPTION
[0058] In general terms, there is provided a computer-implemented method for identifying a user in each of two separate domains using a single user identifier and obtained via a single identification system so as to permit authorisation of at least one action. The method includes performing both a first identification process and a second identification process, where the second identification process is performed between stages of the first identification process by intercepting information intended for use in the first process.
[0059] A dual-identification method for identifying the user in two separate domains using a single system and identifier provides numerous benefits, particularly when applied to a payment processes and loyalty processes, as will be explained below.
[0060] A payment cycle is the process by which a customer, hereinafter user, settles payment for their purchase from a merchant. Payment cycles typically have two main steps: calculation of the cost to the user; and payment for the purchase.
[0061] Payment for the purchase is usually performed by using a payment method comprising either: a user token (i.e. a payment card for chip and pin or contactless payment, or a digital wallet using near-field communication (NFC) payments); or cash.
[0062] For the purposes of this document, only the payment part of the cycle will be discussed in detail, and particularly payment using a user token. Calculation of the cost to the user prior to initiation of payment using a user token, i.e. adding up the cost of each item the user wishes to purchase to arrive at a total amount or basket total for the user to pay, is not considered to be part of this application. However, in some embodiments described herein, amendments to the basket total are possible. References to payments below are intended to refer to payments using a user token and not to payments made using cash. It is noted, however, that some embodiments described in the present disclosure may be utilised alongside a cash payment.
[0063] Payments made using a user token are facilitated by a payment system. A user token is issued to each user by their payment account provider, or issuer, to allow the user to make a payment via a payment system. The user token is generally in the form of a payment card. The payment card links the user to their payment account and allows identification of that account when required at a plurality of different merchants. In this regard, the payment card may be considered as a general purpose payment card because it is standardised to enable use with many payment systems. The payment card is also provided with one or more security requirements to allow payments or transactions to be made only when each of the security requirements are fulfilled. These security requirements are usually in the form of local identification of the user, and may also incorporate further verification performed by the payment system.
[0064] Using a series of fixed authorisation steps, the payment is facilitated. The user is generally required to enter an authorisation code or personal identification number (PIN) during the authorisation process to allow the transaction to proceed. However, in some circumstances, a contactless payment or NFC payment may be permitted that does not require a PIN. Whether the user chooses to pay with their payment card using chip and pin, using a contactless payment protocol, or by an NFC payment using a digital wallet, the respective processes performed by the payment system are very similar, with minor variations between the two information flows, as is explained below.
[0065] An example payment system 100 according to an embodiment of the invention is illustrated in
[0066] The system 100 comprises a point-of-sale (POS) system 102, a payment services provider (PSP) 104, an external exchange server 106, a merchant loyalty server 108, and payment systems 110 comprising an acquirer, a payment network, and a card issuer. The components are configured to communicate directly with one another, or via a wide-area communications network 112.
[0067] The POS system 102 comprises a PIN entry device (PED) 114, a POS terminal 116, a printer 118, a scanner 120, and a display 122 which may incorporate mechanisms for user input such as a touch screen or physical buttons. The POS terminal 116 comprises a POS hardware interface 124 configured to interact with the printer 118, scanner 120, and display 122. The POS terminal 116 also runs software modules that facilitate transactions, comprising a PED driver 126, a POS application 128, and a POS native software 130. It will be appreciated that the POS system 102 may also comprise a number of displays, scanners, or other entry devices for use by an operator or by the user. For example, a typical self-service POS system may additionally comprise two barcode scanners, a display, coin and note slots/readers and/or a packing area.
[0068] The PED driver 126 is a software agent (program) that resides on the base Operating System (OS) of the POS terminal 116. The PED driver 126 can be considered to be an agent controlled by the PSP 104 and its responsibilities are to facilitate transactions between user and merchant devices such that it is not necessary for the software run at the POS terminal 116 to have requirements for the authorisation process laid out or to have industry standards built into them. The PED driver 126 comprises software that facilitates the implementation of standards required by the payment services industry. In particular, the PED driver's responsibilities are to facilitate EMV, which stands for Europay, MasterCard and Visa and is a global standard for cards equipped with computer chips and the technology used to authenticate chip-card transactions, for both chip & pin or contactless transactions and negates the requirements for the EMV standards to be built into the POS software directly.
[0069] The POS native software 130 is software run by the POS terminal 116 that is common to all POS terminals in the merchant, and permits ordinary transactions to be made. The POS native software may also facilitate loyalty operations.
[0070] The POS application 128 is a feature not found in conventional payment systems, and so will be described in more detail later.
[0071] The user is depicted by their user token 132, in this case a payment card being presented to the PED 114. In use as a conventional payment system, the user, having been provided with the calculation of the cost, presents their payment card 132 to the PED 114 as part of the payment cycle. When invited to do so, the user inserts, swipes, or, in the case of a contactless payment, taps their payment card 132 at the PED 114. The PED 114 communicates with the POS terminal 116 which performs various checks and implements requests using the PED 114 and the other systems. To authorise a transaction, the POS terminal 116 communicates with the PSP 104 via the communications network 112. The PSP 104 also communicates with the payment systems 110 (the acquirer, payment network, and card issuer, as well as any additional parties such as additional acquirers, payment networks, or issuers, aggregators, processors, further payment service providers, or any other additional party that may be incorporated into the payment process), to facilitate authorisation, as well as settlement.
[0072] Returning to consideration of the payment cycle, an additional, usually optional step, is often incorporated between the main steps of calculation of cost to user and payment. In this additional step, the user is asked to provide a loyalty token or identifier (ID) if they are a member of the scheme associated with the merchant. The request is made by the POS system 102 via the display 122 or an operator of the POS system (i.e. a cashier).
[0073] Conventionally, the loyalty token/ID is presented to the scanner 120 for communication to the POS terminal 116, in one of two ways. Either the token/ID is presented during and simultaneously with the calculation of the cost; or the token/ID is presented after the calculation of the cost to the user, but prior to the payment step.
[0074] Typically, the POS terminal 116 uses data gained from the loyalty token to communicate with the merchant loyalty server 108, which stores data relating to users and their loyalty tokens. The merchant loyalty server 108 confirms that the loyalty token is recognised as part of a loyalty scheme run by the merchant, and permits the POS terminal 114 to alter the cost to the user or offer rewards based on their membership of the merchant's scheme.
[0075] In both cases, conventional presentation of the token/ID occurs before payment has begun. While the system 100 of
[0076] The method of operation of the system 100 incorporating the POS application 128, PSP agent 134, and external exchange server 106 is discussed below, but the main functions of the POS application 128 and the external exchange server 106 will now be discussed.
[0077] The POS application 128 cooperates with the PED driver 126 during the newly introduced operational states of the PED driver 126 to enact a loyalty process during the payment cycle according to embodiments of the invention. The POS application 128 enables the POS terminal 116 to receive an injection of a membership ID for identifying the user as a member of the loyalty scheme. This is implemented using an input in the form of a POS bus injection. The membership ID is therefore input to a bus of a device connected to the POS, to give the appearance that the data was received from that device. For example, the system injects the membership into the POS terminal via a bus of the scanner 120. The POS application 128 also incorporates an open POS bus capture, which is capable of intercepting bus messages such as receipt data. The POS application 128 configures the POS terminal 116 for communication with the external exchange server 106 and is capable of communicating a status update to the external exchange server, as well as being capable of receiving and sending information relating to the user from and to the other components of the system. The POS application 128 also incorporates additional actions for operation by the cashier such as information screens or buttons.
[0078] The PSP agent 134 operates to decrypt sensitive data received from the POS system 102, create a non-sensitive version of the decrypted data suitable for sending to the external exchange server, send the new version of the data to the external exchange server 106, to receive, in response, an identity of the user found in the loyalty server 108, and to return the identity to the POS system 102. The non-sensitive version of the decrypted data is in the form of a hashed identifier, created using a hashing algorithm, and, optionally, a merchant identifier or system identifier. The hashing algorithm may also be applied to the merchant identifier. Alternatively, the decrypted data and the merchant identifier may be incorporated within a single hashed identifier. For example, the hashing algorithm may be merchant-specific so that the hashed identifier always identifies the merchant too. The term merchant identifier or merchant ID may be the MID of the merchant or a different identifier. Each of these steps is elaborated on in relation to the interaction diagrams described below.
[0079] The external exchange server 106 incorporates various APIs for receiving and communicating information to the other actors in the system 100. The external exchange server 106 as a membership lookup module, which is configured to receive at least a hash from the PSP 104, as well as a merchant ID if required. The external exchange server 106 is also configured to retrieve a membership ID of the user that corresponds to the hash from a merchant data store bin in the merchant loyalty server 108, and to send the retrieved membership ID (or exception if no ID found) to the PSP 104.
[0080] The external exchange server 106 also incorporates a module 132 configured for communication with the POS application 128. This module is capable of receiving a status from the POS application 128 and sending control signals to the POS application 128 indicating currently enabled modes of operation. A further feature of the external exchange server 106 is a user detail lookup module 134, which is configured to receive a membership ID from the POS application 128 and to send any loyalty user details corresponding to the membership ID to the POS application 128 in return.
[0081] As described above, a plurality of new states are used by the PED driver 126 during the loyalty process, and their purpose is described in more detail later. The new states utilisable at the PED driver are: Check Enablement; Request Lookup; ID Known; Notified; Tender Paused; Tender Complete; and Not Found.
[0082] To provide context to embodiments of the invention as described in relation to
[0083] It is noted that conventional loyalty processes, namely those connecting to a second domain, are typically performed prior to the processes described in relation to
[0084] In the figures, requests communicated from one component to another are labelled with an identifying number followed by a. The response to each request from the other component back to the first component is labelled with the same identifying number followed by a b. For example, the first request (in
[0085]
[0086] The first request 8a made by the POS 130 to the PED driver 126 is a request for purchase, and is made after as it is indicated at the POS 130 that the final amount for the transaction has been calculated. The objective of this interaction is to achieve a request response 8b from the PED driver 126 that notifies the POS 130 that the payment was successfully authorised.
[0087] The request for purchase 8a from the POS 130 starts a purchase process interaction between the PED driver 126, the POS 130, the PED 114, and other actors in the payment system: a user 140 and the PSP 104.
[0088] Returning briefly to
[0089] The second request 22a between the POS 130 and the PED driver 126 is a request for confirmation. The request for confirmation 22a occurs at the end of the transaction, after a receipt has been generated for the transaction. This request 22a ensures a transaction is logged against the account of the user. This request for confirmation 22a usually occurs automatically, however in much smaller deployments it can be a manually triggered task from a cashier/manager at the end of the day.
[0090] The request for confirmation 22a starts a confirmation process interaction between the PED driver 126 and the PSP 104, as will be described later with reference to the process 500 of
[0091] Considering
[0092] In general terms, considering the payment system as a domain in which the user needs to be identified for an action, the purchase, to be performed, the seven stages described above can also be described as five general steps: (i) receive a request for identification of the user in the domain; (ii) obtain user identifier for use in domain; (iii) identify user in domain; (iv) authorise action based on identification; and (v) complete process, where step (i) corresponds generally to (1), (ii) to (2) and (3), (iii) to (4), (iv) to (5) and (6), and (v) to (7).
[0093] The first stage of the process 300, the request for purchase 8a, is followed by the second stage of the process 300; obtaining the identity of the user. The PED driver 126 enters a listening state 50 in response to the request for purchase 8a, which, depending on configuration, could be for NFC and/or chip interactions, chip interactions being interactions using a payment card using a chip to allow chip-and-pin and contactless interactions. The PED driver 126 entering the listening state 50 indicates the start of the second stage. In the listening state 50, the PED driver 126 is effectively preparing for the insertion of the payment card and for receiving the identity of the payment card to initiate the next state.
[0094] Throughout the processes described herein, the PED driver 126 and PED 114 enter a number of states during the payment cycle and/or initiate internal actions. The states entered by the PED 114 and the PED driver 126 are default states that are standard processes that allow particular functions to be performed and information transfer to be effected between PED 114, PED driver 126, PSP 104 and any other connected element of the system 100. The PED driver states are dictated by a software program pushed to it from a payment service provider, and updates to the software program may introduce new states to allow the PED driver 126 to enter new states. As will be well understood by the skilled person, the PED states or internal actions are or are caused by scripts run by the PED 114 that trigger actions or communications to be performed with the payment card chip, that trigger a request to be displayed to the user, or that result in a response being generated to be communicated to the PED driver 126 to change the state of the PED driver 126 and progress the payment cycle to the next stage. In contrast to PED driver states, the PED 114 is configured to restrict the alteration or addition of states or scripts for security purposes. The PED 114 reads and uses sensitive information from the payment card, and so it is important that the operation of the PED 114 is not compromised.
[0095] When in the listening state 50, the PED driver 126 communicates a request 9a to the PED 114, indicating that the PED driver 126 is in the listening state 50, and that the user 140 should present a payment card 132 to progress the transaction. The PED 114, via a display screen 122 or other output means, communicates a request 10a to the user 140 to present a payment card 132 for progressing the purchase. In response, the user 140 presents 10b a payment card 132. In this case, the presentation 10b is a chip-and-pin interaction, meaning that the user 140 inserts the payment card 132 into a reader located in the PED 114.
[0096] Presentation 10b of the payment card 132 causes an application selection script 51 to run on the PED 114. The application selection script 51 runs to select an application based on the payment card 132 presented by the user 140. The script 51 communicates with the PED driver 126 by sending a response 9b to the request 9a for presentation of the payment card 132. The response 9b is sent in order to indicate that the card has been identified based on the script 51, and that a mutually agreeable EMV application within the PED 114 has been found for the card presented. In other words, the correct process for reading the card and achieving a smooth transaction is determined during this stage by identifying the standard the card uses. Having identified the card, the PED driver 126 enters the card known state 52, indicating the transition from the second stage to the third stage of the process, in which sensitive data is obtained.
[0097] Once the identity of the card is known to the PED driver 126 and the PED driver 126 has entered the card known state 52, the PED driver 126 requests 11a the PED 114 to obtain sensitive cardholder data identifying the user/user account. The PED 114 launches the selected application 53 and a script 54 is run that reads the sensitive cardholder data from the payment card 132. This data received is encrypted, typically in a point-to-point encryption (P2Pe) environment, within the PED 114. The data is therefore rendered unreadable by the PED driver 126. This data is able to be decrypted within the PSP 104 later in the process. Ahead of the sensitive data being available, offline data authentication via SDA (Static Data Authentication), DDA (Dynamic Data Authentication), or CDA (Combined Data Authentication) may also be performed along with any card processing restrictions. These verify whether the card is allowed to conduct the transaction request.
[0098] The sensitive cardholder data obtained from the card is typically a payment account number (PAN), sometimes also called a payment card number or primary account number. The encrypted sensitive cardholder data, typically the encrypted PAN, is shared with the PED driver 126 as a response 11b to the request 11a for data. Receipt of the encrypted data causes the PED driver 126 to enter the Ready for EMV state 55. The Ready for EMV state 55 indicates the beginning of the fourth stage of the purchase process 300, where the EMV process takes place.
[0099] Following the Ready for EMV state 55, the PED driver 126 pushes 12a the transaction amount to the PED 114 and triggers a series of scripts 56 including an offline authentication script 57, a process restrictions script 58, a cardholder verification script 59, a terminal risk management (TRM) script 60, a terminal action analysis script (TAA) 61 and a card action analysis script (CAA) 62. The cardholder verification 59 verifies the identity of the user, i.e. the cardholder. Verification of cardholders for all online transactions within the UK is via a PIN (personal identification number). The PIN is known only to the holder and the issuing payment service provider. During the cardholder verification script 59, the PED 114 displays a request 13a to the user 140 for the PIN to be entered, and a response 13b is received in the form of the user 140 entering the PIN on an input device of the PED 114.
[0100] The TRM script 60 validates the need for an online authentication. A Terminal Action Analysis script 61 determines whether to decline offline or whether to go online. Finally, the card action analysis script 62 will either build an Application Request Cryptogram (ARQC) to go online, or an Application Authentication Cryptogram (AAC) to decline without requiring authorisation. Assuming the result is an ARQC, a response 12b is communicated to the PED driver 126 indicating that the EMV transaction scripts 56 have been successfully completed.
[0101] The ARQC is generated by enciphering card, terminal, and transaction data with the Master Key embedded within the chip (that was derived during personalisation from the Issuer's Master Key) or session key derived from the chip's Master Key. The resulting output is a 16 character HEX ARQC. In the case of the present application, it will be assumed that an ARQC is generated and that the card is not declined. If an AAC is generated, the PED 114 may communicate a request to the user to remove the card and reinsert, or may simply display a message declining the transaction, in which case the transaction may have to be restarted.
[0102] Carrying on with
[0103] The PSP 104, upon receipt of the encrypted data, operates as illustrated in
[0104] In the process 400 of
[0105] The issuer 146, which is the payment account provider that issued the payment card 132, verifies the ARQC by generating its own version and comparing, and also verifies that the necessary funds are present in the account of the user/cardholder to fulfil the transaction. If both these verifications are successful, the issuer authorises the transaction 68 and a chain of responses 17b, 16b, 15b is passed back to the PSP 104 and from there, a response 14b indicating the authorisation result is returned to the PED driver 126. Having communicated their respective response, each of the payment schemes 144, acquirer 142, and PSP 104 enter an authorisation completed state 69, 70, 71.
[0106] The issuer 146 may pass back an optional ARPC which is a hash of the ARQC, plus some additional data such as the Authorisation Response Code or the Card Status Update. This is used by the chip when returned to validate that the authorisation was returned untampered from the issuer. If the issuer detects an inconsistency in the data received in its response, it can block the card or adjust the velocity limits to reflect the cardholder's offline purchasing power. EMV recommends that Authorisation requests are kept by Issuers.
[0107] Returning to
[0108] Following any modification of the chip, the user 140 is requested 19a by the PED 114 to remove the payment card 132. When the user removes 19b the card, the PED 114 notifies 18b the PED driver 126, which subsequently returns a response 8b to the POS 130 indicating that the purchase is complete, the final, seventh stage of the process 300. The response 8b includes information resulting from the purchase and non-sensitive data to enable the printing of the basket receipt and/or payment receipt.
[0109]
[0110] At any point, if the PED driver 126 identifies a denial or an error, it communicates this as a request 702 to the PED 114 to display an error message to the user 140.
[0111] The process 800 performed to carry out a contactless payment, in which the user taps the payment card on the PED 114 rather than inserting it into a dedicated slot, is illustrated in
[0112] The contactless process 800 is broadly similar to the contact process 300 discussed above. Instead of inserting their card 132, the user 140 hovers or taps their card 132 above or on the PED 114 and watches 4 buttons light up in sequence. As with the contact process 300, all conventional loyalty cards/vouchers/coupons must be entered before the cashier puts the POS software into tender mode (i.e. finalises the purchase and requests purchase so that the PED driver enters listening state).
[0113] Particularly, one light of the four light up after the following milestones: the card is identified (L1), when the EMV stage begins (L2), when the cardholder is locally verified (L3), and when the transaction is complete (L4).
[0114] It is of particular importance to note that the contactless process 800 lacks the input of a PIN into the PED 114 by the user 140 at the card holder verification stage 59, or an externally communicated authorisation step 14a, 14b. Instead, the next state of the PED driver 126 after the EMV response 12b is the EMV complete state 72 of the PED driver 126 and then the EMV complete request 18a. As contactless payments are carried out only for transaction amounts below a predetermined threshold value, these onerous cardholder verification steps are bypassed, and provided a local card holder verification and risk management are passed, then the transaction is permitted to proceed without the requirement for a PIN or authorisation from the PSP/issuer. The stages can still be considered to comprise the same seven stages, as authentication is carried out offline in the process of
[0115] A minor difference in the contactless payment card is the final request and response 27a, 27b to the user 140. Here, the PED 114 communicates to the user 140 an authorisation response, rather than requesting the user to remove their card. The effects of steps 27a and 19a, and 27b and 19b are the same.
[0116] It is noted that contactless transactions may, in some circumstances, be subject to a different kind of authorisation. As will be well understood by the skilled person, the awaiting authorisation state and other associated information flow from the contact process may be combined with the contactless process to produce a hybrid information flow, that may or may not require a PIN to be input. The embodiments of the invention described herein are compatible with many different payment cycles, regardless of where the authorisation is performed.
[0117] As described in relation to
[0118] In the confirmation process 500, the PED driver 126 enters an awaiting settlement state 75 while it requests settlement from the PSP 104. The PED driver 126 sends a request for settlement 23a in the form of a transaction certification to the PSP 104. The PSP 104 logs 76 the settlement or transaction against the correct account. Having logged 76 the request 23a,the PSP 104 provides a response 23b the PED driver 126 that the request has been logged. A confirmation 22b can be provided by the PED driver 126 to the POS 130 in response to the initial request for confirmation, and consequently the transaction process 200 is complete.
[0119] An example settlement process 600 is illustrated in
[0120] In the settlement process 600, a chain of requests for settlement 24a, 25a, 26a are passed from the PSP 104 to the acquirer 142 to the payment scheme 144 to the issuer 146, while each of the PSP 104, the acquirer 142, and the payment scheme 144 enter a state 77, 78, 79 of awaiting a response. The issuer 146 settles 80 the transaction and responds 26b, causing a return chain of responses 26b, 25b, 24b back to the PSP 104. After each response is received, the payment scheme 144, acquirer 142, and PSP 104 enter a settlement complete state 81, 82, 83.
[0121] It will be understood by the skilled peson that settlement may be carried out in a number of ways other than that shown in
[0122] To facilitate a seamless loyalty process that does not involve a user having to fiddle around with multiple loyalty tokens when purchasing their goods or services, the external exchange server 106 and POS application 128 can be incorporated into the payment system as described above in relation to
[0123]
[0124] While a single payment system and a single loyalty system are discussed in this application, it will be appreciated that the integration of multiple payment systems with multiple loyalty systems is possible, and that a single payment system may interact with multiple loyalty systems, or multiple payment systems may interact with a single loyalty system. Furthermore, a single identifying token may be utilised to identify a user in multiple payment systems and multiple secondary identification or loyalty systems. Similarly, a multiple identifying tokens may be connected to a single user ID in one loyalty system.
[0125] To facilitate the combination of the payment and loyalty cycles, the process 900 of
[0126] So, beginning from the start of the whole combined cycle, the first step in the payment cycle is performed and completed by the calculation of the cost to the user being totalled. The purchase process 300 is initiated and the request for purchase 8a is communicated to the PED driver 126 from the POS 130. The request for purchase 8a results in the conventional listening state 50, as discussed previously in relation to
[0127] Sensitive data is requested 11 a by the PED driver 126 and returned 11 b by the PED 114 in the form of encrypted data. In the process 300 of
[0128] In the loyalty process 900 shown in
[0129] From the check enablement state 84, the PED driver communicates with the POS application 128 to confirm the available modes. A request 30a is sent from the PED driver 126 to the POS application 128 to confirm if the POS application 128 is configured to carry out the lookup. The lookup can be via an online process or may be performed during a payment cycle, as will be discussed below.
[0130] Once the POS application 128 has confirmed that the lookup is enabled by providing a response 30b to the PED driver 126; the request lookup state 85 is entered by the PED driver 126. A lookup request 31a is sent to the PSP 104 by the PED driver 126. The lookup request 31a is enacted at the PSP 104, which decrypts the encrypted data received from the PED driver 126 and converts the PAN of the payment card to a hashed PAN using a predetermined algorithm via the PSP agent. Although not shown here, the hashed pan is then communicated, along with the merchant ID for identification of the correct loyalty programme, to the external exchange server 106, which compares the hashed PAN and merchant ID with pre-existing databases.
[0131] The lookup identifies an entry for the payment card hash/merchant ID in the databases and returns the loyalty member identification linked to that payment card to the PSP 104. The PSP 104 returns the identifier to the PED driver 126 as a response 31b to the request 31a. If no loyalty member identification can be found, a blank array is returned, the loyalty process stops and the payment cycle continues.
[0132] The PED driver 126 enters a new state ID known 86, and subsequently communicates 32a the membership ID received from the PSP 104 to the POS application 128. In addition to the membership ID, the PED driver 126 may also communicate data regarding the user's transaction to the POS application 128. In this case, the POS application 128 is then able to assign the so-called basket data, i.e. information relating to the transaction, to the corresponding account. This assignment, although not shown in these figures, takes place by communication with the merchant loyalty server 108.
[0133] The POS application 128 responds to the PED driver 126 with a response 32b that indicates that the data has been received from the PED driver, as well as any account information that may be of use at the POS terminal. For example, the promotional information may comprise the user's points total if the rewards to the user are quantified using points. Similarly, potential offers may be communicated to the POS for display to the user. In some circumstances, the information may be then printed onto the receipt, or an e-receipt, for later consideration by the user.
[0134] In some situations, a clip-to-card protocol is employed by which offers specifically chosen by the user prior to the transaction taking place are offered to the user via the POS. The clip-to-card protocol is a complimentary mobile application that provides users the ability to scan payment cards and link to loyalty scheme member information. The protocol allows coupons, vouchers, and other user offers to be electronically attached to payment cards so that use of the payment card at particular merchants results in application of the associated offers to the user's basket. Personalised offers are surfaced in the application and users select which are attached or clipped to the selected payment card. In its response to the real-time lookup service, the exchange server returns not only the loyalty membership data but also the identifiers of the any clipped offers. Like the loyalty membership data, an offer ID can be injected into the POS system allowing any discounts or loyalty benefits to be applied during the transaction at the till.
[0135] The PED driver 126 enters a notified state 87 and communicates 33a the indication that the data has been received and any promotional information to the PED 126. At the PED 114, a notification is presented to the user that their payment card 132 and membership of the loyalty scheme has been identified and accepted, although this is not shown here. The PED 114 confirms 33b to the PED driver 126 that this notification has occurred, and the PED driver 126 enters a tender paused state 88.
[0136] It is envisaged that the notification is a message displayed on a display of the PED 114, although in some situations this may be the illumination of a light, a small identifying icon or even a sound. In some situations, a display of the POS may display the notification rather than the PED.
[0137] When the PED driver 126 has entered the tender paused state 88, the user has been identified in the loyalty domain.
[0138] Having entered the tender paused state 88, the PED driver 126 communicates 34a to the POS 130 a query, effectively pausing the purchase process by querying the POS 130 as to whether the purchase should be cancelled. This step is not a full cancellation of the process, but a chance for alterations to the transaction value to be implemented should the user wish to employ any benefits accrued through their membership of the loyalty scheme. Therefore, this step is effectively a confirmatory step, allowing the operator to present pertinent loyalty information to the user prior to the full transaction being made, and requires the operator (who in some cases might be the user) to confirm that they wish to proceed with the transaction in its original state, with the full purchase amount, or that they wish to alter the transaction, if the basket amount (total amount for items being purchased) needs to be re-calculated. For example, the user may have accrued a number of rewards that they wish to redeem against the current transaction, and by pausing the transaction, the PED driver allows this discount to be applied.
[0139] If the user wishes to continue with the original transaction, without applying any rewards or benefits, the operator of the POS 130 communicates 34b this to the PED driver 126, which recommences the payment process 300 from where it was effectively paused previously (after the card known state) by submitting the same request for purchase as submitted at the beginning of the flow of
[0140] If the user requests that points or rewards are applied to their transaction, the POS 130 recalculates the value of the basket that is required to be paid by the user and makes a new request for purchase 34b to the PED driver 126, which again enters its ready for EMV state 55. At no point is the entire transaction restarted, and the user's payment card and information gathered from it is retained within the PED throughout. The PED driver therefore does not need to re-enter its listening state or card known state, because these two states have already been performed and the card has been received and identified. Instead, the process continues from where it was paused following communication by the PED of the encrypted data to the PED driver.
[0141] In some cases, the data returned to the PED driver 126 by the POS application 128 relating to promotional information may not contain any promotional gains for the user. In the embodiment shown, the PED driver 126 still requires a response 34b following the tender paused state 88 to enable to transaction to proceed.
[0142] So, once any necessary information has been presented to the user via an operator or POS terminal, and the user has chosen their preferred course of action, the process is continued by selecting an option at the POS, which results in a request for purchase message 34b being communicated to the PED driver 126 once more.
[0143] As the PED driver has already received the encrypted card data from the PED, it can now enter the Ready for EMV state 55. As described earlier, this continues the payment cycle protocol that was interrupted earlier in the process of
[0144] The payment cycle protocol subsequently continues as it ordinarily would, with the user being required to enter their PIN 13b to allow for authorisation 14b of the transaction to take place.
[0145] So, considering the five stages of purchase process as discussed above ((1) obtain card's identity, (2) obtain sensitive data, (3) start EMV process, (4) obtain authorisation, (5) complete EMV), the secondary process or check as outlined above is performed between steps (2) and (3). The sensitive data and card identity are both required to enable the secondary check to be performed.
[0146] In effect, a new stage is added, so that the stages are: (1) initiation of purchase process; (2) obtaining the identity of the user token; (3) obtaining sensitive data from the user token; (3A) loyalty process using sensitive data; (4) starting the EMV process; (5) obtaining authorisation for the transaction; (6) completing the EMV process; and (7) terminating the purchase process. Put this way, it can be seen that the purchase process is not affected by the insertion of the loyalty process and so security risks are minimised, and disruption to the user experience is also minimised.
[0147] In more generalised terms, where the payment system is a first domain and the loyalty system is a second domain, the updated steps of the process of the present embodiment can be considered to be (i) receive a request for identification of the user in at least the first domain; (ii) obtain user identifier for first domain; (iiA) identify user in second domain using user identifier for first domain; (iii) identify user in first domain using user identifier; (iv) authorise action based on identification in at least first domain; (v) complete process. Alternatively, rather than express this as an additional step (iiA), the interruptive loyalty process could be considered to be an extension of step (iii): identify user in both first and second domain using the user identifier. Again, this serves to demonstrate that the original process for purchase, which, prior to this disclosure, was seen as a process that had to be performed as a whole, is not altered or tampered with in any way. Instead, the inventors have identified that a temporary redirection of information used to identify the user in the first domain is an efficient mechanism by which to perform the identification in the second domain.
[0148] Additionally, the loyalty steps make use of sensitive data, the PAN, in a hashed, non-sensitive form. The PAN, which is utilised only by the PSP and payment systems in the conventional purchase process, is repurposed for use in the loyalty system. Repurposing the sensitive, identifying data to permit its use in a non-sensitive environment allows the incorporation of the loyalty process of
[0149] Existing solutions, as described above, adjust the authorisation process shown in
[0150] It will be appreciated that the locality of the present process, where the loyalty step is performed almost entirely between the PED driver and the PSP, is in stark contrast to the adjustment of the authorisation process found in the prior art, and consequently leads to a low complexity system with low latency, high accuracy, and high security. The loyalty step, i.e. the identification of the user in the second domain, makes use of components of the existing system that are utilised in the identification of the user in the first domain. The external exchange server permits the repurposing of these components, by providing the bridge or catalyst between existing systems. So, identifying the user in the first and second domain makes use of the same identifying information, the same components, and neither identification is compromised by the other.
[0151] A further important distinguishing difference between the present embodiment and the known prior art is highlighted by the fact that the loyalty step of the present embodiment is wholly encapsulated within the original transaction. The purchase process contains the loyalty process, and no onerous cancellation and reinitiation of the entire transaction is required to implement the additional step. The flow from the request for purchase to the purchase complete response is maintained, and data gained during the transaction for use in the purchase process, i.e. the sensitive cardholder/user data, is not required to be resubmitted to permit each process or step to proceed. Again expressed in general terms, general steps (i) and (ii) are performed once, and the subsequent identifications are performed using the information gained from those steps. In some respects, the steps of identifying the user in each domain can be considered to be a split process, rather than a linear sequence of steps, as they do not depend on each other. The interruption makes use of natural windows and breaks that are found in the payment process and briefly pauses them to carry out the loyalty process in a non-disruptive manner.
[0152] A further point of note is that the system effectively simulates the presentation of a loyalty token to the scanner by using a bus injection scheme. While this is not the only way that this process can be performed, using a bus injection to simulate the receipt of a user identifier advantageously reduces the amount of modification required to permit the system to carry out the identification processes described herein.
[0153] An alternative loyalty process 1000 is shown in
[0154] While the process 1000 of
[0155] In fact, in general terms, step (iiA) could be performed at any point between steps (ii) and (v). An example of this is explained below with respect to the contactless process of
[0156]
[0157] When the process of
[0158] It will be appreciated that it is possible to add several different functionalities into the process between the PED driver 126 receiving the encrypted data and entering the Ready for EMV state 55, or in the case of contactless payment, between the EMV complete state 72 and the tender complete state 99. For example, if the user has not yet linked their loyalty account to their payment card, a few additional steps may be inserted to allow the PSP to be sent a hashed PAN and merchant ID, and for the loyalty server to receive the necessary information required to allow it to assign the correct loyalty data. Alternatively, if the user has not yet joined the loyalty scheme, steps may be provided to allow the PED driver, PSP, POS application, loyalty server and external exchange server to interact to facilitate joining the scheme.
[0159] Speaking generally again, the new stage of identifying the user in the second domain is introduced following general step (iv) and before step (v) in the contactless process, or using the specific steps, following stage (6) but before stage (7). Once again, the embodiment makes use of a natural break to interrupt and co-opt the payment process for the loyalty purposes, without modifying or disrupting the already existing stages.
[0160]
[0161]
[0162] It will be appreciated that the notified state 87 and the tender paused state 88 may also be incorporated following the ID known state 86, if the process requires pausing as in
[0163]
[0164]
[0165] As shown in
[0166] As can be seen from
[0167] The user 140 presents 10b their card, either using the contactless or contact method at the PED 114, and the PED 114 and PED driver 126 operate to identify 9b the card in the same manner as the conventional purchase process 300, 800. The PED driver 126 here operates in the card known state. As in the purchase process, sensitive data is required 11a from the card, which is communicated 11b from the PED 114 to the PED driver 126 in an encrypted form.
[0168] Having received the encrypted information, the PED driver 126 enters the request lookup state 85 and communicates 37a the encrypted sensitive information to the PSP 104. Once the PSP 104 has received the encrypted data, it forms a hash of the PAN and communicates 38a this and a received merchant ID to the external exchange server 106, which responds 38b with a membership ID, having compared the hashed PAN and merchant ID with a database of hashed PANs. If the comparison returns no results, an empty array is returned to the PSP 104, and the loyalty process ends so that the payment process can begin.
[0169] Having identified the user in the external exchange server's 106 database, the ID of that member is returned 37b to the PED driver 126, which changes state to ID known 86. The PED driver 126 requests 39a the PED 114 to present a membership message and the user is notified 40a via the PED 114 that they have been identified using a loyalty message. This message notifies them that they can remove 40b their card from the PED 114. The PED 114 updates 39b the PED driver 126 to indicate the card has been removed. The PED driver 126 then communicates 36b with the POS application 128, which in turn cooperates 41a, 41b with the external exchange server to identify relevant information and promotions that may be pertinent to that user.
[0170] Following the identification of the user in the loyalty process, the basket, or transaction total, can be calculated to include all items that the user wishes to purchase and have any discounts applied. Once the loyalty process end response 6b is communicated, the purchase process 300, 800 begins.
[0171] The purchase process proceeds in the standard manner as shown in
[0172] To consider the above another way, the same token is used in both processes to provide dual identification within a single system that is configured to operate for only one of those identification systems. The external exchange server acts as an intermediary to facilitate interaction between the identification-authorisation processes, despite the token being presented more than once.
[0173] It can be seen that the specific data from the token is still made use of, and several functions of the PED driver and PED are used to facilitate the look-up of the user in the loyalty scheme. This can be considered to be utilisation of data that is key to a first identification process, being used to facilitate a second identification in the same domain, where this would not have ordinarily been possible due to the incompatibility of these systems.
[0174] In some embodiments, the payment service provider and acquirer may be combined, and in other embodiments, the payment system may not include a payment service provider or acquirer. Instead, the payment flow may be redirected using a server or other module that acts in the same manner as a payment service provider. In other embodiments, the operations performed by the payment service provider may be performed locally at the POS terminal, or at the external exchange server, or distributed between the two.
[0175] It will be appreciated that any communications between components of the systems described herein are embodied in an appropriate control signal and/or message.
[0176] The contents of priority document GB1719666.8 are incorporated herein by reference.