コード例 #1
0
        private static List <Rechargeorder> GetList(string spName, SqlParameter[] paramvalues)
        {
            List <Rechargeorder> list       = new List <Rechargeorder>();
            SqlDataReader        dataReader = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.StoredProcedure, spName, paramvalues);

            try
            {
                while (dataReader.Read())
                {
                    Rechargeorder item = new Rechargeorder();
                    item.Id          = Convert.ToInt32(dataReader["id"]);
                    item.OrderNo     = dataReader["orderno"].ToString();
                    item.UserId      = Convert.ToInt32(dataReader["userid"]);
                    item.UserName    = dataReader["username"].ToString();
                    item.OrderPrice  = Convert.ToDecimal(dataReader["orderprice"]);
                    item.TradeNo     = dataReader["tradeno"].ToString();
                    item.Payment     = dataReader["payment"].ToString();
                    item.OrderStatus = Convert.ToInt32(dataReader["orderstatus"]);
                    item.AddTime     = Convert.ToDateTime(dataReader["addtime"]);
                    list.Add(item);
                }
            }
            catch
            {
                dataReader.Close();
                dataReader.Dispose();
            }
            finally
            {
                dataReader.Close();
                dataReader.Dispose();
            }
            return(list);
        }
コード例 #2
0
 private void PageInit()
 {
     if (orderno != string.Empty)
     {
         Rechargeorder item = bll.GetItem(orderno);
         if (item != null)
         {
             hidden_orderno.Value = item.OrderNo;
             txtorderprice.Value  = item.OrderPrice.ToString();
         }
     }
 }
コード例 #3
0
        public static int AddItem(Rechargeorder item)
        {
            string spName = "cudo_createrechargeorder";

            SqlParameter[] paramvalues = new SqlParameter[]
            {
                new SqlParameter("@orderno", item.OrderNo),
                new SqlParameter("@userid", item.UserId),
                new SqlParameter("@orderprice", item.OrderPrice),
                new SqlParameter("@tradeno", item.TradeNo),
                new SqlParameter("@payment", item.Payment)
            };
            return(Convert.ToInt32(SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionString, CommandType.StoredProcedure, spName, paramvalues)));
        }
コード例 #4
0
        public static Rechargeorder GetItem(string orderno)
        {
            Rechargeorder item   = null;
            string        spName = "cudo_getrechargeorderbyorderno";

            SqlParameter[] paramvalues = new SqlParameter[]
            {
                new SqlParameter("@orderno", orderno)
            };
            SqlDataReader dataReader = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.StoredProcedure, spName, paramvalues);

            try
            {
                if (dataReader.Read())
                {
                    item             = new Rechargeorder();
                    item.OrderNo     = dataReader["orderno"].ToString();
                    item.UserId      = Convert.ToInt32(dataReader["userid"]);
                    item.OrderPrice  = Convert.ToDecimal(dataReader["orderprice"]);
                    item.TradeNo     = dataReader["tradeno"].ToString();
                    item.Payment     = dataReader["payment"].ToString();
                    item.OrderStatus = Convert.ToInt32(dataReader["orderstatus"]);
                    item.AddTime     = Convert.ToDateTime(dataReader["addtime"]);
                }
            }
            catch
            {
                dataReader.Close();
                dataReader.Dispose();
            }
            finally
            {
                dataReader.Close();
                dataReader.Dispose();
            }
            return(item);
        }
