background image

1 - Introduction  

aDynamo, uDynamo, Dynamag, DynaMAX, eDynamo, BulleT, mDynamo| Secure Card Reader Authenticator | .NET/PCL Programmer’s 
Reference (Windows/Windows Phone) 

 
Page 8 

1

 

Introduction 

This document provides instructions for software developers who want to create software solutions that 
include a MagTek Secure Card Reader / Authenticator (SCRA) device connected to a Windows PC, 
Windows tablet device or Windows Phone mobile device. 

1.1

 

About MTSCRA Library 

Custom Windows software installed on a host PC can communicate with MagTek SCRA devices via the 
Audio/Headset Interface, Bluetooth, BLE (Bluetooth 4.0 Low Energy), or USB using the MTSCRA 
library.   
 
The supported platforms for .NET projects include Windows 7, Windows 8/8.1, and Windows 10.  The 
.NET project should contain references to these files: 

MTSCRANET.dll

 and 

MTLIB.dll

.   

 
For Universal App and Windows Store App projects, the supported platforms include Windows 8.1, 
Windows 10 and Windows Phone 8.1.  The Universal/Windows Store project should contain references 
to these files: 

MTSCRAPCL.dll

 and 

MTLIB.dll

.   

Summary of Contents for ADYNAMO

Page 1: ...400 I Technical Support 888 624 8350 www magtek com aDynamo uDynamo Dynamag DynaMAX eDynamo BulleT mDynamo Secure Card Reader Authenticator NET PCL Programmer s Reference Windows Windows Phone October...

Page 2: ...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...

Page 3: ...f Licensee transfers the Software without authorization all rights granted under this Agreement are automatically terminated COPYRIGHT The Software is copyrighted Licensee may not copy the Software ex...

Page 4: ...rovisions 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 ACKNOWLEDGMENT LICENSEE ACKNOWLEDGES T...

Page 5: ...et Up the MagTek SCRA SDK for NET Projects 12 2 4 How to Set Up the MagTek SCRA SDK for Universal App and Windows Store App Projects 12 3 MTSCRA Class Methods 14 3 1 requestDeviceList 14 3 2 setConnec...

Page 6: ...3 33 getCardIIN 24 3 34 getCardLast4 24 3 35 getCardName 24 3 36 getCardPAN 24 3 37 getCardPANLength 25 3 38 getCardServiceCode 25 3 39 getCardStatus 25 3 40 getCardEncodeType 25 3 41 getDataFieldCou...

Page 7: ...Only 34 4 7 OnDisplayMessageRequest EMV Device Only 36 4 8 OnUserSelectionRequest EMV Device Only 36 4 9 OnARQCReceived EMV Device Only 36 4 10 OnTransactionResult EMV Device Only 37 4 11 OnEMVCommand...

Page 8: ...1 1 About MTSCRA Library Custom Windows software installed on a host PC can communicate with MagTek SCRA devices via the Audio Headset Interface Bluetooth BLE Bluetooth 4 0 Low Energy or USB using th...

Page 9: ...Properties window 7 Select the Levels tab 8 Set the volume at maximum See Figure 2 1 for an example 9 Select the Recording tab 10 Select the headset interface that is connected to the SCRA device for...

Page 10: ...uDynamo Dynamag DynaMAX eDynamo BulleT mDynamo Secure Card Reader Authenticator NET PCL Programmer s Reference Windows Windows Phone Page 10 Figure 2 1 Device Volume Level Set to 100 Figure 2 2 Micro...

Page 11: ...aDynamo uDynamo Dynamag DynaMAX eDynamo BulleT mDynamo Secure Card Reader Authenticator NET PCL Programmer s Reference Windows Windows Phone Page 11 Figure 2 3 Enhancements Turned Off Figure 2 4 Effe...

Page 12: ...ght click the project and select Add Reference to show the Add Reference window 4 Select the Browse tab and press the Browse button 5 Navigate to your library folder select MTSCRANET dll and MTLIB dll...

Page 13: ...Browse button 5 Navigate to your library folder select MTSCRAPCL dll and MTLIB dll then press the Add button 6 In your custom software create an instance of MTSCRA For examples see the source code in...

Page 14: ...ess is completed public void requestDeviceList MTConnectionType connectionType Parameters Parameter Description connectionType MTConnectionType value MTConnectionType Audio MTConnectionType BLE MTConn...

Page 15: ...Bluetooth BulleT USB BulletT DynaMag DynaMAX eDynamo mDynamo Return Value None 3 3 setAddress This method sets the address of the device public void setAddress string deviceAddress Parameters Paramet...

Page 16: ...ata in each field is determined by the Masked Track Data Length field that corresponds to the track number Masked Track Data located in positions greater than indicated in the Masked Track Data Length...

Page 17: ...for track 1 public string getTrack1 Parameters None Return Value Return stored track1 data string 3 11 getTrack2 Get stored track2 data This field contains the encrypted track data for track 2 public...

Page 18: ...al characters are sent unmasked The specified number of trailing characters are sent unmasked If Mod 10 correction is specified all but one of the intermediate characters of the PAN are set to zero on...

Page 19: ...e characters of the PAN are set to the specified mask character All Field Separators are sent unmasked All other characters are set to the specified mask character For an AAMVA card the specified mask...

