Exemple #1
0
        private bool IsValidCreditCard()
        {
            bool   isTokenization    = IsCreditCardTokenizationEnabled;
            string cardType          = ctrlPaymentTerm.CardType;
            string cardNumber        = ctrlPaymentTerm.CardNumber;
            string expiryYear        = ctrlPaymentTerm.CardExpiryYear;
            string expiryMonth       = ctrlPaymentTerm.CardExpiryMonth;
            string invalidCardNumber = AppLogic.GetString("checkout1.aspx.27", ThisCustomer.SkinID, ThisCustomer.LocaleSetting, true);

            var ccValidator = new CreditCardValidator();

            string cardNumberInvalidErrorMessage = string.Empty;

            //See if we should use the card number on file.
            //We also want to see if the card number starts with an *.
            //If it doesn't it probably means the user entered a new number.
            if (cardNumber.StartsWith("*"))
            {
                //Get the stored card number.
                cardNumber = ThisCustomer.PrimaryBillingAddress.CardNumber;
            }

            if (cardNumber.StartsWith("X"))
            {
                return(true);
            }

            return(true);
        }
Exemple #2
0
        protected void Pay(object sender, EventArgs e)
        {
            if (Valid())
            {
                CreditCardValidator cardValidator = new CreditCardValidator();
                if (cardValidator.ValidMod10(CardNumber.Text))
                {
                    ErrorMsg.Text = "";
                    int        userId      = (int)Session["id"];
                    int        screeningId = (int)Session["screening_id"];
                    List <int> seats       = (List <int>)Session["seats"];

                    foreach (int seat in seats)
                    {
                        Database.InsertTicket(screeningId, seat, userId);
                    }
                    Response.Redirect("Default.aspx");
                }
                else
                {
                    ErrorMsg.Text = "Invalid input";
                }
            }
            else
            {
                ErrorMsg.Text = "Invalid input";
            }
        }
Exemple #3
0
        private bool IsValidCreditCardInfo()
        {
            var ccValidator = new CreditCardValidator();

            //-> Validate Expiration Date
            if (!ccValidator.IsValidExpirationDate(string.Concat(ctrlPaymentTerm.CardExpiryYear, ctrlPaymentTerm.CardExpiryMonth)))
            {
                errorSummary.DisplayErrorMessage(ctrlPaymentTerm.ExpirationMonthInvalidErrorMessage);
                errorSummary.DisplayErrorMessage(ctrlPaymentTerm.ExpirationYearInvalidErrorMessage);
                return(false);
            }

            ccValidator.AcceptedCardTypes = ctrlPaymentTerm.CardType;

            if (ccValidator.AcceptedCardTypes.Contains("0"))
            {
                errorSummary.DisplayErrorMessage(ctrlPaymentTerm.CardTypeInvalidErrorMessage);
                return(false);
            }

            string cardNumber = ctrlPaymentTerm.CardNumber;

            if (((!ccValidator.IsValidCardType(cardNumber) || !ccValidator.ValidateCardNumber(cardNumber))))
            {
                errorSummary.DisplayErrorMessage(ctrlPaymentTerm.CardNumberInvalidErrorMessage);
                return(false);
            }

            return(true);
        }
Exemple #4
0
        public void DefaultErrorMessage_CreditCardValidator()
        {
            var validator = new CreditCardValidator();

            Assert.That(validator.ErrorMessageSource, Is.TypeOf(typeof(LocalizedStringSource)));
            Assert.That(validator.ErrorMessageSource.GetString(), Is.EqualTo(Messages.CreditCardError));
        }
Exemple #5
0
        public bool ValidateRequest(PaymentEntity request, out string errmsg)
        {
            errmsg = string.Empty;


            // Validate Credit Card number
            if (!CreditCardValidator.IsValid(request.CreditCardNumber))
            {
                errmsg = "Invalid Credit Card number";
            }

            //Check if Expiration date is not a past date
            if (request.ExpirationDate < DateTime.Now)
            {
                errmsg = errmsg.Length > 0 ? errmsg + ";" + "Invalid Expiration Date" : "Invalid Expiration Date";
            }

            //Check if Amount is positive
            if (request.Amount < 0)
            {
                errmsg = errmsg.Length > 0 ? errmsg + ";" + "Invalid Amount" : "Invalid Amount";
            }

            if (!string.IsNullOrEmpty(errmsg))
            {
                return(false);
            }



            return(true);
        }
