/// <summary>
        /// 定时回调函数
        /// </summary>
        /// <returns></returns>
        public ActionResult Alipay_Notify()
        {
            SortedDictionary <string, string> sArrary = GetRequestPost();
            ///////////////////////以下参数是需要设置的相关配置参数,设置后不会更改的//////////////////////
            AlipayConfig con           = new AlipayConfig();
            string       partner       = con.Partner;
            string       key           = con.Key;
            string       input_charset = con.Input_charset;
            string       sign_type     = con.Sign_type;
            string       transport     = con.Transport;

            //////////////////////////////////////////////////////////////////////////////////////////////

            if (sArrary.Count > 0)//判断是否有带返回参数
            {
                AlipayNotify aliNotify   = new AlipayNotify(sArrary, Request.Form["notify_id"], partner, key, input_charset, sign_type, transport);
                string       responseTxt = aliNotify.ResponseTxt; //获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求
                string       sign        = Request.Form["sign"];  //获取支付宝反馈回来的sign结果
                string       mysign      = aliNotify.Mysign;      //获取通知返回后计算后(验证)的签名结果

                //写日志记录(若要调试,请取消下面两行注释)
                //string sWord = "responseTxt=" + responseTxt + "\n notify_url_log:sign=" + Request.Form["sign"] + "&mysign=" + mysign + "\n notify回来的参数:" + aliNotify.PreSignStr;
                //AlipayFunction.log_result(Server.MapPath("log/" + DateTime.Now.ToString().Replace(":", "")) + ".txt", sWord);

                //判断responsetTxt是否为ture,生成的签名结果mysign与获得的签名结果sign是否一致
                //responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
                //mysign与sign不等,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关

                if (responseTxt == "true" && sign == mysign)//验证成功
                {
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //请在这里加上商户的业务逻辑程序代码
                    string trade_no       = Request.QueryString["trade_no"];     //支付宝交易号
                    string order_no       = Request.QueryString["out_trade_no"]; //订单号
                    string total_fee      = Request.QueryString["total_fee"];    //金额
                    string strTradeStatus = Request.QueryString["trade_status"]; //订单状态
                    string body           = Request.QueryString["body"];         //商品描述、订单备注、描述

                    //}
                    if (Request.QueryString["trade_status"] == "TRADE_FINISHED" || Request.QueryString["trade_status"] == "TRADE_SUCCESS")
                    {
                        //#################################################
                        try
                        {
                            SqlTranEx.SqlTranExtensions _STE = new SqlTranEx.SqlTranExtensions();

                            #region 付款成功之后的操作
                            switch (body)
                            {
                            }
                            #endregion

                            _STE.ExecuteSqlTran();
                        }
                        catch { return(Content("Error")); }
                        //#################################################
                    }
                    else
                    {
                        Response.Write("trade_status=" + Request.QueryString["trade_status"]);
                    }

                    return(Content("success"));
                }
                else
                {//验证失败
                    return(Content("fail"));
                }
            }
            else
            {
                return(Content("无通知参数"));
            }
        }
        /// <summary>
        /// 定时回调函数
        /// </summary>
        /// <returns></returns>
        public ActionResult Alipay_Notify()
        {
            SortedDictionary <string, string> sArrary = GetRequestPost();
            ///////////////////////以下参数是需要设置的相关配置参数,设置后不会更改的//////////////////////
            AlipayConfig con           = new AlipayConfig();
            string       partner       = con.Partner;
            string       key           = con.Key;
            string       input_charset = con.Input_charset;
            string       sign_type     = con.Sign_type;
            string       transport     = con.Transport;

            //////////////////////////////////////////////////////////////////////////////////////////////

            if (sArrary.Count > 0)//判断是否有带返回参数
            {
                AlipayNotify aliNotify   = new AlipayNotify(sArrary, Request.Form["notify_id"], partner, key, input_charset, sign_type, transport);
                string       responseTxt = aliNotify.ResponseTxt; //获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求
                string       sign        = Request.Form["sign"];  //获取支付宝反馈回来的sign结果
                string       mysign      = aliNotify.Mysign;      //获取通知返回后计算后(验证)的签名结果

                //写日志记录(若要调试,请取消下面两行注释)
                //string sWord = "responseTxt=" + responseTxt + "\n notify_url_log:sign=" + Request.Form["sign"] + "&mysign=" + mysign + "\n notify回来的参数:" + aliNotify.PreSignStr;
                //AlipayFunction.log_result(Server.MapPath("log/" + DateTime.Now.ToString().Replace(":", "")) + ".txt", sWord);

                //判断responsetTxt是否为ture,生成的签名结果mysign与获得的签名结果sign是否一致
                //responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
                //mysign与sign不等,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关

                if (responseTxt == "true" && sign == mysign)//验证成功
                {
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //请在这里加上商户的业务逻辑程序代码
                    string trade_no       = Request.Form["trade_no"];     //支付宝交易号
                    string order_no       = Request.Form["out_trade_no"]; //订单号
                    string total_fee      = Request.Form["total_fee"];    //金额
                    string strTradeStatus = Request.Form["trade_status"]; //订单状态

                    //}
                    if (Request.QueryString["trade_status"] == "TRADE_FINISHED" || Request.QueryString["trade_status"] == "TRADE_SUCCESS")
                    {
                        //#################################################
                        try
                        {
                            string[] OrderListUID            = order_no.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                            SqlTranEx.SqlTranExtensions _STE = new SqlTranEx.SqlTranExtensions();
                            lock (this)
                            {
                                //for (int i = 0; i < OrderListUID.Length; i++)
                                //{
                                //    Orders m_now_orders = Orders.GetModel(t => t.O_UID == OrderListUID[i].ToString2());
                                //    if (!m_now_orders.IsNull && m_now_orders.O_IsPay == false)
                                //    {

                                //        #region 更改订单信息

                                //        m_now_orders.O_IsPay = true;
                                //        m_now_orders.O_Status = CommonEnumHelper.OrderStatus.已付款.ToString2();
                                //        m_now_orders.O_PayTime = DateTime.Now;
                                //        m_now_orders.Update(_STE);

                                //        #endregion

                                //        #region 增加会员账户消费记录信息
                                //        MemberAccountLog m_mal = new MemberAccountLog(); //表名:MemberAccountLog 备注:会员账户消费记录
                                //        m_mal.M_UID = m_now_orders.Member_UID;        //M_UID[Type=string] - 会员唯一编号
                                //        m_mal.MA_UID = Common.Globals.CreateNewUniqueID();
                                //        m_mal.M_Cate = CommonEnumHelper.AccountCate.现金.ToString2();        //M_Cate[Type=string] - 分类(积分/现金)
                                //        m_mal.M_PayCate = CommonEnumHelper.AccountLogCate.支出.ToString2();        //M_PayCate[Type=string] - 收入/支出类型
                                //        m_mal.M_ObjectMoney = m_now_orders.O_PayMoney;        //M_ObjectMoney[Type=double?] - 操作金额
                                //        //m_mal.M_BalanceMoney = m_member_account.M_AvailableBalance;        //M_BalanceMoney[Type=double?] - 账户余额
                                //        m_mal.M_Remark = "支付订单(订单编号:" + m_now_orders.O_UID + ")";        //M_Remark[Type=string] - 备注
                                //        m_mal.M_Status = "";        //M_Status[Type=string] - 当前状态
                                //        m_mal.M_Time = DateTime.Now;        //M_Time[Type=DateTime?] - 时间
                                //        m_mal.Add(_STE);
                                //        #endregion

                                //        _STE.ExecuteSqlTran();

                                //    }
                                //}
                            }
                        }
                        catch { return(Content("Error")); }
                        //#################################################
                    }
                    else
                    {
                        Response.Write("trade_status=" + Request.QueryString["trade_status"]);
                    }

                    return(Content("success"));
                }
                else
                {//验证失败
                    return(Content("fail"));
                }
            }
            else
            {
                return(Content("无通知参数"));
            }
        }
        /// <summary>
        /// 即刻回调函数
        /// </summary>
        /// <returns></returns>
        public ActionResult Alipay_Return()
        {
            bool   isSuccess  = false;
            string AcitonCate = string.Empty;

            try
            {
                SortedDictionary <string, string> sArrary = GetRequestGet();
                ///////////////////////以下参数是需要设置的相关配置参数,设置后不会更改的//////////////////////
                AlipayConfig con           = new AlipayConfig();
                string       partner       = con.Partner;
                string       key           = con.Key;
                string       input_charset = con.Input_charset;
                string       sign_type     = con.Sign_type;
                string       transport     = con.Transport;
                //////////////////////////////////////////////////////////////////////////////////////////////

                if (sArrary.Count > 0)//判断是否有带返回参数
                {
                    AlipayNotify aliNotify   = new AlipayNotify(sArrary, Request.QueryString["notify_id"], partner, key, input_charset, sign_type, transport);
                    string       responseTxt = aliNotify.ResponseTxt;       //获取远程服务器ATN结果,验证是否是支付宝服务器发来的请求
                    string       sign        = Request.QueryString["sign"]; //获取支付宝反馈回来的sign结果
                    string       mysign      = aliNotify.Mysign;            //获取通知返回后计算后(验证)的签名结果

                    //写日志记录(若要调试,请取消下面两行注释)
                    //string sWord = "responseTxt=" + responseTxt + "\n return_url_log:sign=" + Request.QueryString["sign"] + "&mysign=" + mysign + "\n return回来的参数:" + aliNotify.PreSignStr;
                    //AlipayFunction.log_result(Server.MapPath("log/" + DateTime.Now.ToString().Replace(":", "")) + ".txt",sWord);

                    //判断responsetTxt是否为ture,生成的签名结果mysign与获得的签名结果sign是否一致
                    //responsetTxt的结果不是true,与服务器设置问题、合作身份者ID、notify_id一分钟失效有关
                    //mysign与sign不等,与安全校验码、请求时的参数格式(如:带自定义参数等)、编码格式有关

                    if (responseTxt == "true" && sign == mysign)//验证成功
                    {
                        /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                        //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                        //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
                        string trade_no           = Request.QueryString["trade_no"];     //支付宝交易号
                        string order_no           = Request.QueryString["out_trade_no"]; //获取订单号
                        string total_fee          = Request.QueryString["total_fee"];    //获取总金额
                        string subject            = Request.QueryString["subject"];      //商品名称、订单名称
                        string body               = Request.QueryString["body"];         //商品描述、订单备注、描述
                        string buyer_email        = Request.QueryString["buyer_email"];  //买家支付宝账号
                        string trade_status       = Request.QueryString["trade_status"]; //交易状态
                        string extra_common_param = Request.QueryString["trade_status"]; //会员唯一编号
                        ////打印页面
                        if (Request.QueryString["trade_status"] == "TRADE_FINISHED" || Request.QueryString["trade_status"] == "TRADE_SUCCESS")
                        {
                            //#################################################
                            try
                            {
                                SqlTranEx.SqlTranExtensions _STE = new SqlTranEx.SqlTranExtensions();
                                #region 付款成功之后的操作
                                switch (body)
                                {
                                }
                                #endregion

                                isSuccess = _STE.ExecuteSqlTran();

                                //return Content("失败:该流水号不存在");
                            }
                            catch { return(Content("Error")); }
                            //#################################################
                        }
                        else
                        {
                            Response.Write("trade_status=" + Request.QueryString["trade_status"]);
                        }
                        ////——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
                    }
                    else
                    { //验证失败
                    }
                }
                else
                {
                    return(Content("无返回参数"));
                }
            }
            catch (Exception ex)
            {
            }

            if (isSuccess)
            {
                if (AcitonCate == "充值")
                {
                    return(RedirectToAction("MemberAccountInfo", "MSComm"));
                }
                else if (AcitonCate == "活动付款")
                {
                    return(RedirectToAction("SignUpSuccess", "Home"));
                }
                else if (AcitonCate == "会员卡")
                {
                    return(RedirectToAction("MemberCardLog", "MSComm"));
                }
                return(RedirectToAction("MemberAccountInfo", "MSComm"));
            }
            else
            {
                if (AcitonCate == "充值")
                {
                    return(RedirectToAction("MemberAccountInfo", "MSComm"));
                }
                else if (AcitonCate == "活动付款")
                {
                    return(RedirectToAction("SignUpFailed", "Home", new { msg = "支付失败,请重新核对支付信息后重新支付" }));
                }
                else if (AcitonCate == "会员卡")
                {
                    return(RedirectToAction("MemberCardLog", "MSComm"));
                }
                return(RedirectToAction("SignUpFailed", "Home", new { msg = "支付失败,请重新核对支付信息后重新支付" }));
            }
        }