コード例 #1
0
 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);
 }