This section explains how to can create and modify application identifiers (AIDs) and associate them with TLV Groups in the reader's memory for specific types of transaction handling. Detailed descriptions of the configurable application identifier (CONAID) commands are also included.
Each AID uniquely identifies a payment application. The reader has default AIDs that are preconfigured to support common payment applications. These AIDs are called System AIDs and they can be modified or disabled, but not deleted. Readers also support up to eight user-defined AIDs called User AIDs.
Each AID must be associated with a TLV Group that defines transaction processing for that payment application. The System AIDs are initially associated with a default TLV Group (called Group 0), which can be modified but not deleted. User AIDs can be associated to the default TLV Group or any of seven other user-defined TLV Groups.
With the implementation of M/Chip 3.0, an additional default TLV Group (Group 80) has been added. M/Chip 3.0 does not use the Reader Default Group (Group 0).
All AIDs must be unique. The reader's default configuration is based on System AIDs and two default groups. All of the System AIDs (except PayPass AIDs, as noted above) initially refer to the default TLV Group 0. The diagram below shows the default reader AID configuration.
The configurable application identifiers feature of the ViVOpay readers allows users to create and customize AIDs and the TLV Groups associated with them. Each AID may have characteristics that are unique and different from the reader's default System AIDs and TLV Group configuration.
To create a new configurable AID, send to the reader both:
- the AID in question.
- the TLV Group to associate with it.
If the AID already exists in the reader's memory, it will modify the AID accordingly. When sent a new AID, the reader creates and saves the new AID. Multiple AIDs can be associated with the same TLV Group, or they can map to unique TLV Groups. Users may also redefine the functionality for an existing AID by linking it to a new configuration Group, or they may disable an AID if to prevent the reader processing transactions from that payment application. Users may delete an AID by communicating to the reader the AID number with no parameters.
As users add or modify AIDs and TLV Groups, the reader remembers all changes on subsequent boot up.
The diagram below shows an example of a reader's AID configuration after it has been modified with Configurable AIDs.
In the above example:
- Ten System AIDs have been disabled and four User AIDs and three new TLV Groups have been configured.
- The new AID User AID – 1 has been linked to the Reader Default Configuration (TLV Group 0) so that it functions as the other System AID 1 functions.
- The Maestro AID has been linked to the user-defined TLV Group – 2.
- User AID – 2 functions as defined in the new TLV Group – 3.
- Both User AID – 3 and User AID – 4 point to the new TLV Group – 4 and function accordingly.
Also notice that the other System AIDs have been disabled by removing their link to a configuration group.
Use the configurable AID commands to create new AIDs or change configuration values for an AID. Use the Configurable Group commands to create new groups or configuration values for a group.
Delete Configurable AID (04-04)
The Delete Configurable AID command deletes a configurable AID. It is MANDATORY to include the AID TLV of the AID to remove. Do not include other TLVs.
Command Frame
Byte 0-9 | Byte 10 | Byte 11 | Byte 12 | Byte 13 | Byte 14 … | Byte 14+n | Byte 15+n |
Header Tag & Protocol Version | Command | Sub-Command | Data Length (MSB) | Data Length (LSB) | Data | CRC (LSB) | CRC (MSB) |
ViVOtech2\0 | 04h | 04h | TLV Data Objects |
The Data Object encoded as TLV that this command can set is below.
9F06 | Application Identifier (AID) – terminal | MANDATORY | Identifies the application as described in ISO/IEC 7816-5. | b | 5 – 16 |
Response Frame
Byte 0-9 | Byte 10 | Byte 11 | Byte 12 | Byte 13 | Byte 14 | Byte 15 |
Header Tag & Protocol Version | Command | Status Code | Data Length (MSB) | Data Length (LSB) | CRC (MSB) | CRC (LSB) |
ViVOtech2\0 | 04h | 00h | 00h |
The user may NOT delete a System AID. If this command is used on a System AID, the reader disables that System AID but does not delete it. That System AID can be restored at any point by using the Set AID command on it. Until that point it does not function but continues to reside in the reader's database.
When deleting an AID, the reader returns an OK response for successful operations. If it failed to find a matching AID, it returns 60h (data does not exist).