Magtek Dynamag Instruction Manual

Magtek Dynamag Instruction Manual

Secure card reader authenticators programmer's reference (java and java applet)
Hide thumbs Also See for Dynamag:
Table of Contents

Advertisement

Dynamag, DynaMAX, eDynamo,
mDynamo, tDynamo, DynaWave,
and iDynamo 6
Secure Card Reader Authenticators
Programmer's Reference (Java and Java Applet)
November 2019
Manual Part Number:
D99875724-101
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

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Dynamag and is the answer not in the manual?

Questions and answers

Summary of Contents for Magtek Dynamag

  • Page 1 Secure Card Reader Authenticators Programmer’s Reference (Java and Java Applet) November 2019 Manual Part Number: D99875724-101 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 Updated SDK Contents and tested Java Runtime environments. Added support for tDynamo and DynaWave. 01/21/2019 Updated to correctly reference Bluetooth LE. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 2...
  • Page 3 Updated the function startTransaction(): cardType, option, and transactionType. 11/11/2019 Added the format of card data returned from GetCardData(). Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 3...
  • Page 4 PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY TO USE, THE SOFTWARE. Licensee's sole remedy in Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet)
  • Page 5 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 6: Table Of Contents

    ......................... 28 3.10 getCardData ........................28 3.11 getCardName ......................... 29 3.12 getFirstName ......................... 29 3.13 getLastName ......................... 29 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 6...
  • Page 7 ...................... 34 3.44 getDeviceSerial ......................34 3.45 getSessionID ........................34 3.46 getKSN ..........................34 3.47 sendCommand ......................35 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 7...
  • Page 8 Java Code Examples ..................... 55 Open Device Example ...................... 55 Close Device Example ...................... 55 Appendix D ARQC Message Format ..................56 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 8...
  • Page 9 Transaction Result Message – Batch Data Format ......... 58 DFDF1A Transaction Status Return Codes ..............58 Appendix G Supported Device Features .................. 60 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 9...
  • Page 10: Introduction

    SDK Contents File name Description SwipeReaderControlPanel.java Swipe Reader Control Panel sample code. SwipeReaderControlPanel.jar This is the SwipeReaderControlPanel.java compiled version Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 10...
  • Page 11: System Requirements

    Tested Java Runtime Environments: Java 8 Interfaces for Operating Systems The following table matches the device interface to operating system. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 11...
  • Page 12 Windows 7, Windows 8 and 8.1, Windows 10 iDynamo 6 Windows 7, Windows 8 and 8.1, Windows 10 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 12...
  • Page 13: How To Set Up The Swipe Reader Control Panel

    5) Enter app mode, scroll down to Apps by name , and launch the Windows PC Settings app. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 13...
  • Page 14 Add a Bluetooth Device (see Figure 2-1). Figure 2-1 - Launch Manage Bluetooth Devices App from Desktop Mode Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 14...
  • Page 15 If the device is configured to run in KB mode, Windows Pair will prompt you Enter the passcode for your keyboard Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 15...
  • Page 16 Connected After a few seconds the device will disconnect, which is normal power-saving behavior. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 16...
  • Page 17: How To Set Up The Java Library With The 32-Bit Jre/Jvm

    Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 17...
  • Page 18: How To Manually Set Up The Java Library With The 64-Bit Jre/Jvm

    How to Manually Set Up the Java Library With the 64-bit JRE/JVM MagTek highly recommends using the 32-bit version of Java if you intend to use the MTSCRA Java applet as described in section 2.3, regardless of whether you are using a 32-bit or 64-bit version of Windows.
  • Page 19: How To Set Up The Applet With The 32-Bit Jre/Jvm

    Windows Features e) Turn on the checkboxes for Internet Information Services Internet Information Services Hostable Web Core Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 19...
  • Page 20 By default, it will be C:\Program Files\MagTek\SCRA Windows SDK\Sample Code\Java Applet\Object for 32-bit operating Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 20...
  • Page 21 Also turn Protected Mode the checkbox for in the > tab. Enhanced Protected Mode Internet Options Advanced Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 21...
  • Page 22 32-bit mode ( instead of iexplore.exe *32 iexplore.exe Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 22...
  • Page 23: How To Modify Manifest

    The Caller-Allowable-Codebase attribute is used to identify the domains from which JavaScript code can make calls to your RIA without security prompts. Set this attribute to the domain that hosts the Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet)
  • Page 24: How To Sign Jar

    4) Save the certificate received from the Certificate provider as Certname.p7b. 5) Import your Digital Certificate by entering the following command: keytool -import -alias MyCert -file Certname.p7b Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 24...
  • Page 25 8) Verify the output of your signed JAR file by entering the following command: jarsigner -verify -verbose -certs C:\mtscra.jar Please visit this website https://docs.oracle.com/javase/tutorial/deployment/jar/signing.html for more information regarding signing JAR files. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 25...
  • Page 26: Mtscra Functions

    XXXXXXXX is variable length string indicate device friendly name. Return Value: 0 = Success Non-Zero = Error Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 26...
  • Page 27: Closedevice

    True = EMV supported by the device. getFirmware This function retrieves firmware revision number. String getFirmware(); Return Value: String containing the Firmware revision number. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 27...
  • Page 28: Clearbuffer

    |Track 3 Data |Masked Track 1 Data |Masked Track 2 Data |Masked Track 3 Data |MagnePrint Data |Battery Level Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 28...
  • Page 29: Getcardname

    This function returns a string value for a card type after a cardholder has swiped a card. String getEncodeType(); Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 29...
  • Page 30: Getpan

    “0” = Device does not use MagneSafe 2.0 Encryption 3.21 getCapMagStripeEncryption This function retrieves device capability of track encryption after a cardholder has swiped a card. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 30...
  • Page 31: Getexpdate

    This function retrieves the last 4 digits of the card number (PAN) after a cardholder swipes a card. String getCardLast4(); Return Value: String containing the last 4 digits. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 31...
  • Page 32: Getcaptracks

    Return Value: String containing track 3 decode status. 00 = Track OK 01 = Track read Error 02 = Track is Blank Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 32...
  • Page 33: Getmaskedtracks

    Return Value: String containing track 2 data. 3.39 getTrack3 This function retrieves track 3 data. String getTrack3(); Return Value: String containing track 3 data. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 33...
  • Page 34: Getmagneprint

    Return Value: Returns a string containing the session id. 3.46 getKSN This function retrieves the device’s key serial number (KSN) after a card swipe. String getKSN(); Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 34...
  • Page 35: Sendcommand

    Return Value: 0 for no error. 3.50 getBatteryLevel This function retrieves battery level between 0% and 100%. long getBatteryLevel(); Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 35...
  • Page 36: Getswipecount

    String getCardServiceCode(); Return Value: String representing the card service code after a cardholder swipes a card. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 36...
  • Page 37: Gettlvpayload

    Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 37...
  • Page 38 Cash back Amount (if non-zero, EMV Tag 9F03, format n12, 6 bytes) in hex string. For example: “000000001000”, means 10.00 dollars. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 38...
  • Page 39: Setuserselectionresult (Emv Only)

    Return Value: This function will always returns an empty string. To get the result code of this command, use getResultCode() function. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet)
  • Page 40: Canceltransaction (Emv Only)

    This function sends a direct extended command to the device using a hex value. long sendExtendedCommmand(String data); Return Value: 0 for no error. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 40...
  • Page 41: Mtscraevent

    This event is called when the device has card data to transmit to the host. public void onDataReceived(String data); Parameter Description lpData A string containing card data. onDeviceResponse Return event for sendData. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 41...
  • Page 42: Ontransactionstatus (Emv Only)

    Indicates the remaining time available, in seconds, for the transaction to Transaction complete. If the transaction does not complete within this time it will be Time aborted. remaining Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 42...
  • Page 43: Ondisplaymessagerequest (Emv Only)

    This event is called when the device has transaction message update for the host to display to user. void onDisplayMessageRequest(String data); This notification will send a hex string to represent transaction status. For example: Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 43...
  • Page 44: Onuserselectionrequest (Emv Only)

    This event is called when the device has an ARQC message send to the host. void onARQCReceived(String data); This notification will send a hex string for ARQC of this transaction. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 44...
  • Page 45: Ontransactionresult (Emv Only)

    This notification will send a hex string for result of the extended command. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 45...
  • Page 46  0x0391 = Invalid Device Serial Number  0x0396 = Invalid System Date and Time Return Value: None Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 46...
  • Page 47: Appendix A Status Codes

    0x03 = MTSCRA_ST_INVALID_PARAM Device Status Codes 0x00 = State Disconnected 0x01 = State Connected 0x02 = State Error Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 47...
  • Page 48: Appendix B Applet Troubleshooting

    Keep temporary files on my computer Delete Files… 8) Press the button to launch the window. Delete Files and Applications Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 48...
  • Page 49 14) Re-install the applet by following the steps in section 2 How to Set Up the Swipe Reader Control Panel. Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet)
  • Page 50: Examining Java Console Outputs For The Applet

    Trusted libraries list file not found security: Blacklist file not found or revocation check is disabled network: Disconnect connection to http://localhost/SCRA/mtscra.jar Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 50...
  • Page 51 Saved certificates in Deployment session certificate store network: Created version ID: 1.7.0.72 network: Created version ID: 1.7.0.71 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 51...
  • Page 52 1185153 us, pluginInit dt 3918768 us, TotalTime: 5103921 us com.magtek.windows.scra.usb.MTSCRA::init: Init : START onLibLoaded has=1 basic: Applet initialized basic: Starting applet basic: completed perf rollup Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 52...
  • Page 53 Saved certificates in Deployment session certificate store security: Obtain certificate collection in SSL Root CA certificate store Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 53...
  • Page 54 Updating file at: C:\Users\longv\AppData\LocalLow\Sun\Java\Deployment\security\blacklist .dynamic from url: https://javadl-esd- secure.oracle.com/update/blacklist network: Created version ID: 1.7.0.72 network: Created version ID: 1.7.0.71 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 54...
  • Page 55: Appendix C Java Code Examples

    = new MTSCRAEventHandler(); MagTekUSCRA mMTSCRA = new MagTekUSCRA(); mMTSCRA.init(mEvent); long rv = mMTSCRA. closeDevice (); if(rv==0) System.out.print("SUCESS"); else System.out.print("FAIL"); Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 55...
  • Page 56: Appendix Darqc Message Format

    The Value inside tag DFDF59 is encrypted and contains the following after decryption: FC<len>/* container for encrypted generic data */ <tags defined by DFDF02 > Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 56...
  • Page 57: Appendix Earqc Response (From Online Processing)

    CBC-MAC (4 bytes, use MAC variant of MSR DUKPT key that was used in ARQC request, from message length up to and including ARQC padding, if any) Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet)
  • Page 58: Appendix F Transaction Result Message - Batch Data Format

    0x21 = Waiting for Card Cancelled by Host 0x22 = Waiting for Card Timeout 0x23 = Cancelled by Card Swipe 0xFF = Unknown Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 58...
  • Page 59 … /* < Merchant Data tags */ (Buffer if any to be a multiple of 8 bytes) CBC-MAC (4 bytes, always set to zeroes) Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 59...
  • Page 60: Appendix G Supported Device Features

    N N N N N N OEM Features N N N N N N Transaction Validation N N N N N N Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 60...
  • Page 61 N N N N N N Encrypt Bulk Data (b) 120 24 24 120 N N N N N 24 Dynamag, DynaMAX, eDynamo, mDynamo, tDynamo, DynaWave, and iDynamo 6| Secure Card Reader Authenticators | Programmer’s Reference (Java and Java Applet) Page 61...

This manual is also suitable for:

DynamaxEdynamoMdynamoTdynamoDynawaveIdynamo 6

Table of Contents