Ejemplo n.º 1
0
        public ActionResult PayResult()
        {
            var data = Request.QueryString.AllKeys.ToDictionary(key => key, key => Request.QueryString[key]);

            try
            {
                if (CommonHelpers.CheckFromAlipay(data))
                {
                    var paidOrder =
                        DataRuntime.RuntimeData.Orders.First(
                            order => order.ID == int.Parse(data["out_trade_no"]));
                    if (paidOrder.Condition == OrderCondition.PayWaiting)
                    {
                        paidOrder.Pay(data["trade_no"]);
                    }
                }
                var userIDObject = Session["LoggedInUserID"];
                return(userIDObject == null
                    ? RedirectToAction("Index", "Home")
                    : RedirectToAction("UserPanel", "User"));
            }
            catch
            {
                var userIDObject = Session["LoggedInUserID"];
                return(userIDObject == null
                    ? RedirectToAction("Index", "Home")
                    : RedirectToAction("UserPanel", "User"));
            }
        }
Ejemplo n.º 2
0
        public ActionResult PayNotify()
        {
            var data = Request.Form.AllKeys.ToDictionary(key => key, key => Request.Form[key]);

            try
            {
                if (!CommonHelpers.CheckFromAlipay(data))
                {
                    return(Content("fail"));
                }
                var paidOrder =
                    DataRuntime.RuntimeData.Orders.First(
                        order => order.ID == int.Parse(data["out_trade_no"]));
                if (paidOrder.Condition == OrderCondition.PayWaiting)
                {
                    paidOrder.Pay(data["trade_no"]);
                }
                return(Content("success"));
            }
            catch
            {
                return(Content("fail"));
            }
        }