public async Task <VerifoneTransactionDto> GetVerifoneTransactionAsync(
            VerifoneTransactionDto verifoneTransactionDto)
        {
            var innerUrl = $"{_baseUrl}api/VerifonePayment/GetTransaction";

            return(await _restClient.PostAsync <VerifoneTransactionDto, VerifoneTransactionDto>(innerUrl,
                                                                                                verifoneTransactionDto));
        }
Example #2
0
        public async Task Index_Process_Verifone_Response_SUCCESS()
        {
            //Arrange
            string transactionGuid    = "123456789_3d86fa56-3b9c-4225-98fa-f4926f2683bd";
            string result             = "SUCCESS";
            string tokenId            = "10032863201";
            string authrorisationCode = "789DE";

            //Act
            var _verifoneTransactionDto = new VerifoneTransactionDto()
            {
                TransactionData = "{'LowellReference':'257113803','ClientName':'Lamb','PaymentAmount':501.53,'SourceOfFunds':'Disposable Income','SourceOfFundsOther':null,'UserID':'2e5321ad - af0c - 4a69 - 8036 - 5ecf703017cb','PaidInFull':true,'DiscountAvailable':false,'DiscountSelected':false,'PlanInPlace':false,'InArrears':false}",
                Status          = 0
            };

            _verifonePaymentProviderService.Setup(x => x.GetVerifoneTransactionAsync(transactionGuid)).Returns(Task.FromResult(_verifoneTransactionDto));

            var oneOffPaymentDto =
                JsonConvert.DeserializeObject <OneOffPaymentDto>(_verifoneTransactionDto.TransactionData);

            var model = new PaymentResultVm
            {
                Reference   = transactionGuid,
                Result      = result,
                TokenId     = tokenId,
                ACode       = authrorisationCode,
                PaymentInfo = oneOffPaymentDto
            };

            var successfulOneOffPaymentVm = new SuccessfulOneOffPaymentVm
            {
                ClientName   = oneOffPaymentDto.ClientName,
                PaymentInfo  = model.PaymentInfo,
                UserLoggedIn = !string.IsNullOrEmpty(_caseflowUserId)
            };

            _paymentService.Setup(x => x.MakePayment(model, oneOffPaymentDto)).Verifiable();
            _verifonePaymentProviderService.Setup(x => x.UpdateVerifoneTransactionAsync(_verifoneTransactionDto)).Verifiable();

            _sessionState.Setup(x => x.LogPaymentResult).Returns(true);
            _gtmService.Setup(x => x.RaiseOneOffPaymentEvent_PaymentComplete(successfulOneOffPaymentVm, _caseflowUserId, "Regular Account")).Verifiable();
            _webActivityService.Setup(x => x.LogOneOffPaymentComplete(model.PaymentInfo.LowellReference, _caseflowUserId, !model.PaymentInfo.PaidInFull, model.PaymentInfo.DiscountSelected)).Returns(Task.CompletedTask);

            ViewResult response = (ViewResult)await _controller.Index(transactionGuid, result, tokenId, authrorisationCode);

            SuccessfulOneOffPaymentVm res = (SuccessfulOneOffPaymentVm)response.Model;

            //Assert
            Assert.AreEqual(successfulOneOffPaymentVm.ClientName, res.ClientName);
            Assert.AreEqual(model.PaymentInfo.LowellReference, res.PaymentInfo.LowellReference);
            VerifyAll();
        }
        public async Task UpdateVerifoneTransactionAsync(VerifoneTransactionDto verifoneTransactionDto)
        {
            var innerUrl = $"{_baseUrl}api/VerifonePayment/UpdateTransaction";

            await _restClient.PostNoResponseAsync(innerUrl, verifoneTransactionDto);
        }
Example #4
0
 public async Task UpdateVerifoneTransactionAsync(VerifoneTransactionDto verifoneTransactionDto)
 {
     await _apiGatewayProxy.UpdateVerifoneTransactionAsync(verifoneTransactionDto);
 }