Exemple #6
0
        public void ValidVisaCardTest()
        {
            // Arrange
            var mLogger = Mock.Of <ILogger <CreditCardValidatorController> >();

            var mController = new CreditCardValidatorController(mLogger);

            var mCreditCard = new CreditCard
            {
                CardOwner  = "Claudio Godoi",
                CardNumber = "4111111111111111",
                IssueDate  = "11/2020",
                Cvc        = "123"
            };

            var mValidator = new CreditCardValidator();

            var mValResult = mValidator.Validate(mCreditCard);

            Assert.True(mValResult.IsValid);

            IActionResult mActionResult = mController.Post(mCreditCard);

            // Assert
            Assert.NotNull(mActionResult);
            OkObjectResult mResult = mActionResult as OkObjectResult;

            Assert.NotNull(mResult);

            var mResponse = mResult.Value as CreditCardApiResponse;

            Assert.Equal(CreditCardHelper.CardType.Visa.ToString(), mResponse.CreditCardType);
        }
        public void ValidatorNumber_LettersInNumber_ReturnFalse()
        {
            var validator = new CreditCardValidator();

            bool result = validator.ValidateNumber("1234-12B5-128A-1D0f");

            Assert.IsFalse(result);
        }
        public void ValidatorNumber_NoDashes_ReturnTrue()
        {
            var validator = new CreditCardValidator();

            bool result = validator.ValidateNumber("1234123412341234");

            Assert.IsTrue(result);
        }
        public void Format_CreditCardValidator()
        {
            var validator = new CreditCardValidator();

            var result = _formatter.Format(validator, _typeNameFormatter);

            Assert.That(result, Is.EqualTo("CreditCardValidator"));
        }
        public void ValidatorNumber_NoDashesButSomeLettersInNumber_ReturnFalse()
        {
            var validator = new CreditCardValidator();

            bool result = validator.ValidateNumber("1234123a1fd52939");

            Assert.IsFalse(result);
        }
        public void ValidateNumber_AllDash_ReturnFalse()
        {
            var validator = new CreditCardValidator();

            bool result = validator.ValidateNumber("----------------");

            Assert.IsFalse(result);
        }
        public void ValidateNumber_EmptyString_ReturnFalse()
        {
            var validator = new CreditCardValidator();

            bool result = validator.ValidateNumber(string.Empty);

            Assert.IsFalse(result);
        }
        public void ValidatorNumber_NumberOfLength6_ReturnFalse()
        {
            var validator = new CreditCardValidator();

            bool result = validator.ValidateNumber("1234-1");

            Assert.IsFalse(result);
        }
        public void ValidatorNumber_NumberOfLength20_ReturnTrue()
        {
            var validator = new CreditCardValidator();

            bool result = validator.ValidateNumber("1234-1234-1234-1234");

            Assert.IsTrue(result);
        }
        public void ValidateNumber_DefaultCardNumber_ReturnFalse()
        {
            var    validator           = new CreditCardValidator();
            string DEFAULT_CARD_NUMBER = "XXXX-XXXX-XXXX-XXXX";

            bool result = validator.ValidateNumber(DEFAULT_CARD_NUMBER);

            Assert.IsFalse(result);
        }
        public async Task ValidateAsync_WhenValid_Ok()
        {
            var card      = CreateValidCard();
            var validator = new CreditCardValidator();

            var result = await validator.ValidateAsync(card);

            Assert.True(result.IsValid);
        }
    public void TestCardTypeValidator()
    {
        var result = CreditCardValidator.ValidCardNumber("4852461030260066", new ICardTypeValidator[]
        {
            new WellsFargoBankValidator()
        });

        Assert.IsTrue(result.CardNumberFormat == CardNumberFormat.Valid_BINTest && result.CardTypes.Contains("Wells Fargo Bank"));
    }
