.NET library for credit card BIN validation and identification.
- American Express (amex)
- Aura
- BaneseCard
- Diners Club
- Discover
- Elo
- Hipercard
- JCB
- Maestro
- Mastercard
- UnionPay
- Visa
Install via NuGet Package Manager:
dotnet add package CreditCardIdentifierOr via Package Manager Console:
Install-Package CreditCardIdentifierusing 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); // Trueusing CreditCardIdentifier;
// Static convenience method
var brand = Validator.FindBrandStatic("4012001037141112");
Console.WriteLine(brand?.Name); // "visa"
var supported = Validator.IsSupportedStatic("4012001037141112");
Console.WriteLine(supported); // TrueInitialize validator with embedded brand data.
Identify the credit card brand.
Parameters:
cardNumber(string): The credit card number
Returns: (BrandData.Brand) Brand object or null if not found
Identify the credit card brand with detailed information.
Parameters:
cardNumber(string): The credit card number
Returns: (DetailedBrandResult) Detailed brand result with MatchedPattern and MatchedBin, or null if not found
Check if card number is supported.
Parameters:
cardNumber(string): The credit card number
Returns: (bool) True if supported, false otherwise
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
Get information about a specific brand.
Parameters:
brandName(string): Brand name
Returns: (BrandData.Brand) Brand information or null if not found
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
List all supported brands.
Returns: (List) List of brand names
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.
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)
- .NET Standard 2.0+
- .NET Core 2.0+
- .NET Framework 4.6.1+
- .NET 5.0+
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 buildcd libs/dotnet/CreditCardIdentifier.Tests
dotnet testMIT