Example #1
0
        public ActionResult CheckStatus(string paymentReferenceNumber)
        {
            if (TempData["temp"] != null)
            {
                IndexPageViewDto indexPageViewDto = TempData["temp"] as IndexPageViewDto;

                var metaData   = indexPageViewDto.MetaData;
                var queryStatu = new QueryStatuViewDto();
                var payment    = indexPageViewDto.PaymentView;

                try
                {
                    queryStatu             = paymentService.QueryPayment(indexPageViewDto.MetaData, indexPageViewDto.PaymentView);
                    ViewBag.successMessage = "CheckStatus Success!";
                }
                catch (Exception e)
                {
                    ViewBag.message = e.Message;
                }

                return(View(Tuple.Create(metaData, queryStatu, payment)));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Example #2
0
 public ActionResult Delete(int id) //delete InstallmentPlan
 {
     if (TempData["temp"] != null)
     {
         IndexPageViewDto indexPageViewDto = TempData["temp"] as IndexPageViewDto;
         indexPageViewDto.PaymentView.InstalmentPlans.RemoveAt(id);
         TempData["temp"] = indexPageViewDto;
     }
     return(RedirectToAction("Index"));
 }
Example #3
0
 public ActionResult New() // new InstallmentPlan
 {
     if (TempData["temp"] != null)
     {
         IndexPageViewDto indexPageViewDto = TempData["temp"] as IndexPageViewDto;
         indexPageViewDto.PaymentView.InstalmentPlans.Add(new InstalmentPlanViewDto());
         TempData["temp"] = indexPageViewDto;
     }
     return(RedirectToAction("Index"));
 }
Example #4
0
        public ActionResult Index(IndexPageViewDto indexPageViewDto)
        {
            TempData["temp"] = indexPageViewDto;

            indexPageViewDto.PaymentView.PaymentReferenceNumber = paymentService.KeyGenerator();

            try
            {
                indexPageViewDto.PaymentUrl = paymentService.InitPayment(indexPageViewDto);
            } catch (Exception e)
            {
                indexPageViewDto.PaymentUrl = e.Message;
            }

            return(View(indexPageViewDto));
        }
Example #5
0
        public String InitPayment(IndexPageViewDto indexPageView)
        {
            InitRequest  initRequest  = CreateInitRequest(indexPageView);
            InitResponse initResponse = new RestClientTool <InitRequest, InitResponse>().RestClientRequest(Constants.INIT_URL, initRequest);

            if (initResponse.StatusCode != null && Int32.Parse(initResponse.StatusCode) == Constants.SUCCESS_CODE)
            {
                return(GetPaymentScreenUrl(initResponse.TrackingId));
            }
            else if (initResponse.StatusCode != null && initResponse.StatusCode != "11")
            {
                string errorMessage = "Init payment was not successful: " + initResponse.StatusCode + " " + initResponse.Message;
                throw new Exception(errorMessage);
            }
            else
            {
                string errorMessage = "Init payment was not successful, status info is empty";
                throw new Exception(errorMessage);
            }
        }
        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);
        }
        public InitRequest CreateInitRequest(IndexPageViewDto indexPageView)
        {
            InitRequestFactory InitRequestFactory = new InitRequestFactory();

            InitRequest InitRequest = new InitRequest()
            {
                Language    = indexPageView.MetaData.Language,
                HostAccount = indexPageView.MetaData.HostAccount,
                Payment     = InitRequestFactory.CreatePayment(indexPageView.PaymentView.Amount, indexPageView.PaymentView.Currency, indexPageView.PaymentView.PaymentSecurity)
            };

            foreach (InstalmentPlanViewDto dto in indexPageView.PaymentView.InstalmentPlans)
            {
                InstalmentPlan InstalmentPlan = InitRequestFactory.AddNewInstalmentPlan(dto, indexPageView.PaymentView.InstalmentPlans.Count - 1);
                InitRequest.Payment.InstalmentPlan.Add(InstalmentPlan);
            }

            InitRequest.Payment.PaymentReferenceNumber = indexPageView.PaymentView.PaymentReferenceNumber;
            InitRequest.ReturnUrl = Constants.RETURN_URL + "?paymentReferenceNumber=" + indexPageView.PaymentView.PaymentReferenceNumber;

            InitRequest = InitRequestFactory.Build(InitRequest);

            return(InitRequest);
        }