public ActionResult MallDeferredCreate()
        {
            var random    = new Random();
            var buyOrder  = random.Next(9999999).ToString();
            var sessionId = random.Next(9999999).ToString();
            var urlHelper = new UrlHelper(ControllerContext.RequestContext);
            var returnUrl = urlHelper.Action("MallDeferredCommit", "WebpayPlus", null, Request.Url.Scheme);

            var transactions = new List <TransactionDetail>();

            transactions.Add(new TransactionDetail(
                                 random.Next(9999999),
                                 "597055555545",
                                 random.Next(9999999).ToString()
                                 ));
            transactions.Add(new TransactionDetail(
                                 random.Next(9999999),
                                 "597055555546",
                                 random.Next(9999999).ToString()
                                 ));

            var result = MallDeferredTransaction.Create(buyOrder, sessionId, returnUrl, transactions);

            ViewBag.Result       = result;
            ViewBag.BuyOrder     = buyOrder;
            ViewBag.SessionId    = sessionId;
            ViewBag.ReturnUrl    = returnUrl;
            ViewBag.Transactions = transactions;
            ViewBag.Action       = result.Url;
            ViewBag.Token        = result.Token;

            return(View());
        }
コード例 #2
0
        public ActionResult TransactionAuthorize()
        {
            var userName = Request.Form["user_name"];
            var tbkUser  = Request.Form["tbk_user"];
            var buyOrder = RandomString(10);

            string  childCommerceCode  = "597055555548";
            string  childBuyOrder      = RandomString(10);
            decimal amount             = decimal.Parse(Request.Form["amount"]);
            int     installmentsNumber = 1;

            List <PaymentRequest> details = new List <PaymentRequest>
            {
                new PaymentRequest(childCommerceCode, childBuyOrder, amount, installmentsNumber)
            };

            Transbank.Webpay.Oneclick.Responses.MallAuthorizeResponse result = MallDeferredTransaction.Authorize(userName, tbkUser, buyOrder, details);
            Console.WriteLine(result);

            ViewBag.UserName = userName;
            ViewBag.TbkUser  = tbkUser;
            ViewBag.BuyOrder = buyOrder;
            ViewBag.Details  = details;
            ViewBag.Result   = result;

            var urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Action = urlHelper.Action("TransactionCapture", "OneclickMallDeferred", null, Request.Url.Scheme);

            return(View());
        }
コード例 #3
0
        public ActionResult TransactionRefund()
        {
            var buyOrder          = Request.Form["buy_order"];
            var childCommerceCode = Request.Form["child_commerce_code"];
            var childBuyOrder     = Request.Form["child_buy_order"];
            var amount            = decimal.Parse(Request.Form["amount"]);
            var token             = Request.Form["TBK_TOKEN"];
            var userName          = Request.Form["user_name"];

            var result = MallDeferredTransaction.Refund(buyOrder, childCommerceCode, childBuyOrder, amount);

            Console.WriteLine(result);

            ViewBag.BuyOrder          = buyOrder;
            ViewBag.ChildCommerceCode = childCommerceCode;
            ViewBag.ChildBuyOrder     = childBuyOrder;
            ViewBag.Amount            = amount;
            ViewBag.Result            = result;
            ViewBag.Token             = token;
            ViewBag.UserName          = userName;

            var urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Action = urlHelper.Action("InscriptionDelete", "OneclickMallDeferred", null, Request.Url.Scheme);

            return(View());
        }
        public ActionResult ExecuteMallDeferredStatus()
        {
            var token = Request.Form["token_ws"];

            var result = MallDeferredTransaction.Status(token);

            ViewBag.Result   = result;
            ViewBag.SaveToke = token;

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

            var urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Token                 = token;
            ViewBag.Action                = urlHelper.Action("ExecuteMallDeferredCapture", "WebpayPlus", null, Request.Url.Scheme);
            ViewBag.Result                = result;
            ViewBag.ResponseCode          = result.Details.First().ResponseCode;
            ViewBag.SaveToken             = token;
            ViewBag.SaveAmount            = result.Details.First().Amount;
            ViewBag.SaveCommerceCode      = result.Details.First().CommerceCode;
            ViewBag.SaveBuyOrder          = result.Details.First().BuyOrder;
            ViewBag.SaveAuthorizationCode = result.Details.First().AuthorizationCode;

            ViewBag.Success = result.Details.All(detail => detail.ResponseCode == 0);
            return(View());
        }
コード例 #6
0
        public ActionResult TransactionCapture()
        {
            var ChildcommerceCode = Request.Form["child_commerce_code"];
            var ChildbuyOrder     = Request.Form["child_buy_order"];

            decimal.TryParse(Request.Form["capture_amount"], out decimal amount);
            var authorizationCode = Request.Form["authorization_code"];
            var result            = MallDeferredTransaction.Capture(ChildcommerceCode, ChildbuyOrder, amount, authorizationCode);

            ViewBag.UserName          = Request.Form["userName"];
            ViewBag.ChildCommerceCode = ChildcommerceCode.ToString();
            ViewBag.ChildbuyOrder     = ChildbuyOrder;
            ViewBag.CaptureAmount     = amount;
            ViewBag.AuthorizationCode = authorizationCode;
            ViewBag.Result            = result;

            UrlHelper urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Action = urlHelper.Action("TransactionRefund", "OneclickMallDeferred", null, Request.Url.Scheme);

            return(View());
        }
        public ActionResult ExecuteMallDeferredRefund()
        {
            var token        = Request.Form["token_ws"];
            var buyOrder     = Request.Form["buy_order"];
            var commerceCode = Request.Form["commerce_code"];
            var amount       = decimal.Parse(Request.Form["amount"]);

            ViewBag.Token = token;
            UrlHelper urlHelper = new UrlHelper(ControllerContext.RequestContext);

            ViewBag.Action = urlHelper.Action("ExecuteMallDeferredStatus", "WebpayPlus", null, Request.Url.Scheme);

            ViewBag.SaveAmount       = amount;
            ViewBag.SaveCommerceCode = commerceCode;
            ViewBag.SaveToken        = token;
            ViewBag.SaveBuyOrder     = buyOrder;

            var result = MallDeferredTransaction.Refund(token, buyOrder, commerceCode, amount);

            ViewBag.Result = result;

            return(View());
        }
        public ActionResult ExecuteMallDeferredCapture()
        {
            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"]);
            string commerceCode      = Request.Form["commerce_code"];;
            var    result            = MallDeferredTransaction.Capture(token, commerceCode, buyOrder, authorizationCode, captureAmount);

            var urlHelper = new UrlHelper(ControllerContext.RequestContext);

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

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

            return(View());
        }