static void Main(string[] args) { var factory = SL600Sharp.SL600SDKFactory.CreateFactory( Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "MasterRD.dll")); var resolver = CreateResolver(); using (var sdk = factory.CreateInstance()) using (var reader = new SL600Sharp.SmartCards.Sl600SmartCardReader(sdk, 0) { IsEmv = true }) { var handler = new EMVCardHandler(reader); var extractor = new CardDataExtractor(handler) { PDOLResolver = resolver }; while (true) { if (Console.KeyAvailable) { if (Console.ReadKey().Key == ConsoleKey.Escape) { break; } } else { if (reader.IsCardExist()) { var card = new EMVCard(); extractor.Extract(card); Console.WriteLine($"=========================={card.CardName}=========================="); Console.WriteLine("PAN: {0}\r\nCARDHOLDER: {1}\r\nEXPIRATION: {2}\r\nISSUED: {3}", card.PAN != null ? ByteToHex(card.PAN) : "NULL", card.CardholderName, card.ExpirationDate, card.IssuedDate); Console.WriteLine("======================================================================"); Console.WriteLine(); Thread.Sleep(3000); } Thread.Sleep(500); } } } }
public CardDataExtractor(EMVCardHandler handler) { Handler = handler; }