コード例 #5
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            string out_trade_no = "";

            if (hidden_orderno.Value != string.Empty)
            {
                out_trade_no = hidden_orderno.Value;
            }
            else
            {
                out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(10, 100);
                Rechargeorder item = new Rechargeorder();
                item.OrderNo    = out_trade_no;
                item.TradeNo    = "";
                item.Payment    = "支付宝";
                item.OrderPrice = Convert.ToDecimal(txtorderprice.Value.Trim());
                item.UserId     = (Session["cudoUser"] as UserInfo).Id;
                bll.AddItem(item);
            }

            ////////////////////////////////////////////请求参数////////////////////////////////////////////

            //必填参数//

            //请与贵网站订单系统中的唯一订单号匹配
            //string out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(10, 100);
            //订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。
            string subject = "107饭在线充值";
            //订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里
            string body = "107饭在线充值";
            //订单总金额,显示在支付宝收银台里的“应付总额”里
            string total_fee = txtorderprice.Value.Trim();

            //扩展功能参数——默认支付方式//

            //默认支付方式,代码见“即时到帐接口”技术文档
            string paymethod = "";
            //默认网银代号,代号列表见“即时到帐接口”技术文档“附录”→“银行列表”
            string defaultbank = "";

            //扩展功能参数——防钓鱼//

            //防钓鱼时间戳
            string anti_phishing_key = "";
            //获取客户端的IP地址,建议:编写获取客户端IP地址的程序
            string exter_invoke_ip = "";
            //注意:
            //请慎重选择是否开启防钓鱼功能
            //exter_invoke_ip、anti_phishing_key一旦被设置过,那么它们就会成为必填参数
            //建议使用POST方式请求数据
            //示例:
            //exter_invoke_ip = "";
            //Service aliQuery_timestamp = new Service();
            //anti_phishing_key = aliQuery_timestamp.Query_timestamp();               //获取防钓鱼时间戳函数

            //扩展功能参数——其他//

            //商品展示地址,要用http:// 格式的完整路径,不允许加?id=123这类自定义参数
            //string show_url = "http://www.xxx.com/myorder.aspx";
            //自定义参数,可存放任何内容(除=、&等特殊字符外),不会显示在页面上
            string extra_common_param = "";
            //默认买家支付宝账号
            string buyer_email = "";

            //扩展功能参数——分润(若要使用,请按照注释要求的格式赋值)//

            //提成类型,该值为固定值:10,不需要修改
            string royalty_type = "";
            //提成信息集
            string royalty_parameters = "";
            //注意:
            //与需要结合商户网站自身情况动态获取每笔交易的各分润收款账号、各分润金额、各分润说明。最多只能设置10条
            //各分润金额的总和须小于等于total_fee
            //提成信息集格式为:收款方Email_1^金额1^备注1|收款方Email_2^金额2^备注2
            //示例:
            //royalty_type = "10";
            //royalty_parameters = "[email protected]^0.01^分润备注一|[email protected]^0.01^分润备注二";

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

            //把请求参数打包成数组
            SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>();

            sParaTemp.Add("payment_type", "1");
            //sParaTemp.Add("show_url", show_url);
            sParaTemp.Add("out_trade_no", out_trade_no);
            sParaTemp.Add("subject", subject);
            sParaTemp.Add("body", body);
            sParaTemp.Add("total_fee", total_fee);
            sParaTemp.Add("paymethod", paymethod);
            sParaTemp.Add("defaultbank", defaultbank);
            sParaTemp.Add("anti_phishing_key", anti_phishing_key);
            sParaTemp.Add("exter_invoke_ip", exter_invoke_ip);
            sParaTemp.Add("extra_common_param", extra_common_param);
            sParaTemp.Add("buyer_email", buyer_email);
            sParaTemp.Add("royalty_type", royalty_type);
            sParaTemp.Add("royalty_parameters", royalty_parameters);

            //构造即时到帐接口表单提交HTML数据,无需修改
            Service ali       = new Service();
            string  sHtmlText = ali.Create_direct_pay_by_user(sParaTemp);

            Response.Write(sHtmlText);
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            SortedDictionary <string, string> sPara = GetRequestPost();

            if (sPara.Count > 0)//判断是否有带返回参数
            {
                Notify aliNotify    = new Notify();
                bool   verifyResult = aliNotify.Verify(sPara, Request.Form["notify_id"], Request.Form["sign"]);

                if (verifyResult)//验证成功
                {
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //请在这里加上商户的业务逻辑程序代码

                    //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                    //获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表
                    string trade_no     = Request.Form["trade_no"];     //支付宝交易号
                    string order_no     = Request.Form["out_trade_no"]; //获取订单号
                    string total_fee    = Request.Form["total_fee"];    //获取总金额
                    string subject      = Request.Form["subject"];      //商品名称、订单名称
                    string body         = Request.Form["body"];         //商品描述、订单备注、描述
                    string buyer_email  = Request.Form["buyer_email"];  //买家支付宝账号
                    string trade_status = Request.Form["trade_status"]; //交易状态

                    if (Request.Form["trade_status"] == "TRADE_FINISHED" || Request.Form["trade_status"] == "TRADE_SUCCESS")
                    {
                        //判断该笔订单是否在商户网站中已经做过处理
                        //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
                        //如果有做过处理,不执行商户的业务程序

                        //注意:
                        //该种交易状态只在两种情况下出现
                        //1、开通了普通即时到账,买家付款成功后。
                        //2、开通了高级即时到账,从该笔交易成功时间算起,过了签约时的可退款时限(如:三个月以内可退款、一年以内可退款等)后。
                        RechargeorderBLL bll  = new RechargeorderBLL();
                        Rechargeorder    item = bll.GetItem(order_no);
                        if (item.OrderStatus == 0)
                        {
                            decimal point = item.OrderPrice * 5;
                            bll.UpdateItem(order_no, Convert.ToDecimal(total_fee), trade_no, point, item.UserId);
                        }
                        Session["cudoUser"] = new UsersBLL().GetUserByID(item.UserId);
                        Core.LogResult("订单号:" + order_no + " 已付款,交易完成");
                    }
                    else
                    {
                        Core.LogResult("订单号:" + order_no + " 未付款");
                    }

                    //——请根据您的业务逻辑来编写程序(以上代码仅作参考)——

                    Response.Write("success");  //请不要修改或删除

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                }
                else//验证失败
                {
                    Response.Write("fail");
                }
            }
            else
            {
                Response.Write("无通知参数");
            }
        }
