コード例 #1
0
		private void AssertCardNetwork(ICardNetwork actualCardNetwork, CardNetwork cardNetwork, string securityCode, int securityCodeLength, int cardNumberLength, bool shouldDisplayStartDate, bool shouldDisplayIssueNumber)
		{
			Assert.That(actualCardNetwork.GetCardNetworkType(), Is.EqualTo(cardNetwork));
			Assert.That(actualCardNetwork.GetSecurityCodeLabel(), Is.EqualTo(securityCode));
			Assert.That(actualCardNetwork.GetSecurityCodeLength(), Is.EqualTo(securityCodeLength));
			Assert.That(actualCardNetwork.GetCardNumberLength(), Is.EqualTo(cardNumberLength));
			Assert.That(actualCardNetwork.ShouldDisplayStartDate(), Is.EqualTo(shouldDisplayStartDate));
			Assert.That(actualCardNetwork.ShouldDisplayIssueNumber(), Is.EqualTo(shouldDisplayIssueNumber));
		}
コード例 #2
0
		public ValidationResponse Validate(string entry, ICardNetwork cardNetwork, List<CardNetwork> acceptableCardNetworksForTransaction)
		{
			var strippedEntry = (entry ?? string.Empty).Replace(" ", "");
			var errorMessage = string.Empty;

			var networkAccepted = cardNetwork.CardNetworkAcceptedForTransaction(cardNetwork.GetCardNetworkType(), acceptableCardNetworksForTransaction);
			var cardNumberIsValid = cardNetwork.IsCardNumberValid(strippedEntry) && strippedEntry.Length >= cardNetwork.GetCardNumberLength();

			if (!networkAccepted)
			{
				errorMessage = string.Format("We do not accept {0}, please use other cards", cardNetwork.GetCardNetworkType().GetAttribute<DisplayName>().Name);
			}
			else if (!cardNumberIsValid && strippedEntry.Length >= cardNetwork.GetCardNumberLength())
			{
				errorMessage = "Check card number";
			}

			return new ValidationResponse(networkAccepted && cardNumberIsValid, errorMessage , !string.IsNullOrWhiteSpace(errorMessage));
		}
コード例 #3
0
		public TokenPaymentDefaultsViewModel(string lastFour, string expiryDate, string cardToken, string consumerToken, CardNetwork cardNetwork)
		{
			var unformattedLastFour = lastFour ?? string.Empty;
			var unformattedExpiryDate = expiryDate ?? string.Empty;
			CardToken = cardToken;
			ConsumerToken = consumerToken;

			CardNetork = CardNetorkDiscoverer.DiscoverCardNetwork(cardNetwork);

			var masklength = CardNetork.GetCardNumberLength() - unformattedLastFour.Length;
			var mask = string.Concat(Enumerable.Repeat("*", masklength));

			MaskedCardNumber = string.Concat(mask, lastFour).FormatToJudoString(CardNetork.CardNumberFormat());
			ExpiryDate = unformattedExpiryDate.FormatToJudoString(DateFormat);
		}