public static bool TestClient(CmtPaymentSettings serverPaymentSettings, string number, DateTime date, ILogger logger) { var cmtPaymentServiceClient = new CmtPaymentServiceClient(serverPaymentSettings, null, null, logger, null); var result = TokenizeSyncForSettingsTest(cmtPaymentServiceClient, number, date); return(result.IsSuccessful); }
public CmtPaymentClient(string baseUrl, string sessionId, CmtPaymentSettings cmtSettings, IIPAddressManager ipAddressManager, IPackageInfo packageInfo, ILogger logger, IConnectivityService connectivityService) : base(baseUrl, sessionId, packageInfo, connectivityService) { _ipAddressManager = ipAddressManager; _logger = logger; CmtPaymentServiceClient = new CmtPaymentServiceClient(cmtSettings, null, packageInfo, logger, connectivityService); }
private static TokenizedCreditCardResponse TokenizeSyncForSettingsTest(CmtPaymentServiceClient cmtPaymentServiceClient, string accountNumber, DateTime expiryDate) { try { var response = cmtPaymentServiceClient.PostAsync(new TokenizeRequest { AccountNumber = accountNumber, ExpiryDate = expiryDate.ToString("yyMM", CultureInfo.InvariantCulture), ValidateAccountInformation = false }); response.Wait(); return(new TokenizedCreditCardResponse { CardOnFileToken = response.Result.CardOnFileToken, IsSuccessful = response.Result.ResponseCode == 1, Message = response.Result.ResponseMessage, CardType = response.Result.CardType, LastFour = response.Result.LastFour }); } catch (Exception e) { var message = e.Message; var exception = e as AggregateException; if (exception != null) { message = exception.InnerException.Message; } return(new TokenizedCreditCardResponse { IsSuccessful = false, Message = message }); } }
private void InitializeServiceClient() { _cmtPaymentServiceClient = new CmtPaymentServiceClient(_serverPaymentSettings.CmtPaymentSettings, null, null, _logger, null); _cmtMobileServiceClient = new CmtMobileServiceClient(_serverPaymentSettings.CmtPaymentSettings, null, null, null); _cmtTripInfoServiceHelper = new CmtTripInfoServiceHelper(_cmtMobileServiceClient, _logger); }
private async Task <TokenizedCreditCardResponse> Tokenize(CmtPaymentServiceClient cmtPaymentServiceClient, string nameOnCard, string accountNumber, DateTime expiryDate, string cvv, string kountSessionId, string zipCode, Account account) { try { var request = new TokenizeRequest { AccountNumber = accountNumber, ExpiryDate = expiryDate.ToString("yyMM", CultureInfo.InvariantCulture), Cvv = cvv, SessionId = kountSessionId, Email = account.Email, BillingFullName = nameOnCard, CustomerId = account.Id.ToString(), CustomerIpAddress = _ipAddressManager.GetIPAddress() }; if (zipCode.HasValue()) { request.ZipCode = zipCode; } var response = await cmtPaymentServiceClient.PostAsync(request); return(new TokenizedCreditCardResponse { CardOnFileToken = response.CardOnFileToken, IsSuccessful = response.ResponseCode == 1, Message = response.ResponseMessage, CardType = response.CardType, LastFour = response.LastFour, }); } catch (Exception e) { _logger.Maybe(x => x.LogMessage("Error during CMT tokenization")); var message = GetTokenizationErrorMessageFromCMT(e); if (message.HasValueTrimmed()) { return(new TokenizedCreditCardResponse { IsSuccessful = false, Message = message }); } // the exception is not a cmt error, log the exception _logger.Maybe(x => x.LogError(e)); message = e.Message; var exception = e as AggregateException; if (exception != null) { message = exception.InnerException.Message; } return(new TokenizedCreditCardResponse { IsSuccessful = false, Message = message }); } }