4 - Command Set
DynaPro Go| Handheld PIN Pad Device with MSR/Contact/Contactless | Programmer’s Manual (COMMANDS)
Page 130 of 247 (
D998200136-31
)
4.5.6
Command 0xA4 - Acquirer Response ARPC (MAC-MSR)
If a chip card and the device determine an EMV transaction should be processed online, the device sends
an
to the host. The host should coordinate approval of the transaction
with the transaction processor, then use this command to provide the response from the transaction
processor to the device.
The host should stage a request message in a buffer, structured like the example below. For details about
using the general F9 MAC structure, see section
4.2 About Message Authentication Codes (“MAC-
. Information specific to this message is provided after the example. This
example assumes a transaction processor response of
8A 02 30 30
:
AAAA /* 2-byte MSB message length excluding padding and CBC-MAC */
F9<len> /* container for MAC structure and generic data */
DFDF54 (MAC KSN)<len><val>
DFDF55 (MAC Encryption Type><len><val>
DFDF25 (IFD Serial Number)<len><val>
FA<len> /* Container for generic data */
70<len> /*Container for ARPC data */
8A 02 30 30
<Padding to force F9 plus padding to be a multiple of 8 bytes>
<Four byte CBC-MAC>
TLV data object FA contains the full ARPC response, which must contain at least Response Code 8A,
otherwise the host should terminate the transaction. Depending on the card type, FA may contain one or
more of the following additional EMV data tags:
91 = Issuer Authentication Data
71 = Issuer Script Template 1
72 = Issuer Script Template 2
If the device is not configured to disable CBC-MAC verification, the host should calculate the CBC-
MAC using the
Message Authentication, request or both ways
variant of the same MSR DUKPT
working key used in the related ARQC Request. The device may also be factory configured to disable
CBC-MAC verification (see the
ARPC MAC Checking
bit in
Command 0x09 - Set / Get Device
), in which case the MAC structure is still required, but the CBC-MAC field can be filled
with any value. Depending on the device’s terminal setting DFDF02, it may include tag DFDF40 in the
ARQC request to help the host determine whether the device will check the CBC-MAC; 0x80 = checked,
0x00 means not checked.
After constructing the full message, the host should send it to the device using
. After sending the contents of the message, the host should send the following
command to trigger the device to process it:
Table 4-79 - Usage Table for Command 0xA4
Bit
7
6
5
4
3
2
1
0
Byte 0
0xA4
Bytes 1..12
Reserved