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