Exemple #18
0
        public void IsValid(
            [Values(null, "0000000000000000", "1234567890123452", "1234-5678-9012-3452", "1234 5678 9012 3452", "0000000000000001", "000000000000000A")]
            string value,
            [Values(true, true, true, true, true, false, false)]
            bool expectedResult)
        {
            CreditCardValidator creditCardValidator = new CreditCardValidator();

            Assert.AreEqual(expectedResult, creditCardValidator.IsValid(value));
        }
        public async Task ValidateAsync_WhenNameOnCardInvalid_IsInvalid(string name)
        {
            var card = CreateValidCard();

            card.NameOnCard = name;
            var validator = new CreditCardValidator();

            var result = await validator.ValidateAsync(card);

            Assert.False(result.IsValid);
        }
        public async Task ValidateAsync_WhenCardNumberValid_IsValid(string cardNumber)
        {
            var card = CreateValidCard();

            card.CardNumber = cardNumber;
            var validator = new CreditCardValidator();

            var result = await validator.ValidateAsync(card);

            Assert.True(result.IsValid);
        }
        public async Task ValidateAsync_WhenExpiryMonthOutOfBounds_IsInvalid(int expiryMonth)
        {
            var card = CreateValidCard();

            card.ExpiryMonth = expiryMonth;
            var validator = new CreditCardValidator();

            var result = await validator.ValidateAsync(card);

            Assert.False(result.IsValid);
        }
        public async Task ValidateAsync_WhenCCV4Digits_IsValid(string ccv)
        {
            var card = CreateValidCard();

            card.CCV = ccv;
            var validator = new CreditCardValidator();

            var result = await validator.ValidateAsync(card);

            Assert.True(result.IsValid);
        }
        public async Task ValidateAsync_WhenExpiryYearInvalid_IsInvalid(int expiryYear)
        {
            var card = CreateValidCard();

            card.ExpiryYear = expiryYear;
            var validator = new CreditCardValidator();

            var result = await validator.ValidateAsync(card);

            Assert.False(result.IsValid);
        }
Exemple #24
0
        public void BillingZipcode_Is_Longer_Than_10_Characters_Returns_error()
        {
            // Arrange
            var validator = new CreditCardValidator();
            var account   = BuildCreditCard(billingZip: "12345678901");

            // Act
            var result = validator.Validate(account);

            // Assert
            Assert.True(result.Errors.Any(e => e.ErrorMessage == BillingZipcodeValidationErrorMessage));
        }
Exemple #25
0
        public void BillingZipcode_Is_Canadian_Postal_Code_Without_Space_Is_Valid()
        {
            // Arrange
            var validatior = new CreditCardValidator();
            var account    = BuildCreditCard(billingZip: "L4L9C8");

            // Act
            var result = validatior.Validate(account);

            // Assert
            Assert.Empty(result.Errors);
        }
