Home
Softono

Credit Card Stripe Parser

Open source C#
15
Stars
6
Forks
0
Issues
2
Watchers
6 months
Last Commit

 About Credit Card Stripe Parser

Library for parsing magnetic stripe track data of credit cards

Platforms

Web Self-hosted Windows

Languages

C#

Links

Need Help Installing Credit Card Stripe Parser?

We provide expert installation service for this software. Our team will install, configure, and secure Credit Card Stripe Parser on your server. plans start at just $30.

Credit Card Stripe Parser

View on GitHub

Credit Card Magnetic Stripe Parser

Library for parsing magnetic stripe track data of credit cards

NuGet CreditCardStripeParser Package

A simple .Net Standard parser with following functionality:

  • Parse whole magnetic stripe from a card reader
  • Parse whole magnetic stripe with LRC codes after Track 1 or Track 2
  • Separately validate and parse Track 1, Track 2
  • Calculate and validate LRC to confirm the integrity of the data

Models


    /// <summary>
    /// ISO 7811-2 track one character encoding definition:
    /// SS FC PAN FS Name FS Date Discretionary Data ES LRC
    /// </summary>
 public class TrackOneModel
    {
        public char FormatCode { get; set; }
        public string PAN { get; set; }
        public string CardHolderName { get; set; }
        public string ExpirationDate { get; set; }
        public string ServiceCode { get; set; }
        public string DiscretionaryData { get; set; }
        public string SourceString { get; set; }
    }
    
     /// <summary>
     /// ISO 7811-2 Track Two encoding definition:
     /// SS PAN FS Date SVC CD Discretionary Data ES LRC
     /// </summary>
    public class TrackTwoModel
    {
        public string PAN { get; set; }
        public string ExpirationDate { get; set; }
        public string ServiceCode { get; set; }
        public string DiscretionaryData { get; set; }
        public string SourceString { get; set; }

    }
    
     public class FullTrackDataModel
    {
        public bool IsTrackOneValid { get; set; }
        public TrackOneModel TrackOne { get; set; }
        public bool IsTrackTwoValid { get; set; }
        public TrackTwoModel TrackTwo { get; set; }
    }
}

Example Code:

private String _testFullTrack = "%B5168755544412233^PKMMV/UNEMBOXXXX       ^1807111100000000000000111000000?;5168755544412233=18071111000011100000?";
 var result = new FullTrackParser().ParseTrackOne(_testFullTrack);

will be parsed into a model:

TrackOneModel testTrack1 = new TrackOneModel
          {
              FormatCode = 'B',
              PAN = "5168755544412233",
              CardHolderName = "PKMMV/UNEMBOXXXX          ",
              ExpirationDate = "1807",
              ServiceCode = "111",
              DiscretionaryData = "100000000000000111000000",
              SourceString = "B5168755544412233^PKMMV/UNEMBOXXXX          ^1807111100000000000000111000000"
          };