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); }
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(); } } }
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))); }
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); }
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); }
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("无通知参数"); } }
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("无返回参数"); } }
public int AddItem(Rechargeorder item) { return(RechargeorderDAL.AddItem(item)); }