Пример #1
0
        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);
                        }
                    }
                }
        }
Пример #2
0
 public CardDataExtractor(EMVCardHandler handler)
 {
     Handler = handler;
 }