In order to allow a terminal to be able to support multiple card schemes, it is necessary for the EMV kernel being used to perform some common Application Selection and Kernel Activation processing to enable it to determine the applicable scheme rules that should be applied – this is known as Entry Point processing. There are multiple sub processes within Entry Point processing, including the following:
- Pre-processing of the configuration data – this typically occurs prior to card detection and allows the Entry Point to pre-determine which AIDs are available for the current transaction. Configurable limits per AID may also be compared to the transaction amounts, and these may result in status flags being set that determine if and how the transaction should be processed. Each supported AID together with its associated Kernel Identifier is referred to as a Combination, and the outcome of this pre-processing is the list of supported combinations for the current transaction.
- Determining the available card applications – the card contains a Proximity Payment System Environment (PPSE) that contains all the applications that the card supports. The PPSE is returned by the card to the Entry Point through a single APDU command and contains one or more File Control Information (FCI) data elements, each containing the relative priority and information pertaining to a particular application that the card supports. This is compared to the terminal’s list of combinations and results in a list of mutually supported combinations, ordered by their priority. Proprietary cards, such as transit schemes (for example the Oyster Card used for transportation in London) may use completely different methods to determine the supported applications. Solutions that support these in addition to the card scheme brands may need to support multiple mechanisms to determine how to process the transaction.
- Combination Selection – The Entry Point determines the highest priority mutually supported Combination and issues the APDU command to select the corresponding card application.
- Activation of the appropriate kernel – each card scheme individually specifies their transaction processing requirements, and these differ significantly for each scheme. Therefore it is necessary to have a different kernel for each of the supported schemes. The Entry Point will pass control of the transaction processing to the kernel associated with the selected combination. Further information on the specifics of this processing can be found in our sections about Visa, MasterCard, American Express and Discover.
- Outcome handling – after the specific kernel has finished its processing the Entry Point will report the transaction outcome to the terminal’s payment software.
The four start conditions A to D mark the different ways in which the Entry Point can begin a transaction. Typically Start A is how a new transaction will commence, whereas Starts B to D are generally triggered by a previous transaction ending in an incomplete way.
In the cases of Start C or Start D, Entry Point Pre-Processing indicators will be retained and provided between transactions.
Start A is used in most acceptance environments at the initiation of a new transaction and enters the transaction at the Pre-Processing stage, subsequently going through all the other processing stages.
Start B bypasses the Pre-Processing stage and moves straight to Protocol Activation.
This may be possible when the transaction amounts are fixed and so Pre-Processing is not necessary (for example a parking lot with a single fixed price tariff, and where Mag-Stripe Mode is the only supported mode).
Another scenario where Start B may be used is if a card needs to be re-presented. For example, if CDCVM is required and the cardholder has not yet performed it then Start B might be used after the cardholder has been asked to follow the instructions on their consumer device and re-present it to the terminal.
Start C begins the transaction at the Combination Selection stage and is typically only used when it was not possible to process a transaction using a previously selected combination, for example if any of the transaction parameters were not supported by that card application. If there is at least one remaining combination that has not yet been attempted, then the kernel will select the highest priority remaining combination and will proceed with activation of the appropriate kernel. This process could potentially be repeated until all combinations have been attempted.
Start D is used to resume the processing of a specific kernel that was previously activated during the transaction. This may be used for risk management purposes in situations where the Entry Point restarts mid-transaction, for example after an online authorisation was attempted.