Page 1
DynaPro Mini PIN Encryption Devices Programmer’s Reference (Microsoft Windows Store) March 2017 Manual Part Number: D998200077-40 REGISTERED TO ISO 9001:2008 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
March 6, 2017 Add GetDeviceInfo. Add support for DynaPro Go. Add note to getKSN function of its usage for token reversal. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 2...
Page 3
ARISING OUT OF THE USE, OR INABILITY TO USE, THE SOFTWARE. Licensee's sole remedy in the event of a defect in material or workmanship is expressly limited to replacement of the Software disk(s) if applicable. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 3...
Page 4
Agreement and will not affect the enforceability of any of the remaining provisions. This Agreement shall be governed by the laws of the State of California and shall inure to the benefit of MagTek, Incorporated, its successors or assigns.
Page 8
Send APDU to Card and Get Response ................. 70 Power Down ICC ........................ 71 End L1 Session ........................71 Appendix E Function Applicable Table ..................72 IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 8...
Page 9
0 – Table of Contents IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 9...
IPAD, DynaPro, DynaPro Go, or DynaPro Mini connected to a Windows-based host via USB, Ethernet, or BLE. It is part of a larger library of documents designed to assist IPAD, DynaPro, DynaPro Go, and DynaPro Mini implementers, which includes the following documents available from MagTek: ...
Description MTPPService.dll DLL required to interact with the PIN Encryption Device. System Requirements Tested operating systems: Windows 8.1 Windows 10 IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 11...
8) Press to continue the installation. Enter 9) PowerShell will show "Success: Your app was successfully installed." 10) Press Enter to close PowerShell. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 12...
If you are developing Microsoft Windows Store software, follow the setup steps in section How to Set Up the MagTek PIN Pad SCRA Demo, then create an instance of the MTPPSCRAPCL object in your software project, then use the method calls to invoke the functions described in this chapter to communicate with the device.
Returns a value (0: Success, Non-Zero: Error) requestBypassPINCommand This function sends the Bypass PIN command to the device. This affects the behavior of requestSmartCard. int requestBypassPINCommand(); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 14...
0 for displayMessageID and the device will display its default “Welcome” screen (shown below). int endSession(int displayMessageID = 0); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 15...
This function sends a CMAC message to the device to confirm the session key. For additional information, see Appendix B EMV CBC-MAC. int requestConfirmSession( int mode, byte [] encryptedRandomNumber, byte [] encryptedSerialNumber, byte [] cmac, IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 16...
Returns a value (0: Success, Non-Zero: Error) 3.17 requestPowerDownICC (EMV L1 only) This function requests that the device power down an inserted smart card. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 17...
This function sets / deletes the corresponding CA Public Key, depending on the operation specified. For additional information, see Appendix B EMV CBC-MAC. int setCAPublicKey( int operation, IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 20...
3.27 getIPADInfoData This function returns information about the device in an IPADDevInfo class, defined below. MagTekPPUSCRAEvent.IPADDevInfo getIPADInfoData(); Return Value: MagTekPPUSCRAEvent.IPADDevInfo, structured as follows: IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 22...
This function retrieves the device’s status information in a DEV_STATE_STAT class, defined below. The event associated with this function is OnDeviceStateUpdate. DEV_STATE_STAT requestDeviceStatus(ref int opStatus); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 23...
Return Value: A byte array of device BIN data. 3.32 setBINTableData This function retrieves the BIN table data. See report 0x32. For additional information, see Appendix B EMV CBC-MAC. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 24...
Time the device will wait for user to begin manual data entry beepTones Tone to use: 0 - None 1 - Single Beep 2 - Double Beep IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 26...
The event associated with this function is OnPINRequestCompleteEvent. int requestPIN( int waitTime, int pinMode, int maxPINLength, IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 29...
Page 30
2 = ISO0 Format, Verify PIN 3 = ISO3 Format, Verify PIN lpFieldSep Delimiter to separate the data Return Value: Returns a value (0: Success, Non-Zero: Error) IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 30...
After a successful swipe, the device will prompt the user to select debit or credit. If this is a debit account type, the device will request a PIN. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 31...
Page 32
[] Amount, int transactionType, byte [] cashback, byte [] reserved); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 32...
Similar to requestClearTextUserDataEntry, but data will displayed and returned in clear text. The event associated with this command is OnClearTextUserDataEntry, int requestClearTextUserDataEntry( byte waitTime, byte displayMessageID, byte beepTones); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 36...
An integer pointer to receive the command response or operation status. Zero value means OK. For more values, see Appendix A. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 37...
Option to verify or not to verify the PIN: 0 – Timeout to clean data 1 – Timeout with available data, signature can retrieved if exists IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 38...
Tone to use: 0 - None, 1 - Single Beep 2 - Double Beep A ascii key code associate the user selection IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 39...
Parameter Description waitTime Time the device will wait for the user to select Credit or Debit IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 40...
Figure 3-8 - DynaPro Mini Initial PIN Prompt Parameter Description waitTime Time the device should wait for the user to begin PIN entry IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 41...
Card data will be returned in CARD_DATA structure. int requestCardSync( int waitTime, int displayMessage, int beepTones , ref CARD_DATA card, ref int opStatus); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 42...
Page 43
0x02 - CardMsgPleaseSwipeCard 0x03 - CardMsgPleaseSwipeAgain beepTones Tone to use: 0x00 – No Sound 0x01 – Single Beep 0x02 – Double Beeps IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 43...
Page 44
ToSeparatedString(string separator); public override string ToString(); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 44...
0=Use PAN min 9, max 19 1=Use PAN min 14, max 21 Bits 5-7 are reserved and should be set to 0. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 45...
Page 46
ToSeparatedString(string separator); public override string ToString(); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 46...
An integer pointer to receive the command response or operation status. Zero value means OK. For more values, see Appendix A. Return Value: Returns a value (0: Success, Non-Zero: Error) IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 47...
3.67 setDisplayMessageSync This function shows a predefined message or bitmap on the device’s LCD display. This function will returned after wait time pass. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 48...
LCD will show ENTER PIN and start the PIN entry timer. If the user presses the cancelation button or the transaction times out, cancelled or timed out, the device will perform the command completion action. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 49...
Page 50
7 – Magnetic stripe + contact smart card + contactless smart card. confirmationTime Time the device will wait for the user to begin the transaction IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 50...
This function sends the Acquirer report to the device. For additional information, see Appendix B EMV CBC-MAC. int sendAcquirerResponseSync( byte [] responseData, int responseDataLength ref EMV_DATA merchantData, IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 51...
0x0F – Read All PIN-PAD or Application tags inputTLVData TLV data block to send to the device inputDataLength Length of the TLV data block IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 52...
0xFF – Set to factory defaults inputTLVData TLV data block to send to the device inputDataLength Length of the TLV data block IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 53...
An integer pointer to receive the command response or operation status. Zero value means OK. For more values, see Appendix A. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 54...
Page 55
3 - MTPPSCRAPCL Functions Return Value: Returns a value (0: Success, Non-Zero: Error) IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 55...
OnPayPassMessageEvent(byte[] Message); Parameter Description data EMV response byte array. 4.20 OnDeviceConnectionStateChanged Response event for openDevice and closeDevice public delegate void OnDeviceConnectionStateChanged(MTLIB.MTConnectionState state); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 60...
Page 61
Error – device is in error state Connected – device is opened and works fine Disconnecting – device is going to close IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 61...
For additional information about EMV-related functions for use with L1 or L2 devices, see one of the following documents, available from MagTek: 99875585 DynaPro Programmer's Reference (Commands) 99875629 DynaPro Mini Programmer's Reference (Commands) IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 63...
CardType; public byte Track1Length; public byte Track2Length; public byte Track3Length; public byte EncTrack1Length; public byte EncTrack2Length; public byte EncTrack3Length; public byte EncMPLength; IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 64...
Cryptography in CA Public Key, EMV Tag and EMV transaction Get/Set CA Public Key, Get/Set EMV Tags and EMV transaction use TLV (type-length-value) format. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 66...
Host will receive callback event OnEMVTransactionCompleteEvent. In the callback, TLV data includes the transaction result. Reference Documents DUKPT - ANSI x9.24 DES – FIPS 46-3 TDES – ANSI X9.52 MAC – ANSI X9.19 IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 68...
// you will receive callback in myATRReceivedCallback Send APDU to Card and Get Response Host uses requestICCAPDU to communicate with card and get card returned APDU by event. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 70...
= ipad.requestPowerDownICC(1); // 1 second before power down End L1 Session Host uses endL1Session to close the secure communication retCode = ipad.endL1Session(); IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 71...
IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 72...
Page 73
IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 73...
Page 74
IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 74...
Page 75
NO – device does not support this function NO* only some firmware for this device support this function. RF – reserved for future use. IPAD, DynaPro, DynaPro Go, and DynaPro Mini| PIN Encryption Devices | Programmer’s Reference (Microsoft Windows Store) Page 75...
Need help?
Do you have a question about the IPAD and is the answer not in the manual?
Questions and answers