Page 20: ...B is status bit 31 MagnePrint status is defined as follows Bit 0 MagnePrint capable product usage M Bits 1 15 Product revision mode usage R Bit 16 STATUS only state usage S Bit 17 Noise too high or mo...

Page 21: ...nd verifies that the Encrypted Session ID returned with card data decrypts to the value set public string getSessionID Parameters None Return Value Return the Session ID 3 20 getKSN Get stored key ser...

Page 22: ...t indicates the device does not support tracking of the number of card swipes 3 25 getCapMagnePrint Retrieves MagnePrint Capabilities public string getCapMagnePrint Parameters None Return Value String...

Page 23: ...StripeEncryption Parameters None Return Value String representing MagStripe Encryption Capabilities 0 No Encryption 1 TDES DUKPT PIN Variant other values TBD 3 29 getCapMSR Retrieves MSR Capabilities...

Page 24: ...3 33 getCardIIN Retrieves Issuer Identification Number IIN from card data public string getCardIIN Parameters None Return Value String representing card IIN 3 34 getCardLast4 Retrieves Last 4 digits o...

Page 25: ...ceCode Parameters None Return Value String representing service code 3 39 getCardStatus Retrieves the card status public string getCardStatus Parameters None Return Value String representing the card...

Page 26: ...on standard encode format For example ISO ABA track 1 format on track 2 05 Undetermined The card encode type could not be determined because no tracks could be decoded Combination of Error tracks and...

Page 27: ...nificant byte Byte 1 LSB is status bit 0 Byte 2 MSB is status bit 15 public string getEncryptionStatus Parameters None Return Value String representing decryption status as a 2 byte binary field Bit 0...

Page 28: ...MagTek device serial number 3 47 getResponseData Retrieves response data public string getResponseData Parameters None Return Value String representing response data 3 48 getResponseType Retrieves re...

Page 29: ...able then a decode error is indicated If a decode error is indicated the corresponding track data length value for the track that has the error will be set to zero and no valid track data will be supp...

Page 30: ...card swipe causes abort of EMV L2 0x02 Contact smart card 0x04 Contactless smart card not supported at this time Note Multiple Card Types can be selected for example Set this byte to 3 to read both M...

Page 31: ...ansaction flow Return Value 0 Success 9 Error 15 Busy 3 55 setUserSelectionResult EMV Device Only This function sets the user selection result It should be called after receiving the OnUserSelectReque...

Page 32: ...Busy 3 57 cancelTransaction EMV Device Only This function cancels a transaction while waiting for the user to insert a card public int cancelTransaction Parameters None Return Value 0 Success 9 Error...

Page 33: ...Audio MTConnectionType USB deviceList A list of MTDeviceInformation objects 4 2 OnDeviceConnectionStateChanged This event occurs when the connection state of the device is changed public event Device...

Page 34: ...Description sender Object representing the publisher of the event cardData IMTCardData object containing the card information received 4 5 OnDeviceResponse This event occurs when a response is receiv...

Page 35: ...does not complete within this time it will be aborted 2 Current Transaction Progress Indicator This one byte field indicates the current processing stage for the transaction 0x00 No transaction in pro...

Page 36: ...ete the selection process If this time is exceeded the host should send the User Selection Result command with transaction will be aborted and an appropriate Transaction Status will be available Value...

Page 37: ...descriptions of the data Offset Field Name Value 0 Signature Required This field indicates whether a card holder signature is required to complete the transaction 0x00 No signature required 0x01 Sign...

Page 38: ...unt Authorized field 0x0388 Invalid Transaction Type field 0x0389 Invalid Cash Back field 0x038A Invalid Transaction Currency Code field 0x038B Invalid Selection Status 0x038C Invalid Selection Result...

Page 39: ...ial number created by MagTek Use getDeviceSerialMagTek method to retrieve data Device Firmware Part Number Device firmware part number Use getFirmware method to retrieve data Device Model Name Device...

Page 40: ...ice if mMTSCRA null mMTSCRA closeDevice A 3 Get Connection Status Of Device if mMTSCRA isDeviceConnected A 4 Receiving Card Data From Device if mMTSCRA isDeviceConnected mMTSCRA CardDataReceived OnCar...

Page 41: ...ag 9F1F TLV T1 DD len val DF36 Encrypted Tag 9F20 TLV T2 DD len val DF37 Encrypted Tag 9F61 TLV T2 CVC3 len val DF38 Encrypted Tag 9F62 TLV T1 PCVC3 len val DF39 Encrypted Tag DF812A TLV T1 DD len val...

Page 42: ...ly 2 selectable formats Original and DynaPro It is a TLV object with the following contents Original format F9 len container for ARQC Response data DFDF25 IFD Serial Number len val FA len Container fo...

Page 43: ...Reversal Data if any Reversal Data tags defined in DFDF05 Note Sensitive Data cannot be defined in DFDF05 F7 len container for Merchant Data Merchant Data tags F8 len container tag for encrypted data...

Page 44: ...Number len val FA len container for generic data F0 len Transaction Results F1 len container for Status Data Status Data tags F8 len container tag for encryption DFDF59 Encrypted Data Primative len En...

Reviews: