• No results found

Building the Candidate List

In document Visa VIS Specification 15_May_2009 (Page 50-54)

3 Application Selection

READ RECORD

3.4 Building the Candidate List

'6A83'—Record number does not exist

3.4 Building the Candidate List

There are two approaches used by the terminal to build a list of mutually supported applications.

Directory Selection Method is optional for cards and terminals, but if supported by the terminal, it is attempted first. In the Directory Selection Method, the terminal reads the Payment System Environment file from the card. This file is a list of all of the payment applications supported by the card. The terminal adds any applications listed in both the card list and the terminal list to the candidate list.

List of AIDs Method is mandatory for cards and terminals. In the List of AIDs Method, the terminal issues a SELECT command for each terminal-supported application. If the card response indicates that the application is supported by the card, then the terminal adds the application to the candidate list.

3.4.1 Directory Selection Method

Directory Selection Method processing from a card perspective includes the following steps:

1. The card receives a SELECT command from the terminal requesting selection of the PSE (file name 1PAY.SYS.DDF01).

– If the card is blocked, then the card shall respond with SW1 SW2 = '6A81'.

– If there is no PSE, then the card shall respond to the SELECT command from the terminal with SW1 SW2 = '6A82' indicating that this file does not exist.

– If the PSE is blocked, then the card shall respond with SW1 SW2 = '6283'.

– If the PSE is found, then the card responds to the terminal with SW1 SW2 = '9000' and the FCI for the PSE.

2. If the PSE is found, then the card receives READ RECORD commands from the terminal indicating the files and records to be read. The card responds to each READ RECORD command with the requested record and SW1 SW2 = '9000'. When the requested record is not available, the card shall respond with SW1 SW2 = '6A83' indicating that the record is not available.

Note: The PSE personalized for VIS applications shall not contain any DDF entries.

For example, the terminal would perform the following steps to process the Payment Systems Directory shown in Figure 3-1:

1. Reads Record 1 from the Payment Systems Directory.

2. Checks whether the AID for ADF Entry 1 in Record 1 from the Payment System Directory matches a terminal AID. If yes, the ADF is added to the candidate list.

Visa Integrated Circuit Card Specification (VIS) 3 Application Selection

Version 1.5 3.4 Building the Candidate List

3. Checks whether the AID for ADF Entry 2 in Record 1 from the Payment System Directory matches a terminal AID. If yes, the ADF is added to the candidate list.

4. Reads Record 2 from the Payment Systems Directory.

5. The card responds that there are no more records in the directory.

6. Checks to see whether the AID for ADF Entry 1 in Record 2 from the Payment System Directory matches a terminal AID. If yes, the ADF is added to the candidate list.

7. Completes the candidate list when the card responds that there are no more records in the Payment Systems Directory.

Figure 3-1: Sample Card Directory Structure

PSE Payment Systems Directory

Record 1

Entry 1 ADF

Entry 2 ADF

Record 2

Entry 1 ADF

3 Application Selection Visa Integrated Circuit Card Specification (VIS)

3.4 Building the Candidate List Version 1.5

3.4.2 List of AIDs Method

The List of AIDs method processing from a card perspective includes the following steps:

1. The card receives the SELECT command from the terminal which includes the AID from the terminal list of supported applications. The card determines whether any card application has a matching AID. (If the card AID is longer than the terminal AID, but the full terminal AID matches the beginning of the card AID, then the card AID shall be considered a match with the terminal AID.)

Sample matching AIDs are shown in Table 3-3.

a. If the card is blocked or the SELECT command is not supported, then the card shall discontinue processing the command and shall respond with

SW1 SW2 = '6A81' indicating that the transaction should be terminated.

b. If the application is blocked, then the card shall respond with SW1 SW2 = '6283' indicating that application is blocked.

If the AID matches, then the card shall respond to the SELECT command with the FCI and SW1 SW2 = '9000' (indicating that the application is supported by the card).

If the card AID matches the terminal AID except that the card AID is longer, then the card returns the entire card AID (DFname) in the FCI in the SELECT response to the terminal. If there are multiple such matching AIDs, the card chooses which matching card AID to return first.

If the card does not find a matching AID, then the card shall respond with SW1 SW2 = '6A82' indicating that the application was not found.

2. If the card continues receiving SELECT commands from the terminal, each SELECT command is processed as follows:

– If the P2 parameter in the SELECT is set to '02' indicating that the card should choose the next application with the same terminal AID:

On a multi-application card that could support more than one AID, the card chooses the next application that matches the terminal AID.

Table 3-3:Sample Matching AIDs

Terminal AID

Terminal

Application Card AID

Card Application

'A0000000031010' Visa 'A000000003101001' Visa Debit

'A0000000031010' Visa 'A000000003101002' Visa Credit

Visa Integrated Circuit Card Specification (VIS) 3 Application Selection

Version 1.5 3.4 Building the Candidate List

– If the application is blocked, then the card shall respond with SW1 SW2 = '6283' indicating that application is blocked.

– If the application is not blocked, then the card shall respond to the SELECT command with the FCI and SW1 SW2 = '9000' (indicating that the application is supported by the card).

When the card has no more applications that match the terminal AID, the card shall respond with SW1 SW2 = '6A82' to indicate to the terminal that all matching applications with this AID have been selected.

Otherwise, the card responds as described in step 1b above.

Note: The terminal continues sending SELECT commands which the card processes as described in this step 2 until the terminal has completed building its candidate list as described in EMV Book 3, section 12.3.3.

The terminal then proceeds as described in section 3.5 to choose the AID to use for the transaction, and send the final SELECT command to the card.

3 Application Selection Visa Integrated Circuit Card Specification (VIS)

In document Visa VIS Specification 15_May_2009 (Page 50-54)