public ActionResult ExecuteDeferredStatus()
        {
            var token  = Request.Form["token_ws"];
            var result = DeferredTransaction.Status(token);

            ViewBag.Result = result;

            return(View());
        }
        public ActionResult ExecuteDeferredRefund()
        {
            var token  = Request.Form["token_ws"];
            var amount = decimal.Parse(Request.Form["amount"]);
            var result = DeferredTransaction.Refund(token, amount);

            var urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Action = urlHelper.Action("ExecuteDeferredStatus", "WebpayPlus", null, Request.Url.Scheme);
            ViewBag.Token  = token;

            ViewBag.Result = result;

            return(View());
        }
        public ActionResult DeferredReturn()
        {
            var token  = Request.Form["token_ws"];
            var result = DeferredTransaction.Commit(token);

            var urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Token                 = token;
            ViewBag.Action                = urlHelper.Action("ExecuteDeferredCapture", "WebpayPlus", null, Request.Url.Scheme);
            ViewBag.Result                = result;
            ViewBag.SaveToken             = token;
            ViewBag.SaveAmount            = result.Amount.ToString();
            ViewBag.SaveAuthorizationCode = result.AuthorizationCode;

            return(View());
        }
        public ActionResult DeferredCreate()
        {
            var random    = new Random();
            var buyOrder  = random.Next(999999999).ToString();
            var sessionId = random.Next(999999999).ToString();
            var amount    = random.Next(1000, 999999);
            var urlHelper = new UrlHelper(ControllerContext.RequestContext);
            var returnUrl = urlHelper.Action("DeferredReturn", "WebpayPlus", null, Request.Url.Scheme);
            var result    = DeferredTransaction.Create(buyOrder, sessionId, amount, returnUrl);

            ViewBag.BuyOrder  = buyOrder;
            ViewBag.SessionId = sessionId;
            ViewBag.Amount    = amount;
            ViewBag.ReturnUrl = returnUrl;
            ViewBag.Result    = result;
            ViewBag.Action    = result.Url;
            ViewBag.Token     = result.Token;
            return(View());
        }
        public ActionResult ExecuteDeferredCapture()
        {
            var token             = Request.Form["token_ws"];
            var buyOrder          = Request.Form["buy_order"];
            var authorizationCode = Request.Form["authorization_code"];
            var captureAmount     = decimal.Parse(Request.Form["capture_amount"]);
            var result            = DeferredTransaction.Capture(token, buyOrder, authorizationCode, captureAmount);

            var urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Action    = urlHelper.Action("ExecuteDeferredRefund", "WebpayPlus", null, Request.Url.Scheme);
            ViewBag.Token     = token;
            ViewBag.SaveToken = token;

            ViewBag.BuyOrder          = buyOrder;
            ViewBag.AuthorizationCode = authorizationCode;
            ViewBag.CaptureAmount     = captureAmount;
            ViewBag.Result            = result;

            return(View());
        }