Esempio n. 1
0
        public QueryStatuViewDto QueryPayment(MetaDataViewDto metaData, PaymentViewDto paymentViewDto)
        {
            RestClientTool <QueryStatuRequest, QueryStatuResponse> restClient = new RestClientTool <QueryStatuRequest, QueryStatuResponse>();

            QueryStatuRequest request = new QueryStatuRequestFactory()
                                        .AddOriginalPaymentReferenceNumber(paymentViewDto.PaymentReferenceNumber)
                                        .AddClientIPAddress(metaData.ClientIPAddress).Build();

            QueryStatuResponse response = restClient.RestClientRequest(Constants.QUERY_STATU_URL, request);

            if (response.ResponseHeader.ResponseCode != null && response.ResponseHeader.ResponseCode == "0")
            {
                return(CreateQueryStatuViewDto(response));
            }
            else if (response.ResponseHeader != null)
            {
                String errorMessage = "Query Status of Payment was not successful: " + response.ResponseHeader.ResponseCode + response.ResponseHeader.ResponseDescription;
                throw new Exception(errorMessage);
            }
            else
            {
                String errorMessage = "Query Status of Payment was not successful, response status info is empty.";
                throw new Exception(errorMessage);
            }
        }
Esempio n. 2
0
        public string RefundPayment(MetaDataViewDto metaData, PaymentViewDto payment, String refundAmount)
        {
            RefundRequestFactory refundRequestFactory = new RefundRequestFactory();
            RefundRequest        refundRequest        = refundRequestFactory
                                                        .AddOriginalReferenceNumber(payment.PaymentReferenceNumber).AddAmount(refundAmount)
                                                        .AddClientIPAddress(metaData.ClientIPAddress).AddMsisdn(metaData.Msisdn).Build();

            RestClientTool <RefundRequest, RefundResponse> restClient = new RestClientTool <RefundRequest, RefundResponse>();
            RefundResponse refundResponse = restClient.RestClientRequest(Constants.REFUND_URL, refundRequest);

            ResponseHeader responseHeader = refundResponse.ResponseHeader;

            if (responseHeader.ResponseCode != null && responseHeader.ResponseCode == "0")
            {
                return(refundResponse.ApprovalCode);
            }
            else if (responseHeader.ResponseCode != null)
            {
                string errorMessage = "Refund payment was not successful: " + refundResponse.ResponseHeader.ResponseCode +
                                      " " + refundResponse.ResponseHeader.ResponseDescription;
                throw new Exception(errorMessage);
            }
            else
            {
                string errorMessage = "Refund payment was not successful, response status info is empty.";
                throw new Exception(errorMessage);
            }
        }
Esempio n. 3
0
        public ActionResult Refund(string refundAmount)
        {
            MetaDataViewDto   metaData   = TempData["metaDataItem"] as MetaDataViewDto;
            QueryStatuViewDto queryStatu = TempData["queryStatuItem"] as QueryStatuViewDto;
            PaymentViewDto    payment    = TempData["paymentItem"] as PaymentViewDto;

            string refund = null;

            try
            {
                refund = paymentService.RefundPayment(metaData, payment, refundAmount);
                ViewBag.successMessage = "Refund Success!";
            } catch (Exception e)
            {
                ViewBag.message = e.Message;
            }

            return(View("CheckStatus", Tuple.Create(metaData, queryStatu, payment)));
        }
        public IndexPageViewDto LoadTestData()
        {
            IndexPageViewDto dto             = new IndexPageViewDto();
            MetaDataViewDto  metaDataViewDto = new MetaDataViewDto
            {
                HostAccount     = "*****@*****.**",
                Msisdn          = "905465553333",
                Language        = "tr",
                ApplicationName = Constants.APPLICATION_NAME,
                MerchantCode    = Constants.MERCHANT_CODE,
                TerminalCode    = Constants.TERMINAL_CODE,
                ClientIPAddress = GetIPAddress()
            };

            PaymentViewDto        paymentViewDto = CreateTestPaymentViewDto();
            InstalmentPlanViewDto instalmentPlan = CreateTestInstalmentPlan();

            dto.MetaData    = metaDataViewDto;
            dto.PaymentView = paymentViewDto;
            dto.PaymentView.InstalmentPlans.Add(instalmentPlan);

            return(dto);
        }