Exemple #26
0
        public void BillingZipcode_Is_5_Plus_4_Digits_Is_Valid()
        {
            // Arrange
            var validatior = new CreditCardValidator();
            var account    = BuildCreditCard(billingZip: "84101-7331");

            // Act
            var result = validatior.Validate(account);

            // Assert
            Assert.Empty(result.Errors);
        }
    public static void Main()
    {
        string cc = "4111111111111111";

        if (CreditCardValidator.isValidCard(cc))
        {
            Console.Write(" válido");
        }
        else
        {
            Console.WriteLine(" inválido");
        }
    }
        public void NoCardInfoTest()
        {
            var mValidator  = new CreditCardValidator();
            var mCreditCard = new CreditCard();

            var mValResult = mValidator.Validate(mCreditCard);

            Assert.False(mValResult.IsValid);
            Assert.Contains(mValResult.Errors, x => x.PropertyName == "CardOwner");
            Assert.Contains(mValResult.Errors, x => x.PropertyName == "IssueDate");
            Assert.Contains(mValResult.Errors, x => x.PropertyName == "Cvc");
            Assert.Contains(mValResult.Errors, x => x.PropertyName == "CardNumber");
        }
        IEnumerable <KeyValuePair <CreditCardValidationField, string> > ValidateFields(CreditCardValidationConfiguration configuration, CreditCardValidationContext context)
        {
            var acceptedCardType = CreditCardTypeProvider
                                   .GetAcceptedCreditCardTypes()
                                   .Contains(context.CardType, StringComparer.OrdinalIgnoreCase);

            if (!acceptedCardType)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.CardType, "Invalid card type"));
            }

            var missingRequiredIssueNumber =
                CreditCardTypeProvider
                .GetCardTypesRequiringIssueNumber()
                .Contains(context.CardType, StringComparer.OrdinalIgnoreCase) &&
                string.IsNullOrEmpty(context.IssueNumber);

            if (missingRequiredIssueNumber)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.IssueNumber, "Please enter a card issue number"));
            }

            if (configuration.ValidateCreditCardNumber)
            {
                var cardType = CardType.Parse(context.CardType);
                if (cardType != null)                // Only validate known card types
                {
                    var creditCardValidator = new CreditCardValidator(context.Number, cardType);
                    if (!creditCardValidator.Validate())
                    {
                        yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.Number, "Please enter a valid credit card number"));
                    }
                }
            }

            var missingExpirationDate = context.ExpirationDate == null;

            if (missingExpirationDate)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.ExpirationDate, "Card expiration date is missing or invalid"));
            }

            var missingRequiredCardExtraCode =
                !configuration.CardExtraCodeIsOptional &&
                string.IsNullOrEmpty(context.Cvv);

            if (missingRequiredCardExtraCode)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.Cvv, "Please enter the credit card verification code with no spaces. This number can be found printed on the back side of your card"));
            }
        }
        IEnumerable <KeyValuePair <CreditCardValidationField, string> > ValidateFields(CreditCardValidationConfiguration configuration, CreditCardValidationContext context)
        {
            var acceptedCardType = CreditCardTypeProvider
                                   .GetAcceptedCreditCardTypes()
                                   .Contains(context.CardType, StringComparer.OrdinalIgnoreCase);

            if (!acceptedCardType)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.CardType, AppLogic.GetString("creditCardDetails.cardType.invalid")));
            }

            var missingRequiredIssueNumber =
                CreditCardTypeProvider
                .GetCardTypesRequiringIssueNumber()
                .Contains(context.CardType, StringComparer.OrdinalIgnoreCase) &&
                string.IsNullOrEmpty(context.IssueNumber);

            if (missingRequiredIssueNumber)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.IssueNumber, AppLogic.GetString("creditCardDetails.cardIssueNumber.required")));
            }

            if (configuration.ValidateCreditCardNumber)
            {
                var cardType = CardType.Parse(context.CardType);
                if (cardType != null)                // Only validate known card types
                {
                    var creditCardValidator = new CreditCardValidator(context.Number, cardType);
                    if (!creditCardValidator.Validate())
                    {
                        yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.Number, AppLogic.GetString("creditCardDetails.cardNumber.format")));
                    }
                }
            }

            var missingExpirationDate = context.ExpirationDate == null;

            if (missingExpirationDate)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.ExpirationDate, AppLogic.GetString("creditCardDetails.cardExpirationDate.required")));
            }

            var missingRequiredCardExtraCode =
                !configuration.CardExtraCodeIsOptional &&
                string.IsNullOrEmpty(context.Cvv);

            if (missingRequiredCardExtraCode)
            {
                yield return(new KeyValuePair <CreditCardValidationField, string>(CreditCardValidationField.Cvv, AppLogic.GetString("address.cs.29")));
            }
        }
		private bool CreditCardValidatorTest(string input, CreditCardValidator.CardType allowedTypes, string[] exceptions)
		{
			CreditCardValidator validator = new CreditCardValidator(allowedTypes, exceptions);
			return validator.IsValid(this, input);
		}