Page 1
Secure Card Reader Authenticator Programmer’s Manual (COMMANDS) February 2019 Manual Part Number: D998200115-17 REGISTERED TO ISO 9001:2015 MagTek I 1710 Apollo Court I Seal Beach, CA 90740 I Phone: (562) 546-6400 I Technical Support: (888) 624-8350 www.magtek.com...
Page 2
PUBLICATION RELEASE. NO PART OF THIS DOCUMENT MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS, ELECTRONIC OR MECHANICAL, FOR ANY PURPOSE, WITHOUT THE EXPRESS WRITTEN PERMISSION OF MAGTEK, INC. MagTek® is a registered trademark of MagTek, Inc.
Page 3
Change “insert a card” “swipe a card” and “tap a card” to “present payment” (reviewed by EL and HM); Tag relevant features and values as Only Contact / Online; Retrofit eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 3 of 245 (D998200115-17)
Page 4
Dynamag and USB Enc IntelliHead V5; Add Quick Chip feature and more supporting information; Remove deprecated products including Flash reader, Home Banking (Dynamo LCD), iDynamo throughout; Remove deprecated connection types Proprietary Wireless and 30-pin eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 4 of 245 (D998200115-17)
Page 5
Section 4.3 add “C” as a security option; Throughout, clarify Security Level 2 behavior and impact on MagnePrint values and security; Misc. clarifications and corrections. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 5 of 245 (D998200115-17)
MagTek’s published specifications. This warranty shall be provided only for a period of one year from the date of the shipment of the product from MagTek (the “Warranty Period”). This warranty shall apply only to the “Buyer” (the original purchaser, unless that entity resells the product as authorized by MagTek, in which event this warranty shall apply only to the first repurchaser).
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MAGTEK SHALL NOT BE LIABLE FOR CONTINGENT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES TO PERSONS OR PROPERTY. MAGTEK FURTHER LIMITS ITS LIABILITY OF ANY KIND WITH RESPECT TO THE PRODUCT, INCLUDING ANY NEGLIGENCE ON ITS PART, TO THE CONTRACT PRICE FOR THE GOODS.
Encryption, Decryption, and Key Management .................. 36 Determining Key ..........................36 Decrypting Data ..........................37 Magnetic Stripe Card Data Sent from Device to Host (MSR Only | Keypad Entry Only) ..... 38 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 8 of 245 (D998200115-17)
Page 9
Notification Messages Sent from Device to Host (Extended Notifications Only) ......58 About Notification Messages......................58 Notification Group 0x03 - EMV L2 (EMV Only) ................60 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 9 of 245 (D998200115-17)
Page 10
Command 0x4D - Configure General Status LED (PM3 Only) ......... 94 Command Group 0x03 - EMV L2 (EMV Only, Extended Commands Only) ......95 8.4.1 About EMV L2 Transaction Flows (EMV Only) ..............95 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 10 of 245 (D998200115-17)
MagTek has also developed software that demonstrates direct communication with the device, which software developers can use to test the device and to which provides a starting point for developing other software. For more information, see the MagTek web site, or contact your reseller or MagTek Support Services.
Device refers to the Secure Card Reader Authenticator (SCRA) that receives and responds to the command set specified in this document. Devices include Dynamag, eDynamo, and so on. Host refers to the piece of general-purpose electronic equipment the device is connected or paired to, which can send data to and receive data from the device.
MSR Conf. MP Variants MSR SureSwipe MSR JIS Capable SHA-1 SHA-256 Configurable SHA Configurable Encryption Algorithm Set Mask Service Code Never Mask Service Code MagneSafe 2.0 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 18 of 245 (D998200115-17)
Page 19
Extended Notifications Pairing Modes Custom Advertising Conf. Lightning FID Auxiliary Ports External LED 120 24 24 120 24 N 24 120 24 N Encrypt Bulk Data (b) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 19 of 245 (D998200115-17)
Page 20
3) This feature is available in Dynamag and USB Enc IntelliHead V5 firmware version 21042840K00 (released January 2019) and newer. 4) This feature is available in mDynamo firmware revision 1000003358F01 (released December 2017), eDynamo firmware revision 1000003354F00 (released October 2018), and newer.
Devices that implement a combination of EMV Contact / EMV Contactless / MSR swipe report PID 0x0019 when in HID mode. All devices report PID 0x0001 when in KB mode. MagTek I 1710 Apollo Court I Seal Beach, CA 90740 I Phone: (562) 546-6400 I Technical Support: (888) 624-8350 www.magtek.com...
2.1.2 How to Send Commands On the USB Connection. For information about receiving unsolicited data from the device via Input Reports, see section 2.1.3 How to Receive Data On the USB Connection (HID Only). eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 22 of 245 (D998200115-17)
In very rare cases, the host may simply send a Get Feature Report directly without a preceding Set Feature Report. The Commands documentation specifies these special cases if they exist. (Extended Commands Only) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 23 of 245 (D998200115-17)
Page 24
Command 0x4A - Get Extended Response (Extended Commands Only) to retrieve Extended Responses. See the documentation for those two commands for details about how Extended Commands and Extended Responses work. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 24 of 245 (D998200115-17)
Notification message packet reports are generally 63 bytes long. If a notification message can’t fit into one packet, the device sends multiple packets, each containing the notification message packet format in Table 7-2 and partial notification message data. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 25 of 245 (D998200115-17)
The length of the characteristic is 2 + the data length field value. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 26 of 245 (D998200115-17)
Page 27
If the last block of card data happens to be exactly 512 bytes long, the device sends an additional Data ready notification with a block length of zero. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 27 of 245 (D998200115-17)
5) Interpret the data according to section 3.2 How to Use GATT Format (GATT Only). For a full list of commands and details about how to use them, see section 8 Commands. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 28 of 245 (D998200115-17)
6 Magnetic Stripe Card Data Sent from Device to Host for card data, and section 7 Notification Messages Sent from Device to Host (Extended Notifications Only). eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 29 of 245 (D998200115-17)
Page 30
3 - Data Formats eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 30 of 245 (D998200115-17)
131072 bytes minus headers (3 + 8) = 131061 bytes, which is large enough to fit a maximum sized notification message with a complete data length of 65535 bytes without splitting it into multiple packets. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 31 of 245 (D998200115-17)
Page 32
(19), times the maximum number of block identifiers (255) = 4845 bytes - headers (3 + 8) = 4834 bytes. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 32 of 245 (D998200115-17)
- Activate Authenticated Mode). Correctly executing the Authentication Sequence also causes the green LED to blink, alerting the operator that the device is being controlled by a host with knowledge of the eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 33 of 245 (D998200115-17)
4) Use the variant algorithm with the current key to calculate that variant. 5) Decrypt the data according to the steps in section 5.2 Decrypting Data. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 36 of 245 (D998200115-17)
(ignoring the padding at the end, which contains all zeroes). 7) Truncate the end of the decrypted data block to the expected data length, which discards the padding at the end. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 37 of 245 (D998200115-17)
The string of s is the Expiration Date. The string of s is the Service Code. For swiped credit / debit cards, this comes from the card. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 39 of 245 (D998200115-17)
Page 40
CVV2; Track 2 has three zeroes after the Service Code, and two zeroes after CVV2. o The contains either a 0 or a 1. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 40 of 245 (D998200115-17)
Format Where to Find Value Usage 0x22 Streaming Data Object 8262 Byte 3 GATT/SLIP Offset 2 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 41 of 245 (D998200115-17)
The card encode type could not be determined because no tracks could be Undetermined decoded. Combination of Error tracks and Blank Tracks, at least one Error track. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 42 of 245 (D998200115-17)
DUKPT Key Variant used to encrypt Encrypted MagnePrint Data. 0 = PIN Encryption, 1 = Data Encryption, request or both ways (Configurable MagnePrint Variants Only) Unused (always set to 0) Unused (always set to 0) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 43 of 245 (D998200115-17)
If the value is 0, the device found no data on the track or encountered an error decoding the track. Format Where to Find Value Usage 0x52 Streaming GATT/SLIP Offset 853 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 45 of 245 (D998200115-17)
For information about the contents of track data, see section 6.1 About Track Data. For information about decryption, see section 5 Encryption, Decryption, and Key Management. Format Where to Find Value Usage 0x32 Data Object 8217 GATT/SLIP Offset 231...342 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 46 of 245 (D998200115-17)
Thinking about the value in hexadecimal notation, each hexadecimal digit represents 4 bits. For example, Table 6-4 shows a MagnePrint Status where the characters are A1050000. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 47 of 245 (D998200115-17)
Page 48
Product Revision/Mode Product Revision/Mode Product Revision/Mode Reserved Reserved Direction Reserved Too Fast Too Slow Reserved for noise measurement Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 48 of 245 (D998200115-17)
3) If the device transmitted a MagnePrint Absolute Data Length (HID | TLV | GATT | SLIP), truncate the data to that length to yield the MagnePrint data. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 49 of 245 (D998200115-17)
Property 0x03 - Device Serial Number. This value is stored in non-volatile memory, so it persists when the device is power cycled. Format Where to Find Value Usage 0x40 Data Object 8102 GATT/SLIP Offset 477..492 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 50 of 245 (D998200115-17)
This one-byte value indicates how many bytes of decoded card data are in the Track 1 Masked Data value. This value is zero if there is no data on the track or if there was an error decoding the track. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 51 of 245 (D998200115-17)
If the Mod 10 correction is not specified, all of the intermediate characters of the PAN are set to the specified mask character. Cardholder Name and the Expiration Date are sent unmasked. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 52 of 245 (D998200115-17)
All other characters are set to the specified mask character. Format Where to Find Value Usage 0x4B (112 bytes fixed, must be truncated) Data Object 8222 GATT/SLIP Offset 620-731 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 53 of 245 (D998200115-17)
Command 0x09 - Get Current TDES DUKPT KSN. If no keys are loaded, all bytes have the value 0x00. Format Where to Find Value Usage 0x46 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 54 of 245 (D998200115-17)
Only). If the device does not support SHA-1, this value is absent or contains padding. Format Where to Find Value Usage 0x57 Streaming Data Object 8308 GATT/SLIP Offset 867..886 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 55 of 245 (D998200115-17)
Derivation Key injected into the device during manufacture, and the device’s serial number; how those two values are combined into the 59 bits is defined by a convention the customer decides when architecting the solution, with support from MagTek. If no keys are loaded, all bytes have the value 0x00.
Page 57
6 - Magnetic Stripe Card Data Sent from Device to Host (MSR Only | Keypad Entry Only) Format Where to Find Value GATT/SLIP Offset 930 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 57 of 245 (D998200115-17)
(Extended Notifications Only). In many cases, two-byte notification identifiers are assigned such that the high byte indicates a group of related commands, and the low byte specifies a command within that group. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 58 of 245 (D998200115-17)
Page 59
May contain part or all of the notification data. The size of this field is 8..n Data contained in the Partial Data Length field. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 59 of 245 (D998200115-17)
Indicates the remaining time available, in seconds, for the indicated Current Operation operation to complete. The timeout is set by the host when calling the Time remaining command. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 60 of 245 (D998200115-17)
Page 61
0x18 = Application selection failed (Contact Only) 0x19 = EMV error - Card Not Accepted (Contact Only) 0x1A = Empty Candidate List 0x1B = Application Blocked 3..4 Final Status eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 61 of 245 (D998200115-17)
Messages are limited to 1024 bytes. If the message is zero length, this is a request for the host to clear the display. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 62 of 245 (D998200115-17)
User Selection Result to return the number of the item the cardholder selected, which should be between 1 and the number of menu selection items being displayed. The first item, 0, is the title only. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 63 of 245 (D998200115-17)
See Property 0x68 – EMV Message Format and Appendix D.1 ARQC ARQC Messages (EMV Only). The host is expected to use this data to process a Message request. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 64 of 245 (D998200115-17)
See Property 0x68 – EMV Message Format and Appendix D.3 Transaction Data Result Messages . It is expected that the host will save this data as a record of the transaction. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 65 of 245 (D998200115-17)
Command Response Data Length is a one byte value that contains the length of the Command Response Data field. Command Response Data contains response data as defined in the documentation for the selected command in section 8 Commands. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 66 of 245 (D998200115-17)
The tamper device is not ready to be armed. (Tamper Only) Unarmed tamper, bad signature 0x0F The tamper is not armed because of a bad signature. (Tamper Only) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 67 of 245 (D998200115-17)
NULL character. The result codes for the Get Property command can be any of the generic result codes listed in Table 8-3 on page 67. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 68 of 245 (D998200115-17)
This is a multiple-byte ASCII string. Its length can be zero to a maximum length String that depends on the property. The data length listed in the tables for each property does not include the terminating NULL character. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 69 of 245 (D998200115-17)
0x00 = Success 0x07 = Incorrect MAC, or authentication sequence is pending Example Request (Hex) Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 70 of 245 (D998200115-17)
Device Serial Number, and 3 padding zero bits. In these cases, the key can be referenced by an 8-digit MagTek part number (“key ID”) consisting of the 7 hex digit Key Set ID plus a trailing “0.” Request Data: None...
Example Set Session ID Request (Hex) Cmd Num Data Len Data 54 45 53 54 54 45 53 54 Example Set Session ID Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 72 of 245 (D998200115-17)
Table 8-11 - Request Data for Command 0x10 - Activate Authenticated Mode (MSR Only) Offset Field Name Description PreAuthentication Time Most significant byte of the PreAuthentication Time Limit in Limit (msb) seconds (120 seconds or greater) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 73 of 245 (D998200115-17)
Page 74
Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data FFFF 0123 4567 8000 0003 9845 A48B 7ED3 C294 7987 5FD4 03FA 8543 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 74 of 245 (D998200115-17)
0x04 = Bad Data - the encrypted reply data could not be verified 0x07 = Sequence - not expecting this command Example Request (Hex) Cmd Num Data Len Data 8579827521573495 Example Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 75 of 245 (D998200115-17)
0x03 = Bad Data - the encrypted reply data could not be verified 0x07 = Sequence - not expecting this command Example Request (Hex) Cmd Num Data Len Data 8579827521573495 Example Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 76 of 245 (D998200115-17)
Example 4 – Host waits too long sending Command 0x11 - Activation Challenge Response (MSR Only): 1) Device waiting after a good swipe. Host software may send this command to discover the current state of the device is WaitActAuth:GoodSwipe. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 77 of 245 (D998200115-17)
Page 78
Authentication Activation Timed Out. The host failed to send Command 0x06 TOAuth 0x11 - Activation Challenge Response in the time period specified by Command 0x10 - Activate Authenticated Mode. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 78 of 245 (D998200115-17)
Page 79
Command 0x11 - Activation Challenge Response. Result codes: 0x00 = Success Example Request (Hex) Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data 00 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 79 of 245 (D998200115-17)
Example Set Security Level Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Data Example Get Security Level Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 80 of 245 (D998200115-17)
0x00 = Success 0x02 = Invalid length Example Request (Hex) Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data 544553542053455455502030303031000007F1 (2033 MSR Transactions Remaining) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 81 of 245 (D998200115-17)
Result codes: 0x00 = Success Example Request (Hex) Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data (Battery at 98%, almost full charge) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 82 of 245 (D998200115-17)
Data Len Data 01 00 02 01 02 03 (Send Echo command) Example Response (Hex) Result Code Data Len Data 01 01 00 01 02 03 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 83 of 245 (D998200115-17)
Example Request (Hex) Command identifier Request data length Request data 01 00 06 55 AA Example Response (Hex) Result code Response data length Response data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 85 of 245 (D998200115-17)
Example Request (Hex) Command identifier Request data length Request data 01 00 07 55 AA Example Response (Hex) Result code Response data length Response data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 86 of 245 (D998200115-17)
Bluetooth LE Property 0x16 - Maximum Bond Count (Bluetooth LE Only, Pairing Modes Only). For eDynamo, this property was added to the firmware starting with Bluetooth LE firmware ID 1000002650B01.
0x01 = Bluetooth LE (Bluetooth LE Only) Result codes: 0x00 = Success Example Request (Hex) Cmd Num Data Len Data Example Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 88 of 245 (D998200115-17)
58 (for example see section 2.1.2 How to Send Commands On the USB Connection), so this field can have a maximum length of 58 - 6 = 52 bytes. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 89 of 245 (D998200115-17)
Page 90
0x030D - Read Date and Time] Example Response (Hex) Result Code Data Len Data 00 00 00 00 00 07 06 14 11 00 00 00 01 (6/20/2009 5:00pm) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 90 of 245 (D998200115-17)
Example Response (Hex) Result Code Data Len Data 00 34 00 00 00 37 35 36 37 (Last 3 bytes of extended data out of 55 bytes) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 91 of 245 (D998200115-17)
Example Request (Hex) Cmd Num Data Len Data In the following example, tamper is armed, circuit 1 has registered a tamper, and the device signature was erased. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 92 of 245 (D998200115-17)
Page 93
8 - Commands Example Response (Hex) Result Code Data Len Data 13 02 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 93 of 245 (D998200115-17)
1 = Green Result codes: 0x00 = Success Example Request (Hex) Cmd Num Data Len Data 01 (Green) Example Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 94 of 245 (D998200115-17)
Page 96
Notification 0x0304 - Transaction Result Message, which contains transaction details the host should save for later verification. The transaction result message indicates whether the host must prompt the cardholder to provide a signature. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 96 of 245 (D998200115-17)
Page 99
0x0978 = Euro Reporting This single byte field indicates the level of Transaction Status notifications the Option host wants the device to send during the transaction: eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 99 of 245 (D998200115-17)
Page 100
0000 Extended Command Number 0300 Complete Extended Data Length 0013 Extended Data 3C020000000000150000000000000000084002 Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 100 of 245 (D998200115-17)
Page 101
8 - Commands Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 101 of 245 (D998200115-17)
Command Number Data Length Data 0000 Extended Data Offset 0302 Extended Command Number 0002 Complete Extended Data Length 0001 Extended Data Example Response (Hex) Header Result Code eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 102 of 245 (D998200115-17)
Page 103
8 - Commands Data Length Data Extended Data Offset 0000 Extended Result Code 0000 0000 Complete Extended Data Length Not Applicable Extended Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 103 of 245 (D998200115-17)
Extended Command Number 0303 Complete Extended Data Length 003C 003AF92EDFDF540A00000000000000000000DFDF550182DFD F250F423335453243443038303131364141FA0670048A0230300 Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 104 of 245 (D998200115-17)
Page 105
Example Response Following Up For Packet 0 (Hex) Header Result Code Data Length Data 0000 Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length Not Applicable Extended Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 105 of 245 (D998200115-17)
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 106 of 245 (D998200115-17)
UIK installed in the device and following ISO 9797, MAC Algorithm 3, Padding Method 1. In cases where only MagTek knows the UIK, MagTek must be involved to populate the MAC field. If the device is set to Security Level 2, the device ignores the MAC field and the Device Serial Number field and the host can set them to all zeroes.
Page 108
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 108 of 245 (D998200115-17)
FA<len> /* container for generic data */ <tag> … Tags to Read <tag> Tag DFDF47 cannot be read individually. This tag can only be retrieved using the ‘Read All Tags’ option. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 110 of 245 (D998200115-17)
Page 111
Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 000B Extended Data 0009FA8200059F1A020840 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 111 of 245 (D998200115-17)
0x0393 = Invalid Slot Number field 0x0394 = Invalid Operation field 0x0395 = Invalid Database Selector field 0x0396 = Invalid Objects to Write field 0x0397 = Invalid MAC eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 112 of 245 (D998200115-17)
Page 113
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 0000 Complete Extended Data Length Extended Data Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 113 of 245 (D998200115-17)
0x0394 = Invalid Operation field 0x0395 = Invalid Database Selector field 0x0396 = Invalid Tags to Read field Example Request (Hex) Header Command Number Data Length eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 114 of 245 (D998200115-17)
Page 115
Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 000F Extended Data 000DFA8200099F0606A00000002501 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 115 of 245 (D998200115-17)
< DFDF7B><len><value>/* Modulus */ < DFDF7C><len><value>/* Key Exponent */ < DFDF7D><len><value> /* Checksum */ n..n+3 MAC computed on Device Serial Number (DSN) and Objects to Write fields. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 116 of 245 (D998200115-17)
Page 117
Device Serial Number and xxxxxxxx is the 4-byte MAC Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 117 of 245 (D998200115-17)
Page 118
8 - Commands Extended Data Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 118 of 245 (D998200115-17)
Two byte binary, most significant byte first. This gives the total length of the 0..1 Length message that follows. FA<len> /* container for generic data */ <tag><len><value> Tags Read … <tag><len><value> eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 119 of 245 (D998200115-17)
Page 120
Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset Extended Result Code 0000 Complete Extended Data Length 001F 001DFA820019DFDF790100DFDF7A0100DFDF7B0100DFDF7 Extended Data C0100DFDF7D0100 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 120 of 245 (D998200115-17)
Extended Command Number 0001 Complete Extended Data Length Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 121 of 245 (D998200115-17)
Devices except the following can set this field to all zeroes. Device Serial 1..16 Number eDynamo with firmware part number 1000003354 revisions earlier than G02 eDynamo with firmware part number 1000002649 Month Value from 0x01..0x0C Value from 0x01..0x1F (less depending on month) Hour Value from 0x00..0x17...
Page 124
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 0000 Complete Extended Data Length Not Applicable Extended Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 124 of 245 (D998200115-17)
030D Extended Command Number 0000 Complete Extended Data Length Not Applicable Extended Data Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 125 of 245 (D998200115-17)
Page 126
8 - Commands Extended Result Code 0000 Complete Extended Data Length 0007 Extended Data 0204130D340009 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 126 of 245 (D998200115-17)
Extended Command Number 030E 0001 Complete Extended Data Length Extended Data Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 127 of 245 (D998200115-17)
Page 128
8 - Commands Complete Extended Data Length 0000 Extended Data Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 128 of 245 (D998200115-17)
Page 130
(In some EMV Letters of Approval, this is referred to as “C3”) Attended, Online Only SDA, DDA and CDA disabled With MSR Fallback eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 130 of 245 (D998200115-17)
Page 131
0x0395 = Invalid Database Selector field 0x0397 = Invalid MAC 0x039C = Invalid Configuration Identifier Example Request (Hex) Header Command Number Data Length Data Extended Data Offset 0000 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 131 of 245 (D998200115-17)
Page 132
Example Response (Hex) Header Result Code Data Length Data Extended Data Offset 0000 Extended Result Code 0000 Complete Extended Data Length 0000 Extended Data Not Applicable eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 132 of 245 (D998200115-17)
Extended Command Number 0311 Complete Extended Data Length 0001 Extended Data Example Response (Hex) Header Result Code Data Length Data 0000 Extended Data Offset 0000 Extended Result Code eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 133 of 245 (D998200115-17)
Page 134
8 - Commands Complete Extended Data Length 0001 Extended Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 134 of 245 (D998200115-17)
MagTek. Changing these configuration properties requires low-level communication with the device. Details for communicating with the device to read or change programmable properties are provided in section 8.3.1 Command 0x00 - Get Property and section 8.3.2 Command 0x01 - Set Property (MAC).
Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value 31 32 33 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 136 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 137 of 245 (D998200115-17)
Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value 31 32 33 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 138 of 245 (D998200115-17)
Attempts to set this property fail with RC = 0x01. Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value 56 30 35 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 139 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 140 of 245 (D998200115-17)
(see Command 0x02 - Reset Device) or powered off for at least 30 seconds, then powered on, before the changes will take effect. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 141 of 245 (D998200115-17)
(see Command 0x02 - Reset Device) or powered off for at least 30 seconds, then powered on, before the changes will take effect. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 142 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 143 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 144 of 245 (D998200115-17)
(see Command 0x02 - Reset Device) or powered off for at least 30 seconds, then powered on, before the changes will take effect. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 145 of 245 (D998200115-17)
(see Command 0x02 - Reset Device) or powered off for at least 30 seconds, then powered on, before the changes will take effect. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 146 of 245 (D998200115-17)
0x01, otherwise it equals 0x00. This is most useful for the host to determine whether a card is already inserted during startup. For eDynamo, this property is available in firmware revisions 1000003354E00 (released June 2017) and later.
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 148 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 149 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 150 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 151 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 152 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 153 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 154 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 155 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 156 of 245 (D998200115-17)
Removed when the cardholder removes a card from the EMV card slot. Reserved Always set to zeroes. For eDynamo, this property is available in firmware revisions 1000003354E00 (released June 2017) and later. For mDynamo, this property is available in firmware revisions 1000003358C00 (released in June 2017) and later.
Page 158
9 - Properties Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Data eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 158 of 245 (D998200115-17)
Example Set Response (Hex) Result Code Data Len Data Example Get Request (Hex) Cmd Num Data Len Property ID Example Get Response (Hex) Result Code Data Len Property Value eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 159 of 245 (D998200115-17)
Data Len Data 01 00 00 01 Example Get Response (Hex) Result Code Data Len Data 01 01 00 EC 11 A0 E5 C5 78 (value 0x78C5E5A011EC) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 160 of 245 (D998200115-17)
Bluetooth LE device address converted to ASCII hex, and YY is the least significant byte. For example, if the second to least significant byte of an eDynamo’s Bluetooth LE device address is 0x11 and the least significant byte is 0xEC, the Bluetooth LE device name would be eDynamo-11EC. To reset the device to this default, set this property using a zero-length string.
Example Get Request (Hex) Cmd Num Data Len Data 01 00 00 03 Example Get Response (Hex) Result Code Data Len Data 01 01 00 01 (value 1) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 162 of 245 (D998200115-17)
Data Len Data 01 00 01 07 3F 42 0F 00 (value 999999 decimal) Example Set Response (Hex) Result Code Data Len Data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 163 of 245 (D998200115-17)
When the Normally Connectable bit is set to 1, it usually also desirable to only have the host initiate Bluetooth LE disconnects, instead of the device. To prevent the device from disconnecting from the eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 164 of 245 (D998200115-17)
Page 165
1 disables this behavior. Pressing and releasing the button can still be used to exit airplane mode, regardless of how this bit is set. This bit is only supported by eDynamo beginning with Bluetooth LE software ID 1000002650C01 in 7/2016, and is reserved in earlier firmware versions and other devices.
Data Len Data 01 00 01 0B 20 4E 00 00 (20000 (0x4E20) milliseconds) Example Set Response (Hex) Result Code Data Len Data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 166 of 245 (D998200115-17)
Example Set Request (Hex) Cmd Num Data Len Data 01 00 01 0C 0A 00 (12.5 milliseconds) Example Set Response (Hex) Result Code Data Len Data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 167 of 245 (D998200115-17)
Example Set Request (Hex) Cmd Num Data Len Data 01 00 01 0D 0A 00 (12.5 milliseconds) Example Set Response (Hex) Result Code Data Len Data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 168 of 245 (D998200115-17)
Example Set Request (Hex) Cmd Num Data Len Data 01 00 01 0E 04 00 (value 4) Example Set Response (Hex) Result Code Data Len Data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 169 of 245 (D998200115-17)
Example Set Request (Hex) Cmd Num Data Len Data 01 00 01 0F F4 01 (5000 milliseconds) Example Set Response (Hex) Result Code Data Len Data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 170 of 245 (D998200115-17)
Data Len Data 01 00 01 12 01 (send connection parameter update bit is set) Example Set Response (Hex) Result Code Data Len Data 01 01 00 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 171 of 245 (D998200115-17)
When a host is connected to the device, the device does not advertise and is not able to connect to any other host until the connection is broken. This option was added to eDynamo Bluetooth LE firmware 1000002650C01 in July 2016.
While the device is pairable, the LED blinks on briefly every 2 seconds for the number of minutes the device is pairable for. For eDynamo, this property was added to the firmware starting with Bluetooth LE firmware ID 1000002650B01. Before adding this property, the firmware behaved as if the property was set to 0.
Bluetooth LE communication, it is best to change it using the USB connection. For eDynamo, this property was added to the firmware starting with Bluetooth LE firmware ID 1000002650B01. Before adding this property, the firmware behaved as if this property was set to 9.
Bluetooth LE communication, it is best to change it using the USB connection. For eDynamo, this property was added to the firmware starting with Bluetooth LE firmware ID 1000002650B01. Before adding this property, the firmware behaved as if this property was set to 0.
Modifying this property too many times wears out flash memory. Because this property affects Bluetooth LE behavior, MagTek recommends only changing it using the USB interface. When this property is changed, the device must be reset (see Command 0x02 - Reset Device) or powered off, then powered on, before the changes will take effect.
Page 177
Appendix A - Bluetooth LE Controller Properties (Bluetooth LE Only) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 177 of 245 (D998200115-17)
When this property is changed, the device must be reset (see Command 0x02 - Reset Device) or powered off, then powered on, before the changes will take effect. This property was added in eDynamo Bluetooth LE firmware version 1000002650C02. Example Set Request (Hex)
Page 179
Appendix A - Bluetooth LE Controller Properties (Bluetooth LE Only) Example Get Response (Hex) Result Code Data Len Data 01 01 00 40 06 (1000ms / .625ms) = 1600 (0x0640) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 179 of 245 (D998200115-17)
Advertising Only), determines the Bluetooth LE advertising interval the device uses for one minute after the device exits airplane mode. MagTek recommends setting both properties to the same value. Smaller advertising intervals cause the device to consume more power when advertising, which may be a concern when running on battery power.
Page 181
Appendix A - Bluetooth LE Controller Properties (Bluetooth LE Only) Example Get Response (Hex) Result Code Data Len Data 01 01 00 40 06 (1000ms / .625ms) = 1600 (0x0640) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 181 of 245 (D998200115-17)
Only), determines the Bluetooth LE advertising interval the device uses for one minute after the device exits airplane mode. MagTek recommends setting both properties to the same value. Smaller advertising intervals cause the device to consume more power when advertising, which may be a concern when running on battery power.
Page 183
Appendix A - Bluetooth LE Controller Properties (Bluetooth LE Only) Example Get Response (Hex) Result Code Data Len Data 01 01 00 40 06 (1000ms / .625ms) = 1600 (0x0640) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 183 of 245 (D998200115-17)
When this property is changed, the device must be reset (see Command 0x02 - Reset Device) or powered off, then powered on, before the changes will take effect. This property was added in eDynamo Bluetooth LE firmware version 1000002650C02. Example Set Request (Hex)
Page 185
Appendix A - Bluetooth LE Controller Properties (Bluetooth LE Only) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 185 of 245 (D998200115-17)
When this property is changed, the device must be reset (see Command 0x02 - Reset Device) or powered off, then powered on, before the changes will take effect. This property was added in eDynamo Bluetooth LE firmware version 1000002650C02. Example Set Request (Hex)
Page 187
Appendix A - Bluetooth LE Controller Properties (Bluetooth LE Only) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 187 of 245 (D998200115-17)
Page 198
Continuing in reverse block order, 724C5DB7D6F901C7 TDES Decrypt with 27F66D5244FF621E AA6F6120EDEB427F gets 3B35343532333030, which is decrypted block 1. Ordering the decrypted blocks first to last gives: eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 198 of 245 (D998200115-17)
Page 200
Continuing in reverse block order, 4703576BC5C2CB20 TDES Decrypt with 27F66D5244FF621E AA6F6120EDEB427F gets 01000184EA10B939, which is decrypted block 1. Ordering the decrypted blocks first to last yields: eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 200 of 245 (D998200115-17)
Page 201
This is a simple eight byte block, so the host software can simply decrypt it with the appropriate key. 21685F158B5C6BE0 TDES Decrypt with 27F66D5244FF621E AA6F6120EDEB427F gets 0000000000000000. It contains all zeroes because the host software did not specify a session ID. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 201 of 245 (D998200115-17)
(proves key knowledge). ; Decrypt Challenge 2 using Current Encryption Key variant as above A72D2DB236BF29D2 TDES Decrypt with FD0329B2DA3AA6EA B7979DF75D9B5DF5 = 34DB9230698281B4 eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 209 of 245 (D998200115-17)
Page 210
DUKPT KSN or not (00 = no increment, 01 = increment). DDDDDDDDDDDDDD II These values are concatenated to form an eight byte block, we will specify No Increment: eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 210 of 245 (D998200115-17)
“SDK” and select the SDK and To download the SDKs and documentation, search www.magtek.com documentation for the programming languages and platforms you need, or contact MagTek Support Services for assistance. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS)
The PAN has a maximum of 19 digits and ends with the character ‘=’ (Field Separator). iii) The Expiration Date has 4 characters. iv) The Service Code has 3 characters. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 213 of 245 (D998200115-17)
ISO Track 2 rules, and Track 3 is formatted per ISO Track 1 [sic.] rules, the card is considered to be an AAMVA card. Some MagTek devices do not support reading of Track 3, so this rule does not apply on such devices.
Page 216
The Expiration Date is transmitted unmasked. All Field Separators are sent unmasked. All other characters are set to the specified mask character. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 216 of 245 (D998200115-17)
<tags defined by DFDF02 or DFDF08> F4<len>/* container tag for encrypted MSR data */ DFDF36 <EncT1status><len><val> DFDF37 <EncT1data><len><val> DFDF38 <EncT2status><len><val> DFDF39 <EncT2data><len><val> DFDF3A <EncT3status><len><val> DFDF3B <EncT3data><len><val> DFDF3C <Encrypted Magneprint Data><len><val> eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 217 of 245 (D998200115-17)
Page 218
DFDF43 <Magneprint Status Data><len><val> DFDF50(MSR KSN Data)<len><val> /*sent in the clear*/ DFDF51(MSR EncryptionType)<len><val> <Padding to force DFDF59 plus padding to be a multiple of 8 bytes> eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 218 of 245 (D998200115-17)
(ARPC padding, if any, to be a multiple of 8 bytes) CBC-MAC (4 bytes, reserved, must be sent to the device, however, the device does not check for the properly calculated CBC-MAC) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 219 of 245 (D998200115-17)
The format of Transaction Result messages depends on whether the device is set to Security Level 2 (not encrypting) or Security Level 3 (encrypting). Support for EMV transactions at Security Level 2 is only available on mDynamo. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 220 of 245 (D998200115-17)
(Buffer if any to be a multiple of 8 bytes) CBC-MAC (4 bytes reserved, not calculated) The value inside tag DFDF4D is fully described in section D.1.1. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 221 of 245 (D998200115-17)
FC<len>/* container for encrypted generic data */ F2<len>/* container for Transaction Data */ … /* Data tags (defined by DFDF17) */ F3<len>/* container for Reversal Data, if any */ eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 222 of 245 (D998200115-17)
Page 223
Appendix D - EMV Message Formats (EMV Only) … /* Reversal Data tags (defined by DFDF05)*/ eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 223 of 245 (D998200115-17)
Language Only) see Appendix F E.1.2 EMV Common Application Settings and Defaults There are no default EMV Application Settings shared across all application databases on the device. eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 224 of 245 (D998200115-17)
Terminal Language Codes Table 9-27 - Terminal Language Codes Language Code Language 656E English (en) 6672 French (fr) 6974 Italian (it) 6465 German (de) 6573 Spanish (es) eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS) Page 245 of 245 (D998200115-17)
Need help?
Do you have a question about the eDynamo and is the answer not in the manual?
Questions and answers