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); }
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"; } }
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); }
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)); }
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); }
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")); }
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); }
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)); }
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); }
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); }