Credit card BIN validation using bin-cc data. Identify card brands, validate CVV codes, and more.
$ dotnet add package CreditCardIdentifier.NET library for credit card BIN validation and identification.
Install via NuGet Package Manager:
dotnet add package CreditCardIdentifier
Or via Package Manager Console:
Install-Package CreditCardIdentifier
using CreditCardIdentifier;
var validator = new Validator();
// Identify brand
var brand = validator.FindBrand("4012001037141112");
Console.WriteLine(brand.Name); // "visa"
// Get detailed brand info
var detailed = validator.FindBrandDetailed("4012001037141112");
Console.WriteLine(detailed.Scheme); // "visa"
Console.WriteLine(detailed.MatchedPattern?.Bin); // "^4"
// Check if supported
var supported = validator.IsSupported("4012001037141112");
Console.WriteLine(supported); // True
// Validate CVV
var valid = validator.ValidateCvv("123", "visa");
Console.WriteLine(valid); // True
// Get brand info
var info = validator.GetBrandInfo("visa");
Console.WriteLine(info?.RegexpBin);
// Get detailed brand info
var detailedInfo = validator.GetBrandInfoDetailed("amex");
// List all brands
var brands = validator.ListBrands();
foreach (var b in brands)
{
Console.WriteLine(b);
}
// amex, aura, banesecard, diners, discover, elo, hipercard, jcb, maestro, mastercard, unionpay, visa
// Validate card number using Luhn algorithm
var isValid = Luhn.Validate("4012001037141112");
Console.WriteLine(isValid); // True
// Or using validator instance
isValid = validator.ValidateLuhn("4012001037141112");
Console.WriteLine(isValid); // True
using CreditCardIdentifier;
// Static convenience method
var brand = Validator.FindBrandStatic("4012001037141112");
Console.WriteLine(brand?.Name); // "visa"
var supported = Validator.IsSupportedStatic("4012001037141112");
Console.WriteLine(supported); // True
Validator()Initialize validator with embedded brand data.
FindBrand(string cardNumber)Identify the credit card brand.
Parameters:
cardNumber (string): The credit card numberReturns: (BrandData.Brand) Brand object or null if not found
FindBrandDetailed(string cardNumber)Identify the credit card brand with detailed information.
Parameters:
cardNumber (string): The credit card numberReturns: (DetailedBrandResult) Detailed brand result with MatchedPattern and MatchedBin, or null if not found
IsSupported(string cardNumber)Check if card number is supported.
Parameters:
cardNumber (string): The credit card numberReturns: (bool) True if supported, false otherwise
ValidateCvv(string cvv, string brandName)Validate CVV for a specific brand.
Parameters:
cvv (string): CVV codebrandName (string): Brand name (e.g., "visa", "mastercard")Returns: (bool) True if valid, false otherwise
GetBrandInfo(string brandName)Get information about a specific brand.
Parameters:
brandName (string): Brand nameReturns: (BrandData.Brand) Brand information or null if not found
GetBrandInfoDetailed(string scheme)Get detailed information about a specific brand.
Parameters:
scheme (string): Scheme name (e.g., "visa", "mastercard")Returns: (BrandDataDetailed.Brand) Detailed brand information or null if not found
ListBrands()List all supported brands.
Returns: (List) List of brand names
ValidateLuhn(string number)Validate a credit card number using the Luhn algorithm.
Parameters:
number (string): Credit card number (digits only)Returns: (bool) True if valid according to Luhn algorithm
Static utility class for Luhn validation.
Luhn.Validate(string number)Validate a credit card number using the Luhn algorithm.
Parameters:
number (string): Credit card number (digits only)Returns: (bool) True if valid according to Luhn algorithm
Throws: ArgumentNullException if input is null
Properties:
Name (string): Brand nameRegexpBin (Regex): BIN pattern (pre-compiled)RegexpFull (Regex): Full validation pattern (pre-compiled)RegexpCvv (Regex): CVV validation pattern (pre-compiled)Properties:
Scheme (string): Scheme nameBrand (string): Display brand nameType (string): Card type (credit/debit)Cvv (CvvInfo): CVV informationPatterns (Pattern[]): BIN patternsCountries (string[]): Supported countriesMatchedPattern (Pattern): The specific pattern that matchedMatchedBin (BinInfo): The specific BIN that matched (if available)This library uses the BIN data from the bin-cc project.
The data is embedded directly in the package for optimal performance.
cd libs/dotnet/CreditCardIdentifier
dotnet build
cd libs/dotnet/CreditCardIdentifier.Tests
dotnet test
MIT