public override CreditCardType GetCreditCardType(string cardNumber) { try { var cardType = CardType.ForCardNumber(cardNumber); if (cardType == null || cardType == CardType.Unknown) { if (!string.IsNullOrEmpty(cardNumber)) { try { var creditCardBrand = cardNumber.CreditCardBrand(); if (creditCardBrand == CardIssuer.AmericanExpress) { return(CreditCardType.Amex); } if (creditCardBrand == CardIssuer.DinersClub) { return(CreditCardType.DinersClub); } if (creditCardBrand == CardIssuer.Discover) { return(CreditCardType.Discover); } if (creditCardBrand == CardIssuer.JCB) { return(CreditCardType.Jcb); } if (creditCardBrand == CardIssuer.Maestro) { return(CreditCardType.Maestro); } if (creditCardBrand == CardIssuer.MasterCard) { return(CreditCardType.Mastercard); } if (creditCardBrand == CardIssuer.Visa) { return(CreditCardType.Visa); } } catch (System.Exception) { } } return(CreditCardType.Unknown); } if (cardType == CardType.Amex) { return(CreditCardType.Amex); } if (cardType == CardType.DinersClub) { return(CreditCardType.Amex); } if (cardType == CardType.Discover) { return(CreditCardType.Discover); } if (cardType == CardType.Jcb) { return(CreditCardType.Jcb); } if (cardType == CardType.Maestro) { return(CreditCardType.Maestro); } if (cardType == CardType.Mastercard) { return(CreditCardType.Mastercard); } if (cardType == CardType.UnionPay) { return(CreditCardType.UnionPay); } if (cardType == CardType.Visa) { return(CreditCardType.Visa); } } catch (Exception e) { ExceptionHandler.Catch(e); } return(CreditCardType.Unknown); }