コード例 #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            SortedDictionary <string, string> sPara = GetRequestGet();

            if (sPara.Count > 0)//判断是否有带返回参数
            {
                Notify aliNotify    = new Notify();
                bool   verifyResult = aliNotify.Verify(sPara, Request.QueryString["notify_id"], Request.QueryString["sign"]);

                if (verifyResult)//验证成功
                {
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //请在这里加上商户的业务逻辑程序代码

                    //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                    //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表
                    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"];      //交易状态

                    if (Request.QueryString["trade_status"] == "TRADE_FINISHED" || Request.QueryString["trade_status"] == "TRADE_SUCCESS")
                    {
                        //判断该笔订单是否在商户网站中已经做过处理
                        //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
                        //如果有做过处理,不执行商户的业务程序
                        RechargeorderBLL bll  = new RechargeorderBLL();
                        Rechargeorder    item = bll.GetItem(order_no);
                        if (item.OrderStatus == 0)
                        {
                            decimal point = item.OrderPrice * 5;
                            bll.UpdateItem(order_no, Convert.ToDecimal(total_fee), trade_no, point, item.UserId);
                        }
                        Session["cudoUser"] = new UsersBLL().GetUserByID(item.UserId);
                        ltl_msg.Text        = "充值成功!<br/><a href='/Users/onlinerecharge.aspx'>继续充值</a> <a href='shoplist.aspx'>去点餐</a> ";
                    }
                    else
                    {
                        ltl_msg.Text = "充值失败!";
                        //Response.Write("trade_status=" + Request.QueryString["trade_status"]);
                    }

                    //打印页面
                    //Response.Write("验证成功<br />");
                    //Response.Write("trade_no=" + trade_no);

                    //——请根据您的业务逻辑来编写程序(以上代码仅作参考)——

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                }
                else//验证失败
                {
                    Response.Write("验证失败");
                }
            }
            else
            {
                Response.Write("无返回参数");
            }
        }
コード例 #8
0
 public int AddItem(Rechargeorder item)
 {
     return(RechargeorderDAL.AddItem(item));
 }