protected void Page_Load(object sender, EventArgs e) { openid = MyCommFun.RequestOpenid(); int otid = MyCommFun.RequestInt("orderid"); wid = MyCommFun.RequestInt("wid"); expireMinute = MyCommFun.RequestInt("expireminute"); if (expireMinute == 0) { expireMinute = 30; } else if(expireMinute==-1) { //如果为-1,则有限期间为1年 expireMinute = 60 * 12 * 365; } if (openid == "" || otid == 0 || wid==0) { return; } BLL.orders otBll = new BLL.orders(); Model.orders orderEntity = otBll.GetModel(otid,wid); litout_trade_no.Text = orderEntity.order_no; litMoney.Text = orderEntity.order_amount.ToString(); litDate.Text = orderEntity.add_time.ToString(); WxPayData(orderEntity.order_amount, orderEntity.id.ToString(), orderEntity.order_no); }
/// <summary> /// 重写虚方法,此方法在Init事件执行 /// </summary> protected override void InitPage() { id = DTRequest.GetQueryInt("id"); BLL.orders bll = new BLL.orders(); if (!bll.Exists(id)) { HttpContext.Current.Response.Redirect(linkurl("error", "?msg=" + Utils.UrlEncode("出错了,您要浏览的页面不存在或已删除!"))); return; } model = bll.GetModel(id); if (model.user_id != userModel.id) { HttpContext.Current.Response.Redirect(linkurl("error", "?msg=" + Utils.UrlEncode("出错了,您所查看的并非自己的订单信息!"))); return; } payModel = new BLL.payment().GetModel(model.payment_id); if (payModel == null) { payModel = new Model.payment(); } //根据订单状态和物流单号跟踪物流信息 if (model.status > 1 && model.status < 4 && model.express_status == 2 && model.express_no.Trim().Length > 0) { Model.express modelt = new BLL.express().GetModel(model.express_id); Model.orderconfig orderConfig = new BLL.orderconfig().loadConfig(); } }
//完成订单 protected void lbtnComplete_Click(object sender, EventArgs e) { ChkAdminLevel("orders", DTEnums.ActionEnum.Edit.ToString()); //检查权限 BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(this.id); //检查订单状态 if (model == null || model.status != 2 || model.distribution_status != 2) { JscriptMsg("订单不符合要求,无法发货!", "", "Error"); return; } //检查支付方式 Model.payment payModel = new BLL.payment().GetModel(model.payment_id); if (payModel == null) { JscriptMsg("支付方式不存在,无法完成订单!", "", "Error"); return; } //增加积分/经验值 if (model.point > 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no); } //如果配送方式为先款后货,则检查付款状态 if (payModel.type == 2) { bll.UpdateField(this.id, "status=3,complete_time='" + DateTime.Now + "'," + "payment_status=2,payment_time='" + DateTime.Now + "'"); } else { bll.UpdateField(this.id, "status=3,complete_time='" + DateTime.Now + "'"); } JscriptMsg("订单已经完成啦!", "order_edit.aspx?id=" + this.id, "Success"); }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(DTKeys.FILE_SITE_XML_CONFING); string order_type = DTRequest.GetFormString("pay_order_type"); //订单类型 string order_no = DTRequest.GetFormString("pay_order_no"); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string subject = DTRequest.GetFormString("pay_subject"); if (order_no == "" || order_amount == 0 ) { Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!")); return; } //检查是否已登录 Model.users userModel = new Web.UI.BasePage().GetUserInfo(); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "login")); //尚未登录 return; } if (userModel.amount < order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "recharge")); //账户的余额不足 return; } if (order_type.ToLower() == DTEnums.AmountTypeEnum.BuyGoods.ToString().ToLower()) //购买商品 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("对不起,商品订单号不存在!")); return; } //执行扣取账户金额 int result = new BLL.amount_log().Add(userModel.id, userModel.user_name, DTEnums.AmountTypeEnum.BuyGoods.ToString(), order_no, model.payment_id, -1 * order_amount, subject, 1); if (result > 0) { //更改订单状态 bool result1 = bll.UpdateField(order_no, "payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result1) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "error")); return; } //扣除积分 if (model.point < 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no); } //支付成功 Response.Redirect(new Web.UI.BasePage().linkurl("payment1", "succeed", order_type, order_no)); return; } } Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("对不起,找不到需要支付的订单类型!")); return; }
private void ShowInfo(int _id) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(_id); managerModel = GetAdminInfo(); this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); }
private void ShowInfo(string _order_no) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(_order_no); adminModel = GetAdminInfo(); this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); }
//作废订单 protected void btnInvalid_Click(object sender, EventArgs e) { ChkAdminLevel("orders", DTEnums.ActionEnum.Invalid.ToString()); //检查权限 BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(this.id); if (model == null && model.status != 3) { JscriptMsg("订单未完成,无法作废!", "", "Error"); return; } bll.UpdateField(this.id, "status=5"); JscriptMsg("订单取消成功啦!", "order_edit.aspx?id=" + this.id, "Success"); }
private void ShowInfo(int _id) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(_id); payModel = new BLL.payment().GetModel(model.payment_id); userModel = new BLL.users().GetModel(model.user_id); if (userModel != null) { groupModel = new BLL.user_groups().GetModel(userModel.group_id); } if (payModel == null) { payModel = new Model.payment(); } this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); //订单状态 if (model.status == 1) { if (payModel != null && payModel.type == 1) { if (model.payment_status > 1) { this.lbtnConfirm.Enabled = true; } } else { this.lbtnConfirm.Enabled = true; } } else if (model.status == 2 && model.distribution_status == 1) { this.lbtnSend.Enabled = true; } else if (model.status == 2 && model.distribution_status == 2) { this.lbtnComplete.Enabled = true; } if (model.status < 3) { this.btnCancel.Visible = true; } //如果订单为已完成时,不能取消订单 if (model.status == 3) { this.btnInvalid.Visible = true; } }
//确认订单 protected void btnConfirm_Click(object sender, EventArgs e) { ChkAdminLevel("order_list", DTEnums.ActionEnum.Confirm.ToString()); //检查权限 int sucCount = 0; int errorCount = 0; BLL.orders bll = new BLL.orders(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { Model.orders model = bll.GetModel(id); if (model != null) { //检查订单是否使用在线支付方式 if (model.payment_status > 0) { //在线支付方式 model.payment_status = 2; //标志已付款 model.payment_time = DateTime.Now; //支付时间 model.status = 2; // 订单为确认状态 model.confirm_time = DateTime.Now; //确认时间 } else { //线下支付方式 model.status = 2; // 订单为确认状态 model.confirm_time = DateTime.Now; //确认时间 } if (bll.Update(model)) { sucCount++; } else { errorCount++; } } else { errorCount++; } } } AddAdminLog(DTEnums.ActionEnum.Confirm.ToString(), "确认订单成功" + sucCount + "条,失败" + errorCount + "条"); //记录日志 JscriptMsg("确认成功" + sucCount + "条,失败" + errorCount + "条!", Utils.CombUrlTxt("order_confirm.aspx", "keywords={0}", this.keywords), "Success"); }
/// <summary> /// 重写虚方法,此方法在Init事件执行 /// </summary> protected override void InitPage() { id = MXRequest.GetQueryInt("id"); BLL.orders bll = new BLL.orders(); if (!bll.Exists(id)) { HttpContext.Current.Response.Redirect(linkurl("error", "error.aspx?msg=" + Utils.UrlEncode("出错啦,您要浏览的页面不存在或已删除啦!"))); return; } model = bll.GetModel(id); payModel = new BLL.payment().GetModel(model.payment_id); if (payModel == null) { payModel = new Model.payment(); } }
private void ShowInfo(string _order_no) { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(_order_no); BLL.express bll2 = new BLL.express(); DataTable dt = bll2.GetList("").Tables[0]; ddlExpressId.Items.Clear(); ddlExpressId.Items.Add(new ListItem("请选择配送方式", "")); foreach (DataRow dr in dt.Rows) { ddlExpressId.Items.Add(new ListItem(dr["title"].ToString(), dr["id"].ToString())); } txtExpressNo.Text = model.express_no; ddlExpressId.SelectedValue = model.express_id.ToString(); }
//作废订单 protected void btnInvalid_Click(object sender, EventArgs e) { ChkAdminLevel("orders", DTEnums.ActionEnum.Invalid.ToString()); //检查权限 BLL.orders bll = new BLL.orders(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { Model.orders model = bll.GetModel(id); if (model != null && model.status == 3) { bll.UpdateField(id, "status=5"); } } } JscriptMsg("符合的订单已作废!", Utils.CombUrlTxt("order_list.aspx", "status={0}&payment_status={1}&distribution_status={2}&keywords={3}", this.status.ToString(), this.payment_status.ToString(), this.distribution_status.ToString(), this.keywords), "Success"); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; string action = MyCommFun.QueryString("act"); Dictionary<string, string> jsonDict = new Dictionary<string, string>(); if (action == "orderRet") { #region //跳转到结果页面,查询订单的最终结果信息 string openid = MyCommFun.RequestOpenid(); int otid = MyCommFun.RequestInt("otid"); jsonDict = new Dictionary<string, string>(); if (openid == "" || otid == 0) { jsonDict.Add("ret", "err"); jsonDict.Add("content", "抱歉,参数不正确!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } BLL.orders otBll = new BLL.orders(); Model.orders ordertmp = otBll.GetModel(otid); if (ordertmp.payment_status == 2) { jsonDict.Add("ret", "ok"); jsonDict.Add("content", "下单已经成功!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } else { jsonDict.Add("ret", "err"); jsonDict.Add("content", "下单失败!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } #endregion } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { openid = MyCommFun.RequestOpenid(); otid = MyCommFun.RequestInt("otid"); int wid = MyCommFun.RequestWid(); if (openid == "" || otid == 0 || wid == 0) { return; } WeiXinCRMComm wxComm = new WeiXinCRMComm(); string err = ""; token = wxComm.getAccessToken(wid, out err); BLL.orders otBll = new BLL.orders(); ordertmp = otBll.GetModel(otid, wid); } }
/// <summary> /// 重写虚方法,此方法在Init事件执行 /// </summary> protected override void InitPage() { id = DTRequest.GetQueryInt("id"); BLL.orders bll = new BLL.orders(); if (!bll.Exists(id)) { HttpContext.Current.Response.Redirect(linkurl("error", "?msg=" + Utils.UrlEncode("出错了,您要浏览的页面不存在或已删除!"))); return; } model = bll.GetModel(id); if (model.user_id != userModel.id) { HttpContext.Current.Response.Redirect(linkurl("error", "?msg=" + Utils.UrlEncode("出错了,您所查看的并非自己的订单信息!"))); return; } payModel = new BLL.payment().GetModel(model.payment_id); if (payModel == null) { payModel = new Model.payment(); } //根据订单状态和物流单号跟踪物流信息 if (model.status > 1 && model.status < 4 && model.express_status == 2 && model.express_no.Trim().Length > 0) { Model.express modelt = new BLL.express().GetModel(model.express_id); Model.orderconfig orderConfig = new BLL.orderconfig().loadConfig(); if (modelt != null && modelt.express_code.Trim().Length > 0 && orderConfig.kuaidiapi != "") { string apiurl = orderConfig.kuaidiapi + "?id=" + orderConfig.kuaidikey + "&com=" + modelt.express_code + "&nu=" + model.express_no + "&show=" + orderConfig.kuaidishow + "&muti=" + orderConfig.kuaidimuti + "&order=" + orderConfig.kuaidiorder; string detail = Utils.HttpGet(@apiurl); if (detail != null) { expressdetail = Utils.ToHtml(detail); } } } }
private void ShowInfo(int _id) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(_id); //绑定商品列表 this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); //获得会员信息 if (model.user_id > 0) { Model.users user_info = new BLL.users().GetModel(model.user_id); if (user_info != null) { Model.user_groups group_info = new BLL.user_groups().GetModel(user_info.group_id); if (group_info != null) { dlUserInfo.Visible = true; lbUserName.Text = user_info.user_name; lbUserGroup.Text = group_info.title; lbUserDiscount.Text = group_info.discount.ToString() + " %"; lbUserAmount.Text = user_info.amount.ToString(); lbUserPoint.Text = user_info.point.ToString(); } } } //根据订单状态,显示各类操作按钮 switch (model.status) { case 1: //如果是线下支付,支付状态为0,如果是线上支付,支付成功后会自动改变订单状态为已确认 if (model.payment_status > 0) { //确认付款、取消订单、修改收货按钮显示 btnPayment.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } else { //确认订单、取消订单、修改收货按钮显示 btnConfirm.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } //修改订单备注、修改商品总金额、修改配送费用、修改支付手续费、修改发票税金按钮显示 btnEditRemark.Visible = btnEditRealAmount.Visible = btnEditExpressFee.Visible = btnEditPaymentFee.Visible = btnEditInvoiceTaxes.Visible = true; break; case 2: //如果订单为已确认状态,则进入发货状态 if (model.express_status == 1) { //确认发货、取消订单、修改收货信息按钮显示 btnExpress.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } else if (model.express_status == 2) { //完成订单、取消订单按钮可见 btnComplete.Visible = btnCancel.Visible = true; } //修改订单备注按钮可见 btnEditRemark.Visible = true; break; case 3: //作废订单、修改订单备注按钮可见 btnInvalid.Visible = btnEditRemark.Visible = true; break; } //根据订单状态和物流单号跟踪物流信息 if (model.express_status == 2 && model.express_no.Trim().Length > 0) { Model.express modelt = new BLL.express().GetModel(model.express_id); Model.orderconfig orderConfig = new BLL.orderconfig().loadConfig(); if (modelt != null && modelt.express_code.Trim().Length > 0 && orderConfig.kuaidiapi != "") { string apiurl = orderConfig.kuaidiapi + "?id=" + orderConfig.kuaidikey + "&com=" + modelt.express_code + "&nu=" + model.express_no + "&show=" + orderConfig.kuaidishow + "&muti=" + orderConfig.kuaidimuti + "&order=" + orderConfig.kuaidiorder; string detail = Utils.HttpGet(@apiurl); if (detail != null) { litExpressDetail.Text = Utils.ToHtml(detail); } } } }
protected string v_pstring; //支付状态描述 #endregion Fields #region Methods protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); Config xmlConfig = new Config(); //读取配置 v_oid = DTRequest.GetString("v_oid").ToUpper(); v_pstatus = DTRequest.GetString("v_pstatus"); v_pstring = DTRequest.GetString("v_pstring"); v_pmode = DTRequest.GetString("v_pmode"); v_md5str = DTRequest.GetString("v_md5str"); v_amount = DTRequest.GetString("v_amount"); v_moneytype = DTRequest.GetString("v_moneytype"); remark1 = DTRequest.GetString("remark1"); remark2 = DTRequest.GetString("remark2"); // 拼凑加密串 string signtext = v_oid + v_pstatus + v_amount + v_moneytype + xmlConfig.Key; signtext = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); if (signtext == v_md5str && v_pstatus.Equals("20")) { //成功状态 if (v_oid.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.status == 1) //已成功 { Response.Write("ok"); return; } if (model.amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.Confirm(v_oid); if (!result) { Response.Write("error"); return; } } else if (v_oid.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.payment_status == 2) //已付款 { Response.Write("ok"); return; } if (model.order_amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.UpdateField(v_oid, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("error"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //成功状态 Response.Write("ok"); return; } //失败状态 Response.Write("error"); return; }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; BLL.wx_shop_cart cartBll = new BLL.wx_shop_cart(); string _action = MyCommFun.QueryString("myact"); string openid = MyCommFun.RequestOpenid(); //得到微信用户的openid Dictionary<string, string> jsonDict = new Dictionary<string, string>(); if (_action == "addCart") { #region 添加购物车 try { int wid = MyCommFun.RequestInt("wid"); int productId = MyCommFun.RequestInt("productid"); int skuId = MyCommFun.RequestInt("mid"); string skuInfo = MyCommFun.QueryString("attr"); int productNum = MyCommFun.RequestInt("bc"); decimal totalPrice = (decimal)MyCommFun.RequestFloat("totprice", 0); Model.wx_shop_cart cart = new Model.wx_shop_cart(); IList<Model.wx_shop_cart> cartList = cartBll.GetModelList("productId=" + productId + " and openid='" + openid + "' and skuId=" + skuId); bool isAdd = true; if (cartList != null && cartList.Count > 0) { isAdd = false; cart = cartList[0]; } if (isAdd) { cart.createDate = DateTime.Now; cart.openid = openid; cart.productId = productId; cart.productNum = productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice = totalPrice * productNum; cart.wid = wid; int ret = cartBll.Add(cart); if (ret > 0) { jsonDict.Add("errCode", "false"); } else { jsonDict.Add("errCode", "true"); } } else { cart.openid = openid; cart.productNum += productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice += totalPrice * productNum; cart.wid = wid; bool ret = cartBll.Update(cart); if (ret) { jsonDict.Add("errCode", "false"); } else { jsonDict.Add("errCode", "true"); } } } catch (Exception ex) { jsonDict.Add("errCode", "true"); } finally { context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } #endregion } else if (_action == "pcount") { #region 购物车商品数量 jsonDict = new Dictionary<string, string>(); int wid = MyCommFun.RequestInt("wid"); int count = cartBll.GetRecordCount("wid=" + wid + " and openid='" + openid + "'"); jsonDict.Add("data", count.ToString()); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "remove") { #region 移除购物车商品 jsonDict = new Dictionary<string, string>(); int cartId = MyCommFun.RequestInt("id"); cartBll.Delete(cartId); jsonDict.Add("errCode", "false"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "modifyNum") { #region 修改购物车商品数量 jsonDict = new Dictionary<string, string>(); int cartId = MyCommFun.RequestInt("ic"); int newNum = MyCommFun.RequestInt("bc"); cartBll.UpdateNum(cartId, newNum); jsonDict.Add("errCode", "false"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "getCity") { #region 选择省份,改变城市列表 int privice = MyCommFun.RequestInt("pvid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList<Model.pre_common_district> disList = areaBll.GetModelList("upid=" + privice + " and level=2"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "getArea") { #region 选择城市,改变区域列表 int ctid = MyCommFun.RequestInt("ctid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList<Model.pre_common_district> disList = areaBll.GetModelList("upid=" + ctid + " and level=3"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "order_save") { #region 保存订单信息 //获得传参信息 int wid = MyCommFun.RequestInt("wid"); int payment_id = MyCommFun.RequestInt("pc");//支付方式:1货到付款;3微支付 int express_id = MyCommFun.RequestInt("mtype");//物流方式 // string orderStrList = MyCommFun.QueryString("orderStrList"); //检查物流方式 if (express_id == 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,请选择配送方式!\"}"); return; } BLL.wx_shop_user_addr uAddrBll = new BLL.wx_shop_user_addr(); IList<Model.wx_shop_user_addr> uaddrList = uAddrBll.GetOpenidAddrName(openid, wid); if (uaddrList == null || uaddrList.Count <= 0 || uaddrList[0].id <= 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"收货地址不存在,无法结算!\"}"); return; } //检查购物车商品 IList<Model.cartProduct> cartList = cartBll.GetCartList(openid, wid); if (cartList == null) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,购物车为空,无法结算!\"}"); return; } //统计购物车 decimal payable_amount = cartList.Sum(c => c.totPrice); //物流费用 BLL.express expressBll = new BLL.express(); Model.express expModel = expressBll.GetModel(express_id); //支付方式 BLL.payment pbll = new BLL.payment(); Model.payment payModel = pbll.GetModelBypTypeId(payment_id); //保存订单======================================================================= Model.orders model = new Model.orders(); model.order_no = "b" + Utils.GetOrderNumber(); //订单号B开头为商品订单 model.wid = wid; model.openid = openid; model.modelName = "微商城"; model.modelCode = "shop"; model.modelActionName = ""; model.modelActionId = 0; model.user_id = 0; model.user_name = ""; model.payment_id = payment_id; model.express_id = express_id; model.accept_name = uaddrList[0].contractPerson; model.post_code = ""; model.telphone = uaddrList[0].tel; model.mobile = uaddrList[0].tel; model.area = uaddrList[0].province; model.city = uaddrList[0].city; model.district = uaddrList[0].area; model.address = uaddrList[0].province + " " + uaddrList[0].city + " " + uaddrList[0].area + " " + uaddrList[0].addrDetail; model.message = ""; model.payable_amount = payable_amount;//应付商品总金额 model.real_amount = payable_amount;//实际商品总金额, model.status = 1; model.express_status = 1; model.express_fee = expModel.express_fee; //物流费用 if (payment_id == 1) { //货到付款,需要确认订单 model.payment_status = 0; //标记未付款 } else {//先款后货 model.payment_status = 1; //标记未付款 } bool quicklyFH = false; //如果是先款后货的话 if (payment_id == 3) { if (payModel.poundage_type == 1) //百分比 { model.payment_fee = model.real_amount * payModel.poundage_amount / 100; } else //固定金额 { model.payment_fee = payModel.poundage_amount; } BLL.wx_payment_wxpay wxBll = new BLL.wx_payment_wxpay(); Model.wx_payment_wxpay wxpay = wxBll.GetModelByWid(wid); quicklyFH = wxpay.quicklyFH; } if (quicklyFH) { model.express_status = 0; } //订单总金额=实付商品金额+运费+支付手续费 model.order_amount = model.real_amount + model.express_fee + model.payment_fee; //购物积分,可为负数 model.point = 0; model.add_time = DateTime.Now; //商品详细列表 List<Model.order_goods> gls = new List<Model.order_goods>(); foreach (Model.cartProduct item in cartList) { gls.Add(new Model.order_goods { goods_id = item.productId, goods_title = item.productName, goods_price = item.totPrice, real_price = item.totPrice, quantity = item.productNum, point = 0 }); } model.order_goods = gls; int result = new BLL.orders().Add(model); if (result < 1) { context.Response.Write("{\"errCode\":3, \"msg\":\"订单保存过程中发生错误,请重新提交!\"}"); return; } //清空购物车 cartBll.RemoveCartInfo(wid, openid); //提交成功,返回URL order_no context.Response.Write("{\"errCode\":true, \"payType\":\"" + payment_id + "\", \"order_no\":\"" + model.order_no + "\",\"orderid\":\"" + result + "\",\"wid\":\"" + wid + "\",\"openid\":\"" + openid + "\",\"payable_amount\":\"" + payable_amount + "\", \"msg\":\"恭喜您,订单已成功提交!\"}"); return; #endregion } else if (_action == "order_canel") { #region //取消订单 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); oBll.UpdateField(orderid, "status=4"); context.Response.Write("{\"errCode\":true, \"msg\":\"订单已取消!\"}"); #endregion } else if (_action == "shouhuo") { #region //确认收货 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); Model.orders order = oBll.GetModel(orderid); if (order.payment_id == 1) { //货到付款 oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=3"); } else { //在线支付 oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=3"); } context.Response.Write("{\"errCode\":true, \"msg\":\"确人收货!\"}"); #endregion } }
private void pay_now(HttpContext context) { int order_id = DTRequest.GetQueryInt("order_id"); BLL.orders bll_order = new BLL.orders(); Model.users model_user = new BasePage().GetUserInfo(); if (model_user == null) { context.Response.Write("{\"status\":\"0\", \"msg\":\"请先登录!\"}"); return; } Model.orders model_order = bll_order.GetModel(order_id); if (model_order == null) { context.Response.Write("{\"status\":\"0\", \"msg\":\"参数传输错误!\"}"); return; } context.Response.Write("{\"status\":1, \"msg\":\"提交订单成功!\",\"order_no\":\"" + model_order.order_no + "\",\"order_money\":\"" + model_order.order_amount + "\",\"user_money\":\"" + model_user.amount + "\",\"order_id\":\"" + model_order.id + "\"}"); return; }
private void ShowInfo(int _id) { Model.wx_userweixin weixin = GetWeiXinCode(); BLL.orders bll = new BLL.orders(); model = bll.GetModel(_id); //绑定商品列表 this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); //获得会员信息 if (model.user_id > 0) { Model.users user_info = new BLL.users().GetModel(model.user_id); if (user_info != null) { Model.user_groups group_info = new BLL.user_groups().GetModel(user_info.group_id); if (group_info != null) { dlUserInfo.Visible = true; lbUserName.Text = user_info.user_name; lbUserGroup.Text = group_info.title; lbUserDiscount.Text = group_info.discount.ToString() + " %"; lbUserAmount.Text = user_info.amount.ToString(); lbUserPoint.Text = user_info.point.ToString(); } } } //根据订单状态,显示各类操作按钮 switch (model.status) { case 1: //如果是线下支付,支付状态为0,如果是线上支付,支付成功后会自动改变订单状态为已确认 if (model.payment_status > 0) { //确认付款、取消订单、修改收货按钮显示 btnPayment.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } else { //确认订单、取消订单、修改收货按钮显示 btnConfirm.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } //修改订单备注、修改商品总金额、修改配送费用、修改支付手续费、修改积分总计按钮显示 btnEditRemark.Visible = btnEditRealAmount.Visible = btnEditExpressFee.Visible = btnEditPaymentFee.Visible = true; break; case 2: //如果订单为已确认状态,则进入发货状态 if (model.express_status == 1) { //确认发货、取消订单、修改收货信息按钮显示 btnExpress.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } else if (model.express_status == 2) { //完成订单、取消订单按钮可见 btnComplete.Visible = btnCancel.Visible = true; } //修改订单备注按钮可见 btnEditRemark.Visible = true; break; case 3: //作废订单、修改订单备注按钮可见 btnInvalid.Visible = btnEditRemark.Visible = true; break; } //根据订单状态和物流单号跟踪物流信息 if (model.express_status == 2 && model.express_no.Trim().Length > 0) { Model.express modelt = new BLL.express().GetModel(model.express_id); Model.orderconfig orderConfig = new BLL.orderconfig().loadConfig(); if (modelt != null && modelt.express_code.Trim().Length > 0 && orderConfig.kuaidiapi != "") { string apiurl = orderConfig.kuaidiapi + "?id=" + orderConfig.kuaidikey + "&com=" + modelt.express_code + "&nu=" + model.express_no + "&show=" + orderConfig.kuaidishow + "&muti=" + orderConfig.kuaidimuti + "&order=" + orderConfig.kuaidiorder; string detail = Utils.HttpGet(@apiurl); if (detail != null) { litExpressDetail.Text = Utils.ToHtml(detail); } } } }
private void cancel_order(HttpContext context) { int order_id = DTRequest.GetQueryInt("order_id"); BLL.orders bll_order = new BLL.orders(); Model.users model_user = new BasePage().GetUserInfo(); if (model_user == null) { context.Response.Write("{\"status\":\"0\", \"msg\":\"请先登录!\"}"); return; } Model.orders model_order = bll_order.GetModel(order_id); if (model_order == null) { context.Response.Write("{\"status\":\"0\", \"msg\":\"该订单不存在或已删除!\"}"); return; } if (!bll_order.UpdateField(model_order.order_no, "status=4")) { context.Response.Write("{\"status\":\"0\", \"msg\":\"取消订单失败!\"}"); return; } else { context.Response.Write("{\"status\":\"1\", \"msg\":\"取消订单成功!\"}"); return; } }
protected void Page_Load(object sender, EventArgs e) { Dictionary <string, string> sPara = GetRequestPost(); if (sPara.Count > 0)//判断是否有带返回参数 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.VerifyNotify(sPara, Request.Form["sign"]); if (verifyResult)//验证成功 { try { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(sPara["notify_data"]); string trade_no = xmlDoc.SelectSingleNode("/notify/trade_no").InnerText; //支付宝交易号 string order_no = xmlDoc.SelectSingleNode("/notify/out_trade_no").InnerText; //商户订单号 string total_fee = xmlDoc.SelectSingleNode("/notify/total_fee").InnerText; //获取总金额 string trade_status = xmlDoc.SelectSingleNode("/notify/trade_status").InnerText; //交易状态 if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } new CMS.API.ClsDll.buyersite().Add(model); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } Response.Write("success"); //请不要修改或删除 return; } else { Response.Write(trade_status); } } catch (Exception ex) { Response.Write(ex.ToString()); } } else //验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
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, AXRequest.GetString("notify_id"), AXRequest.GetString("sign")); //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "验证结果:" + verifyResult.ToString() + "\n", System.Text.Encoding.UTF8); if (verifyResult) //验证成功 { string trade_no = AXRequest.GetString("trade_no"); //支付宝交易号 string order_no = AXRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = AXRequest.GetString("total_fee"); //获取总金额 string trade_status = AXRequest.GetString("trade_status"); //交易状态 if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("" + Resources.lang.amount + "和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改" + Resources.lang.orderStatus + "失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "商品订单\n", System.Text.Encoding.UTF8); BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "不存在\n", System.Text.Encoding.UTF8); Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "已付款\n", System.Text.Encoding.UTF8); Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "" + Resources.lang.amount+ "" + model.order_amount + "和支付金额" + total_fee + "不相符\n", System.Text.Encoding.UTF8); Response.Write("" + Resources.lang.amount + "和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改" + Resources.lang.orderStatus + "失败"); return; } //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "修改" + Resources.lang.orderStatus+ ":" + result.ToString() + "\n", System.Text.Encoding.UTF8); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { try { wid = MyCommFun.RequestInt("wid"); //授权 BLL.wx_userweixin bll = new BLL.wx_userweixin(); Model.wx_userweixin wxModel = bll.GetModel(wid); string code = MyCommFun.QueryString("code"); if (code == null || code.Trim() == "") { //logBll.AddLog("【微支付】微信预定", "paypage.aspx Page_Load", "code==null code.trim==kong", 1); // openid = MyCommFun.RequestOpenid(); string thisUrl = MyCommFun.getTotalUrl(); string newUrl = OAuth.GetAuthorizeUrl(wxModel.AppId, thisUrl, "fukuan", OAuthScope.snsapi_base); Response.Redirect(newUrl); } else { var result = OAuth.GetAccessToken(wxModel.AppId, wxModel.AppSecret, code); openid = result.openid; } //授权结束 // logBll.AddLog("【微支付】微信预定", "paypage.aspx Page_Load", " 授权结束openid= " + openid, 1); int otid = MyCommFun.RequestInt("orderid"); otid_str = otid.ToString(); expireMinute = MyCommFun.RequestInt("expireminute"); if (expireMinute == 0) { expireMinute = 30; } else if (expireMinute == -1) { //如果为-1,则有限期间为1年 expireMinute = 60 * 12 * 365; } if (openid == "" || otid == 0 || wid == 0) { return; } BLL.orders otBll = new BLL.orders(); Model.orders orderEntity = otBll.GetModel(otid, wid); logBll.AddLog("【微支付】微信预定", "paypage.aspx Page_Load", "orderEntity.order_no: " + orderEntity.order_no + "|orderEntity.order_amount:" + orderEntity.order_amount, 1); litout_trade_no.Text = orderEntity.order_no; litMoney.Text = orderEntity.order_amount.ToString(); litDate.Text = orderEntity.add_time.ToString(); //WxPayData(orderEntity.order_amount, orderEntity.id.ToString(), orderEntity.order_no, code);//老的接口 WxPayDataV3(orderEntity.order_amount, orderEntity.id.ToString(), orderEntity.order_no, code); } catch (Exception ex) { logBll.AddLog("【微支付】微信预定", "paypage.aspx Page_Load", "ex: " + ex.Message, 1); MessageBox.ShowAndRedirect(this, "支付有问题:" + ex.Message, "/shop/index.aspx?wid=" + wid); } }
protected void Page_Load(object sender, EventArgs e) { id = Request["id"]; paymenttype = Request["paymenttype"]; if (!string.IsNullOrEmpty(paymenttype)) { if (paymenttype == "lian") { ptype = "Credit"; } if (paymenttype == "1") { ptype = "Credit"; } if (paymenttype == "2") { ptype = "WebATM"; } if (paymenttype == "") { ptype = "ATM"; } if (paymenttype == "3") { ptype = "CVS"; } if (paymenttype == "barcode") { ptype = "BARCODE"; } if (paymenttype == "alipay") { ptype = "Alipay"; } if (paymenttype == "") { ptype = "Tenpay"; } } else { ptype = "ALL"; } if (!string.IsNullOrEmpty(id)) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(BLL.Function.Instance.StringToNum(id)); BLL.users bllUser = new BLL.users(); User = bllUser.GetModel(model.user_id); Model.order_goods Order_Info = new Model.order_goods(); Order_Info = bll.Getorder_goodsModel(model.id);; } string ok_urlall = string.Empty; ok_urlall = "http://diguang.myflysoft.com/allpay_ok.aspx"; //返回地址 StringBuilder sb = new StringBuilder(); StringBuilder sbHtml = new StringBuilder(); if (!string.IsNullOrEmpty(ptype)) { string merchantid = "2000132"; string url = ""; //url sb.Append("HashKey=5294y06JbISpM5x9"); if (ptype == "Alipay") { sb.Append("&AlipayItemCounts=1"); sb.Append("&AlipayItemName=" + model.order_no + ""); sb.Append("&AlipayItemPrice=1"); } sb.Append("&ChoosePayment=" + ptype + ""); if (ptype == "Alipay") { sb.Append("&Email=" + User.email + ""); } sb.Append("&ItemName=" + model.order_no + ""); sb.Append("&MerchantID=" + merchantid + ""); string time = model.add_time.ToString("yyyy/MM/dd HH:mm:ss").Replace("-", "/"); sb.Append("&MerchantTradeDate=" + model.add_time.ToString("yyyy/MM/dd HH:mm:ss").Replace("-", "/") + ""); sb.Append("&MerchantTradeNo=" + model.order_no + ""); sb.Append("&OrderResultURL=" + ok_urlall + ""); sb.Append("&PaymentType=aio"); if (ptype == "Alipay") { sb.Append("&PhoneNo=" + model.mobile + ""); } sb.Append("&Remark=" + model.order_no + ""); sb.Append("&ReturnURL=" + ok_urlall + ""); sb.Append("&TotalAmount=" + model.order_amount + ""); sb.Append("&TradeDesc=" + model.order_no + ""); if (ptype == "Credit") { if (paymenttype == "1") { sb.Append("&UnionPay=0"); } if (paymenttype == "lian") { sb.Append("&UnionPay=1"); } } if (ptype == "Alipay") { sb.Append("&UserName="******""); } sb.Append("&HashIV=v77hoKGq4kWxNNIS"); url = sb.ToString(); url = getstr(url).ToLower(); sb.Append("&CheckMacValue=" + BLL.Function.Instance.MD5(url, 32) + ""); string CheckMacValue = BLL.Function.Instance.MD5(url, 32); Response.Write("url:" + url); Response.Write(","); Response.Write(CheckMacValue); //Atm缴费http://payment-stage.allpay.com.tw/Cashier/AioCheckOut //atm转帐 if (paymenttype == "atm") { Response.Redirect("ordershow.aspx?id=" + id); } //銀行匯款 if (paymenttype == "hui") { Response.Redirect("ordershow.aspx?id=" + id); } //宅配貨到付款 if (paymenttype == "dao") { Response.Redirect("ordershow.aspx?id=" + id); } //到店取货 if (paymenttype == "dian") { Response.Redirect("ordershow.aspx?id=" + id); } } }
protected string remark2; //备注1 protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); Config xmlConfig = new Config(); //读取配置 v_oid = DTRequest.GetString("v_oid").ToUpper(); v_pstatus = DTRequest.GetString("v_pstatus"); v_pstring = DTRequest.GetString("v_pstring"); v_pmode = DTRequest.GetString("v_pmode"); v_md5str = DTRequest.GetString("v_md5str"); v_amount = DTRequest.GetString("v_amount"); v_moneytype = DTRequest.GetString("v_moneytype"); remark1 = DTRequest.GetString("remark1"); remark2 = DTRequest.GetString("remark2"); // 拼凑加密串 string signtext = v_oid + v_pstatus + v_amount + v_moneytype + xmlConfig.Key; signtext = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); if (signtext == v_md5str && v_pstatus.Equals("20")) { //成功状态 if (v_oid.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.status == 1) //已成功 { Response.Write("ok"); return; } if (model.amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.Confirm(v_oid); if (!result) { Response.Write("error"); return; } } else if (v_oid.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(v_oid); if (model == null) { Response.Write("error"); return; } if (model.payment_status == 2) //已付款 { Response.Write("ok"); return; } if (model.order_amount != decimal.Parse(v_amount)) { Response.Write("error"); return; } bool result = bll.UpdateField(v_oid, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("error"); return; } new CMS.API.ClsDll.buyersite().Add(model); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //成功状态 Response.Write("ok"); return; } //失败状态 Response.Write("error"); return; }
private void ShowInfo(int _id) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(_id); DataTable dt = bll.GetOrderList(0, " t1.order_no='" + _id + "'", " t1.id desc").Tables[0]; var refund_status = 0; if (dt.Rows[0]["refund_status"].ToString() != "" && dt.Rows[0]["refund_status"].ToString() != null) { refund_status = int.Parse(dt.Rows[0]["refund_status"].ToString()); } //绑定商品列表 this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); //获得会员信息 if (model.user_id > 0) { Model.users user_info = new BLL.users().GetModel(model.user_id); if (user_info != null) { Model.user_groups group_info = new BLL.user_groups().GetModel(user_info.group_id); if (group_info != null) { dlUserInfo.Visible = true; lbUserName.Text = user_info.user_name; lbUserGroup.Text = group_info.title; lbUserDiscount.Text = group_info.discount.ToString() + " %"; lbUserAmount.Text = user_info.amount.ToString(); lbUserPoint.Text = user_info.point.ToString(); } } } //根据订单状态,显示各类操作按钮 switch (int.Parse(dt.Rows[0]["status"].ToString())) { case 1: //如果是线下支付,支付状态为0,如果是线上支付,支付成功后会自动改变订单状态为已确认 if (int.Parse(dt.Rows[0]["payment_status"].ToString()) == 1) { //作废订单、修改商品总金额、修改配送费用、修改支付手续费、修改积分总计按钮、确认付款、取消订单 btnInvalid.Visible = btnEditExpressFee.Visible = btnEditPaymentFee.Visible = btnPayment.Visible = btnEditRealAmount.Visible = btnCancel.Visible = true; } //作废订单、修改订单备注、取消订单、修改收货按钮显示显示 btnInvalid.Visible = btnEditRemark.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; break; case 2: //如果是DIY待确认状态 if (int.Parse(dt.Rows[0]["express_status"].ToString()) == 1 && refund_status == 0) { //作废订单、确认发货、修改订单备注按钮显示 btnInvalid.Visible = btnExpress.Visible = btnEditRemark.Visible = true; } else if (int.Parse(dt.Rows[0]["express_status"].ToString()) == 1 && refund_status == 1) { //作废订单可见 btnInvalid.Visible = true; } else if (int.Parse(dt.Rows[0]["express_status"].ToString()) == 1 && refund_status == 2) { //作废订单可见 btnInvalid.Visible = true; } else if (int.Parse(dt.Rows[0]["express_status"].ToString()) == 1 && refund_status == 3) { //作废订单可见 btnInvalid.Visible = true; } else if (int.Parse(dt.Rows[0]["express_status"].ToString()) == 1 && refund_status == 4) { //作废订单可见 btnInvalid.Visible = true; } else if (int.Parse(dt.Rows[0]["express_status"].ToString()) == 1 && refund_status == 5) { //作废订单、确认发货、修改订单备注按钮显示 btnInvalid.Visible = btnExpress.Visible = btnEditRemark.Visible = true; } else if (model.express_status == 2) { //作废订单、完成订单可见 btnInvalid.Visible = btnComplete.Visible = true; } break; } }
protected void Page_Load(object sender, EventArgs e) { //創建ResponseHandler實例 ResponseHandler resHandler = new ResponseHandler(Context); resHandler.setKey(TenpayUtil.tenpay_key); //判斷簽名 if (resHandler.isTenpaySign()) { ///通知id string notify_id = resHandler.getParameter("notify_id"); //通過通知ID查詢,確保通知來至財付通 //創建查詢請求 RequestHandler queryReq = new RequestHandler(Context); queryReq.init(); queryReq.setKey(TenpayUtil.tenpay_key); queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml"); queryReq.setParameter("partner", TenpayUtil.bargainor_id); queryReq.setParameter("notify_id", notify_id); //通信物件 TenpayHttpClient httpClient = new TenpayHttpClient(); httpClient.setTimeOut(5); //設置請求內容 httpClient.setReqContent(queryReq.getRequestURL()); //後臺調用 if (httpClient.call()) { //設置結果參數 ClientResponseHandler queryRes = new ClientResponseHandler(); queryRes.setContent(httpClient.getResContent()); queryRes.setKey(TenpayUtil.tenpay_key); //判斷簽名及結果 //只有簽名正確,retcode為0,trade_state為0才是付款成功 if (queryRes.isTenpaySign()) { //取結果參數做業務處理 string out_trade_no = resHandler.getParameter("out_trade_no"); //財付通訂單號 string transaction_id = resHandler.getParameter("transaction_id"); //金額,以分為單位 string total_fee = resHandler.getParameter("total_fee"); //如果有使用折扣券,discount有值,total_fee+discount=原請求的total_fee string discount = resHandler.getParameter("discount"); //訂單類型 string order_type = resHandler.getParameter("attach"); //付款結果 string trade_state = resHandler.getParameter("trade_state"); //交易模式,1即時到帳 2仲介擔保 string trade_mode = resHandler.getParameter("trade_mode"); #region //判斷簽名及結果 if ("0".Equals(queryRes.getParameter("retcode"))) { //Response.Write("id驗證成功"); if ("1".Equals(trade_mode)) { //即時到賬 if ("0".Equals(trade_state)) { //------------------------------ //即時到賬處理業務開始 //------------------------------ //處理資料庫邏輯 //注意交易單不要重複處理 //注意判斷返回金額 //修改付款狀態、時間 if (order_type.ToLower() == DTEnums.AmountTypeEnum.Recharge.ToString().ToLower()) //線上充值 { BLL.amount_log bll = new BLL.amount_log(); Model.amount_log model = bll.GetModel(out_trade_no); if (model == null) { Response.Write("該訂單號不存在"); return; } if (model.value != (decimal.Parse(total_fee) / 100)) { Response.Write("訂單金額和付款金額不相符"); return; } model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改訂單狀態失敗"); return; } } else if (order_type.ToLower() == DTEnums.AmountTypeEnum.BuyGoods.ToString().ToLower()) //購買商品 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(out_trade_no); if (model == null) { Response.Write("該訂單號不存在"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("訂單金額和付款金額不相符"); return; } bool result = bll.UpdateField(out_trade_no, "payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改訂單狀態失敗"); return; } //扣除積分 if (model.point < 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "換購扣除積分,訂單號:" + model.order_no); } } //------------------------------ //即時到賬處理業務完畢 //------------------------------ //給財付通系統發送成功資訊,財付通系統收到此結果後不再進行後續通知 Response.Write("success"); } else { Response.Write("即時到賬付款失敗"); } } } else { //錯誤時,返回結果可能沒有簽名,寫日誌trade_state、retcode、retmsg看失敗詳情。 //通知財付通處理失敗,需要重新通知 Response.Write("查詢驗證簽名失敗或id驗證失敗"); Response.Write("retcode:" + queryRes.getParameter("retcode")); } #endregion } else { Response.Write("通知ID查詢簽名驗證失敗"); } } else { //通知財付通處理失敗,需要重新通知 Response.Write("後臺調用通信失敗"); //寫錯誤日誌 Response.Write("call err:" + httpClient.getErrInfo() + "<br>" + httpClient.getResponseCode() + "<br>"); } } else { Response.Write("簽名驗證失敗"); } Response.End(); }
//确认订单 protected void lbtnConfirm_Click(object sender, EventArgs e) { ChkAdminLevel("orders", DTEnums.ActionEnum.Edit.ToString()); //检查权限 BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(this.id); //检查订单状态 if (model == null || model.status > 1) { JscriptMsg("订单不符合要求,无法确认!", "", "Error"); return; } //检查支付方式 Model.payment payModel = new BLL.payment().GetModel(model.payment_id); if (payModel == null) { JscriptMsg("支付方式不存在,无法确认!", "", "Error"); return; } //如果支付方式为线上支付,则检查付款状态 if (payModel.type == 1) { if (model.payment_status != 2) { JscriptMsg("订单未付款,无法确认!", "", "Error"); return; } } bll.UpdateField(this.id, "status=2,confirm_time='" + DateTime.Now + "'"); JscriptMsg("订单确认成功!", "order_edit.aspx?id=" + this.id, "Success"); }
private void ShowInfo(int _id) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(_id); //绑定商品列表 this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); //获得会员信息 if (model.user_id > 0) { Model.users user_info = new BLL.users().GetModel(model.user_id); if (user_info != null) { Model.user_groups group_info = new BLL.user_groups().GetModel(user_info.group_id); if (group_info != null) { dlUserInfo.Visible = true; lbUserName.Text = user_info.user_name; lbUserGroup.Text = group_info.title; lbUserDiscount.Text = group_info.discount.ToString() + " %"; lbUserAmount.Text = user_info.amount.ToString(); lbUserPoint.Text = user_info.point.ToString(); } } } //根据订单状态,显示各类操作按钮 switch (model.status) { case 1: //如果是线下支付,支付状态为0,如果是线上支付,支付成功后会自动改变订单状态为已确认 if (model.payment_status > 0) { //确认付款、取消订单、修改收货按钮显示 btnPayment.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } else { //确认订单、取消订单、修改收货按钮显示 btnConfirm.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } //修改订单备注、修改商品总金额、修改配送费用、修改支付手续费、修改积分总计按钮显示 btnEditRemark.Visible = btnEditRealAmount.Visible = btnEditExpressFee.Visible = btnEditPaymentFee.Visible = true; break; case 2: //如果订单为已确认状态,则进入送货状态 if (model.express_status == 1) { //确认送货、取消订单、修改收货信息按钮显示 btnExpress.Visible = btnCancel.Visible = btnEditAcceptInfo.Visible = true; } else if (model.express_status == 2) { //完成订单、取消订单按钮可见 btnComplete.Visible = btnCancel.Visible = true; } //修改订单备注按钮可见 btnEditRemark.Visible = true; break; case 3: //作废订单、修改订单备注按钮可见 btnInvalid.Visible = btnEditRemark.Visible = true; break; } }
protected void btnExport2_Click(object sender, EventArgs e) { Workbook workbook = new Workbook(); //清除页先 要不然 新建就有一个sheet workbook.Worksheets.Clear(); //为标题设置样式 Aspose.Cells.Style styleTitle = workbook.Styles[workbook.Styles.Add()]; //新增样式 styleTitle.HorizontalAlignment = TextAlignmentType.Center; //文字居中 StringBuilder sb = new StringBuilder(); sb.Append("("); BLL.orders bll = new BLL.orders(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { Model.orders model = bll.GetModel(id); // sb.Append(id).Append(","); Worksheet sheet = workbook.Worksheets.Add(model.order_no); sheet.Cells["A" + 1].PutValue("No"); sheet.Cells["B" + 1].PutValue("Barcode"); sheet.Cells["C" + 1].PutValue("Name"); sheet.Cells["D" + 1].PutValue("NameP"); sheet.Cells["E" + 1].PutValue("Quantity"); sheet.Cells["F" + 1].PutValue("UnitPrice"); sheet.Cells["G" + 1].PutValue("DiscountRate"); sheet.Cells["A" + 2].PutValue("税号"); sheet.Cells["B" + 2].PutValue("条形码"); sheet.Cells["C" + 2].PutValue("中文名"); sheet.Cells["D" + 2].PutValue("外文名"); sheet.Cells["E" + 2].PutValue("数量"); sheet.Cells["F" + 2].PutValue("批发价"); sheet.Cells["G" + 2].PutValue("折扣率"); int j = 3; foreach (Model.order_goods good in model.order_goods) { sheet.Cells["A" + j].PutValue(model.taxid); sheet.Cells["B" + j].PutValue(good.Barcode); sheet.Cells["C" + j].PutValue(good.goods_title); sheet.Cells["D" + j].PutValue(good.english_name); sheet.Cells["E" + j].PutValue(good.quantity); sheet.Cells["F" + j].PutValue(good.real_price); if (good.real_price == 0) { sheet.Cells["G" + j].PutValue(""); } else { decimal d = good.real_price * 100 / good.goods_price; sheet.Cells["G" + j].PutValue(d.ToString("#0.0")); } j++; } } } workbook.Save(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx", Aspose.Cells.FileFormatType.Excel2007Xlsx, Aspose.Cells.SaveType.OpenInExcel, Response); }
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, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult) //驗證成功 { string trade_no = DTRequest.GetString("trade_no"); //支付寶交易號 string order_no = DTRequest.GetString("out_trade_no"); //獲取訂單號 string total_fee = DTRequest.GetString("total_fee"); //獲取總金額 string subject = DTRequest.GetString("subject"); //商品名稱、訂單名稱 string body = DTRequest.GetString("body"); //商品描述、訂單備註、描述 string buyer_email = DTRequest.GetString("buyer_email"); //買家支付寶帳號 string trade_status = DTRequest.GetString("trade_status"); //交易狀態 string order_type = DTRequest.GetString("extra_common_param"); //訂單交易類別 if (DTRequest.GetString("trade_status") == "TRADE_FINISHED" || DTRequest.GetString("trade_status") == "TRADE_SUCCESS") { //修改付款狀態、時間 if (order_type.ToLower() == DTEnums.AmountTypeEnum.Recharge.ToString().ToLower()) //線上儲值 { BLL.amount_log bll = new BLL.amount_log(); Model.amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("該訂單號不存在"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("訂單金額和付款金額不相符"); return; } model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改訂單狀態失敗"); return; } } else if (order_type.ToLower() == DTEnums.AmountTypeEnum.BuyGoods.ToString().ToLower()) //購買商品 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("該訂單號不存在"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("訂單金額和付款金額不相符"); return; } bool result = bll.UpdateField(order_no, "payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改訂單狀態失敗"); return; } //扣除積分 if (model.point < 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "換購扣除積分,訂單號:" + model.order_no); } } } Response.Write("success"); //請不要修改或刪除 } else//驗證失敗 { Response.Write("fail"); } } else { Response.Write("無通知參數"); } }
//获取联系方式 protected string GetSingleValue(string order_no) { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); return(model == null ? "" : model.mobile); }
/// <summary> /// 导出订单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnExport_Click(object sender, EventArgs e) { string filename = Path.Combine("/upload/excel", Common.Utils.GetCheckCode(12) + ".xlsx"); filename = Common.Utils.GetMapPath(filename); List <DictionaryEntry> list = new List <DictionaryEntry>(); BLL.orders bll = new BLL.orders(); int count = 0; for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); int state = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidState")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { if (state > 3) { continue; } count++; Model.orders model = bll.GetModel(id); List <string> sd = new List <string>(); List <IList <object> > ld = new List <IList <object> >(); DictionaryEntry de = new DictionaryEntry(); sd.Add(model.order_no); sd.Add("No"); sd.Add("Barcode"); sd.Add("Name"); sd.Add("NameP"); sd.Add("Quantity"); sd.Add("UnitPrice"); sd.Add("DiscountRate"); IList <object> il1 = new List <object>(); il1.Add("税号"); il1.Add("条形码"); il1.Add("中文名"); il1.Add("外文名"); il1.Add("数量"); il1.Add("批发价"); il1.Add("折扣率"); ld.Add(il1); foreach (Model.order_goods good in model.order_goods) { IList <object> il = new List <object>(); il.Add(model.taxid); il.Add(good.Barcode); il.Add(good.goods_title); il.Add(good.english_name); il.Add(good.quantity); il.Add(good.real_price); if (good.real_price == 0) { il.Add(""); } else { decimal d = good.real_price * 100 / good.goods_price; il.Add(d.ToString("#0.0")); } ld.Add(il); } // ld.Add(il); de.Key = sd; de.Value = ld; list.Add(de); } } if (count == 0) { return; } Common.ExcelHelper.NewExport(list, filename); // We successfully managed to export to an Excel file. // Now, get the ASP.Net application to open this Excel file, ready for the user to view. Response.ClearContent(); FileStream fs1 = new FileStream(filename, FileMode.Open, FileAccess.Read); byte[] data1 = new byte[fs1.Length]; fs1.Read(data1, 0, data1.Length); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}", filename)); Response.BinaryWrite(data1); Response.End(); }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(DTKeys.FILE_SITE_XML_CONFING); string order_type = DTRequest.GetFormString("pay_order_type"); //订单类型 string order_no = DTRequest.GetFormString("pay_order_no"); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string subject = DTRequest.GetFormString("pay_subject"); if (order_no == "" || order_amount == 0) { Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!")); return; } //检查是否已登录 Model.users userModel = new Web.UI.BasePage().GetUserInfo(); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "login")); //尚未登录 return; } if (userModel.amount < order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "recharge")); //账户的余额不足 return; } if (order_type.ToLower() == DTEnums.AmountTypeEnum.BuyGoods.ToString().ToLower()) //购买商品 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("对不起,商品订单号不存在!")); return; } //执行扣取账户金额 int result = new BLL.amount_log().Add(userModel.id, userModel.user_name, DTEnums.AmountTypeEnum.BuyGoods.ToString(), order_no, model.payment_id, -1 * order_amount, subject, 1); if (result > 0) { //更改订单状态 bool result1 = bll.UpdateField(order_no, "payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result1) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "error")); return; } //扣除积分 if (model.point < 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no); } //支付成功 Response.Redirect(new Web.UI.BasePage().linkurl("payment1", "succeed", order_type, order_no)); return; } } Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("对不起,找不到需要支付的订单类型!")); return; }
public string Apply_refund() { int orderId = MyCommFun.RequestInt("orderid"); int wid = MyCommFun.RequestInt("wid"); string code = MyCommFun.RequestParam("code"); string state = MyCommFun.RequestParam("state"); BLL.wx_payment_wxpay wxPayBll = new BLL.wx_payment_wxpay(); Model.wx_payment_wxpay paymentInfo = wxPayBll.GetModelByWid(wid); BLL.wx_userweixin wx = new BLL.wx_userweixin(); Model.wx_userweixin wxModel = wx.GetModel(wid); BLL.orders otBll = new BLL.orders(); Model.orders orderEntity = otBll.GetModel(orderId, wid); litout_trade_no = orderEntity.order_no; amount = orderEntity.order_amount.ToString(); string nonceStr = TenPayV3Util.GetNoncestr(); RequestHandler packageReqHandler = new RequestHandler(null); //设置package订单参数 packageReqHandler.SetParameter("appid", paymentInfo.appId); //公众账号ID packageReqHandler.SetParameter("mch_id", paymentInfo.partnerId); //商户号 packageReqHandler.SetParameter("out_trade_no", orderEntity.order_no); //填入商家订单号 packageReqHandler.SetParameter("out_refund_no", orderEntity.order_no); //填入退款订单号 packageReqHandler.SetParameter("total_fee", amount); //填入总金额 packageReqHandler.SetParameter("refund_fee", amount); //填入退款金额 packageReqHandler.SetParameter("op_user_id", paymentInfo.partnerId); //操作员Id,默认就是商户号 packageReqHandler.SetParameter("nonce_str", nonceStr); //随机字符串 string sign = packageReqHandler.CreateMd5Sign("key", paymentInfo.paySignKey); packageReqHandler.SetParameter("sign", sign); //签名 //退款需要post的数据 string data = packageReqHandler.ParseXML(); //退款接口地址 string url = "https://api.mch.weixin.qq.com/secapi/pay/refund"; //本地或者服务器的证书位置(证书在微信支付申请成功发来的通知邮件中) string cert = MyCommFun.GetRootPath() + paymentInfo.CertInfoPath; //私钥(在安装证书时设置) string password = paymentInfo.partnerPwd; ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); //调用证书 X509Certificate2 cer = new X509Certificate2(cert, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet); #region 发起post请求 HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(url); webrequest.ClientCertificates.Add(cer); webrequest.Method = "post"; byte[] postdatabyte = Encoding.UTF8.GetBytes(data); webrequest.ContentLength = postdatabyte.Length; Stream stream; stream = webrequest.GetRequestStream(); stream.Write(postdatabyte, 0, postdatabyte.Length); stream.Close(); HttpWebResponse httpWebResponse = (HttpWebResponse)webrequest.GetResponse(); StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream()); string responseContent = streamReader.ReadToEnd(); #endregion var res = XDocument.Parse(responseContent); string openid = res.Element("xml").Element("out_refund_no").Value; return(openid); }
protected void Page_Load(object sender, EventArgs e) { WxPayData notifyData = JsApiPay.GetNotifyData(); //检查支付结果中transaction_id是否存在 if (!notifyData.IsSet("transaction_id")) { //若transaction_id不存在,则立即返回结果给微信支付后台 WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "支付结果中微信订单号不存在"); Response.Write(res.ToXml()); return; } string transaction_id = notifyData.GetValue("transaction_id").ToString(); //微信支付订单号 //查询订单,判断订单真实性 if (!QueryOrder(transaction_id)) { //若订单查询失败,则立即返回结果给微信支付后台 WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "订单查询失败"); Response.Write(res.ToXml()); return; } //获取订单信息 string order_no = notifyData.GetValue("out_trade_no").ToString(); //商户订单号 string total_fee = notifyData.GetValue("total_fee").ToString(); //获取总金额 if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "该订单号不存在"); Response.Write(res.ToXml()); return; } if (model.status == 1) //已成功 { WxPayData res = new WxPayData(); res.SetValue("return_code", "SUCCESS"); res.SetValue("return_msg", "OK"); Response.Write(res.ToXml()); return; } if (model.amount != (decimal.Parse(total_fee) / 100)) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "订单金额和支付金额不相符"); Response.Write(res.ToXml()); return; } bool result = bll.Confirm(order_no); if (!result) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "修改订单状态失败"); Response.Write(res.ToXml()); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "该订单号不存在"); Response.Write(res.ToXml()); return; } if (model.payment_status == 2) //已付款 { WxPayData res = new WxPayData(); res.SetValue("return_code", "SUCCESS"); res.SetValue("return_msg", "OK"); Response.Write(res.ToXml()); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "订单金额和支付金额不相符"); Response.Write(res.ToXml()); return; } bool result = bll.UpdateField(order_no, "trade_no='" + transaction_id + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "修改订单状态失败"); Response.Write(res.ToXml()); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //返回成功通知 WxPayData res1 = new WxPayData(); res1.SetValue("return_code", "SUCCESS"); res1.SetValue("return_msg", "OK"); Response.Write(res1.ToXml()); return; }
private void edit_order_status(HttpContext context) { //取得管理员登录信息 Model.manager adminInfo = new Web.UI.ManagePage().GetAdminInfo(); if (adminInfo == null) { context.Response.Write("{\"status\": 0, \"msg\": \"未登录或已超时,请重新登录!\"}"); return; } //取得站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); //取得订单配置信息 Model.orderconfig orderConfig = new BLL.orderconfig().loadConfig(); string order_no = MXRequest.GetString("order_no"); string edit_type = MXRequest.GetString("edit_type"); if (order_no == "") { context.Response.Write("{\"status\": 0, \"msg\": \"传输参数有误,无法获取订单号!\"}"); return; } if (edit_type == "") { context.Response.Write("{\"status\": 0, \"msg\": \"无法获取修改订单类型!\"}"); return; } BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { context.Response.Write("{\"status\": 0, \"msg\": \"订单号不存在或已被删除!\"}"); return; } switch (edit_type.ToLower()) { case "order_confirm": //确认订单 //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Confirm.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有确认订单的权限!\"}"); return; } if (model.status > 1) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已经确认,不能重复处理!\"}"); return; } model.status = 2; model.confirm_time = DateTime.Now; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"订单确认失败!\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Confirm.ToString(), "确认订单号:" + model.order_no); //记录日志 #region 发送短信或邮件 if (orderConfig.confirmmsg > 0) { switch (orderConfig.confirmmsg) { case 1: //短信通知 if (string.IsNullOrEmpty(model.mobile)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >对方未填写手机号码!\"}"); return; } Model.sms_template smsModel = new BLL.sms_template().GetModel(orderConfig.confirmcallindex); //取得短信内容 if (smsModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >短信通知模板不存在!\"}"); return; } //替换标签 string msgContent = smsModel.content; msgContent = msgContent.Replace("{webname}", siteConfig.webname); msgContent = msgContent.Replace("{username}", model.user_name); msgContent = msgContent.Replace("{orderno}", model.order_no); msgContent = msgContent.Replace("{amount}", model.order_amount.ToString()); //发送短信 string tipMsg = string.Empty; bool sendStatus = new BLL.sms_message().Send(model.mobile, msgContent, 2, out tipMsg); if (!sendStatus) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >" + tipMsg + "\"}"); return; } break; case 2: //邮件通知 //取得用户的邮箱地址 if (model.user_id > 0) { Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null || string.IsNullOrEmpty(userModel.email)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >该用户不存在或没有填写邮箱地址。\"}"); return; } //取得邮件模板内容 Model.mail_template mailModel = new BLL.mail_template().GetModel(orderConfig.confirmcallindex); if (mailModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >邮件通知模板不存在。\"}"); return; } //替换标签 string mailTitle = mailModel.maill_title; mailTitle = mailTitle.Replace("{username}", model.user_name); string mailContent = mailModel.content; mailContent = mailContent.Replace("{webname}", siteConfig.webname); mailContent = mailContent.Replace("{weburl}", siteConfig.weburl); mailContent = mailContent.Replace("{webtel}", siteConfig.webtel); mailContent = mailContent.Replace("{username}", model.user_name); mailContent = mailContent.Replace("{orderno}", model.order_no); mailContent = mailContent.Replace("{amount}", model.order_amount.ToString()); //发送邮件 MXMail.sendMail(siteConfig.emailsmtp, siteConfig.emailusername, siteConfig.emailpassword, siteConfig.emailnickname, siteConfig.emailfrom, userModel.email, mailTitle, mailContent); } break; } } #endregion context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功!\"}"); break; case "order_payment": //确认付款 //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Confirm.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有确认付款的权限!\"}"); return; } if (model.status > 1 || model.payment_status == 2) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已确认,不能重复处理!\"}"); return; } model.payment_status = 2; model.payment_time = DateTime.Now; model.status = 2; model.confirm_time = DateTime.Now; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"订单确认付款失败!\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Confirm.ToString(), "确认付款订单号:" + model.order_no); //记录日志 #region 发送短信或邮件 if (orderConfig.confirmmsg > 0) { switch (orderConfig.confirmmsg) { case 1: //短信通知 if (string.IsNullOrEmpty(model.mobile)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >对方未填写手机号码!\"}"); return; } Model.sms_template smsModel = new BLL.sms_template().GetModel(orderConfig.confirmcallindex); //取得短信内容 if (smsModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >短信通知模板不存在!\"}"); return; } //替换标签 string msgContent = smsModel.content; msgContent = msgContent.Replace("{webname}", siteConfig.webname); msgContent = msgContent.Replace("{username}", model.user_name); msgContent = msgContent.Replace("{orderno}", model.order_no); msgContent = msgContent.Replace("{amount}", model.order_amount.ToString()); //发送短信 string tipMsg = string.Empty; bool sendStatus = new BLL.sms_message().Send(model.mobile, msgContent, 2, out tipMsg); if (!sendStatus) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >" + tipMsg + "\"}"); return; } break; case 2: //邮件通知 //取得用户的邮箱地址 if (model.user_id > 0) { Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null || string.IsNullOrEmpty(userModel.email)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >该用户不存在或没有填写邮箱地址。\"}"); return; } //取得邮件模板内容 Model.mail_template mailModel = new BLL.mail_template().GetModel(orderConfig.confirmcallindex); if (mailModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >邮件通知模板不存在。\"}"); return; } //替换标签 string mailTitle = mailModel.maill_title; mailTitle = mailTitle.Replace("{username}", model.user_name); string mailContent = mailModel.content; mailContent = mailContent.Replace("{webname}", siteConfig.webname); mailContent = mailContent.Replace("{weburl}", siteConfig.weburl); mailContent = mailContent.Replace("{webtel}", siteConfig.webtel); mailContent = mailContent.Replace("{username}", model.user_name); mailContent = mailContent.Replace("{orderno}", model.order_no); mailContent = mailContent.Replace("{amount}", model.order_amount.ToString()); //发送邮件 MXMail.sendMail(siteConfig.emailsmtp, siteConfig.emailusername, siteConfig.emailpassword, siteConfig.emailnickname, siteConfig.emailfrom, userModel.email, mailTitle, mailContent); } break; } } #endregion context.Response.Write("{\"status\": 1, \"msg\": \"订单确认付款成功!\"}"); break; case "order_express": //确认发货 //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Confirm.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有确认发货的权限!\"}"); return; } if (model.status > 2 || model.express_status == 2) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已完成或已发货,不能重复处理!\"}"); return; } int express_id = MXRequest.GetFormInt("express_id"); string express_no = MXRequest.GetFormString("express_no"); if (express_id == 0) { context.Response.Write("{\"status\": 0, \"msg\": \"请选择配送方式!\"}"); return; } model.express_id = express_id; model.express_no = express_no; model.express_time = DateTime.Now; string ret = ""; if (model.payment_id == 3 && model.express_status != 2) { //通知微信支付,改变发货状态 FaHuoProc fahuo = new FaHuoProc(); BLL.wx_payment_wxpay payBll = new BLL.wx_payment_wxpay(); Model.wx_payment_wxpay paymentInfo = payBll.GetModelByWid(model.wid.Value); Dictionary<string, object> fahuoDict = fahuo.fahuomgr(paymentInfo, model); string errcode = fahuoDict["errcode"].ToString(); string errmsg = fahuoDict["errmsg"].ToString(); model.fahuoCode = errcode; model.fahuoMsg = errmsg; if (errcode == "0") { model.express_status = 2; } else { ret = "通知微信支付,改变发货状态失败:"+errmsg; } } model.express_status = 2; if (!bll.Update(model)) { ret += "订单发货失败!"; context.Response.Write("{\"status\": 0, \"msg\": \"" + ret + "\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Confirm.ToString(), "确认发货订单号:" + model.order_no); //记录日志 #region 发送短信或邮件 if (orderConfig.expressmsg > 0) { switch (orderConfig.expressmsg) { case 1: //短信通知 if (string.IsNullOrEmpty(model.mobile)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >对方未填写手机号码!\"}"); return; } Model.sms_template smsModel = new BLL.sms_template().GetModel(orderConfig.expresscallindex); //取得短信内容 if (smsModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >短信通知模板不存在!\"}"); return; } //替换标签 string msgContent = smsModel.content; msgContent = msgContent.Replace("{webname}", siteConfig.webname); msgContent = msgContent.Replace("{username}", model.user_name); msgContent = msgContent.Replace("{orderno}", model.order_no); msgContent = msgContent.Replace("{amount}", model.order_amount.ToString()); //发送短信 string tipMsg = string.Empty; bool sendStatus = new BLL.sms_message().Send(model.mobile, msgContent, 2, out tipMsg); if (!sendStatus) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >" + tipMsg + "\"}"); return; } break; case 2: //邮件通知 //取得用户的邮箱地址 if (model.user_id > 0) { Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null || string.IsNullOrEmpty(userModel.email)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >该用户不存在或没有填写邮箱地址。\"}"); return; } //取得邮件模板内容 Model.mail_template mailModel = new BLL.mail_template().GetModel(orderConfig.expresscallindex); if (mailModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >邮件通知模板不存在。\"}"); return; } //替换标签 string mailTitle = mailModel.maill_title; mailTitle = mailTitle.Replace("{username}", model.user_name); string mailContent = mailModel.content; mailContent = mailContent.Replace("{webname}", siteConfig.webname); mailContent = mailContent.Replace("{weburl}", siteConfig.weburl); mailContent = mailContent.Replace("{webtel}", siteConfig.webtel); mailContent = mailContent.Replace("{username}", model.user_name); mailContent = mailContent.Replace("{orderno}", model.order_no); mailContent = mailContent.Replace("{amount}", model.order_amount.ToString()); //发送邮件 MXMail.sendMail(siteConfig.emailsmtp, siteConfig.emailusername, siteConfig.emailpassword, siteConfig.emailnickname, siteConfig.emailfrom, userModel.email, mailTitle, mailContent); } break; } } #endregion context.Response.Write("{\"status\": 1, \"msg\": \"订单发货成功!\"}"); break; case "order_complete": //完成订单========================================= //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Confirm.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有确认完成订单的权限!\"}"); return; } if (model.status > 2) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已经完成,不能重复处理!\"}"); return; } model.status = 3; model.complete_time = DateTime.Now; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"确认订单完成失败!\"}"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Confirm.ToString(), "确认交易完成订单号:" + model.order_no); //记录日志 #region 发送短信或邮件 if (orderConfig.completemsg > 0) { switch (orderConfig.completemsg) { case 1: //短信通知 if (string.IsNullOrEmpty(model.mobile)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >对方未填写手机号码!\"}"); return; } Model.sms_template smsModel = new BLL.sms_template().GetModel(orderConfig.completecallindex); //取得短信内容 if (smsModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >短信通知模板不存在!\"}"); return; } //替换标签 string msgContent = smsModel.content; msgContent = msgContent.Replace("{webname}", siteConfig.webname); msgContent = msgContent.Replace("{username}", model.user_name); msgContent = msgContent.Replace("{orderno}", model.order_no); msgContent = msgContent.Replace("{amount}", model.order_amount.ToString()); //发送短信 string tipMsg = string.Empty; bool sendStatus = new BLL.sms_message().Send(model.mobile, msgContent, 2, out tipMsg); if (!sendStatus) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送短信<br/ >" + tipMsg + "\"}"); return; } break; case 2: //邮件通知 //取得用户的邮箱地址 if (model.user_id > 0) { Model.users userModel = new BLL.users().GetModel(model.user_id); if (userModel == null || string.IsNullOrEmpty(userModel.email)) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >该用户不存在或没有填写邮箱地址。\"}"); return; } //取得邮件模板内容 Model.mail_template mailModel = new BLL.mail_template().GetModel(orderConfig.completecallindex); if (mailModel == null) { context.Response.Write("{\"status\": 1, \"msg\": \"订单确认成功,但无法发送邮件<br/ >邮件通知模板不存在。\"}"); return; } //替换标签 string mailTitle = mailModel.maill_title; mailTitle = mailTitle.Replace("{username}", model.user_name); string mailContent = mailModel.content; mailContent = mailContent.Replace("{webname}", siteConfig.webname); mailContent = mailContent.Replace("{weburl}", siteConfig.weburl); mailContent = mailContent.Replace("{webtel}", siteConfig.webtel); mailContent = mailContent.Replace("{username}", model.user_name); mailContent = mailContent.Replace("{orderno}", model.order_no); mailContent = mailContent.Replace("{amount}", model.order_amount.ToString()); //发送邮件 MXMail.sendMail(siteConfig.emailsmtp, siteConfig.emailusername, siteConfig.emailpassword, siteConfig.emailnickname, siteConfig.emailfrom, userModel.email, mailTitle, mailContent); } break; } } #endregion context.Response.Write("{\"status\": 1, \"msg\": \"确认订单完成成功!\"}"); break; case "order_cancel": //取消订单========================================== //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Cancel.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有取消订单的权限!\"}"); return; } if (model.status > 2) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已经完成,不能取消订单!\"}"); return; } model.status = 4; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"取消订单失败!\"}"); return; } int check_revert1 = MXRequest.GetFormInt("check_revert"); if (check_revert1 == 1) { //如果存在积分换购则返还会员积分 if (model.user_id > 0 && model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, (model.point * -1), "取消订单返还积分,订单号:" + model.order_no, false); } //如果已支付则退还金额到会员账户 if (model.user_id > 0 && model.payment_status == 2 && model.order_amount > 0) { new BLL.user_amount_log().Add(model.user_id, model.user_name, MXEnums.AmountTypeEnum.BuyGoods.ToString(), model.order_amount, "取消订单退还金额,订单号:" + model.order_no); } } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Cancel.ToString(), "取消订单号:" + model.order_no); //记录日志 context.Response.Write("{\"status\": 1, \"msg\": \"取消订单成功!\"}"); break; case "order_invalid": //作废订单========================================== //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Invalid.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有作废订单的权限!\"}"); return; } if (model.status != 3) { context.Response.Write("{\"status\": 0, \"msg\": \"订单尚未完成,不能作废订单!\"}"); return; } model.status = 5; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"作废订单失败!\"}"); return; } int check_revert2 = MXRequest.GetFormInt("check_revert"); if (check_revert2 == 1) { //扣除购物赠送的积分 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, (model.point * -1), "作废订单扣除积分,订单号:" + model.order_no, false); } //退还金额到会员账户 if (model.user_id > 0 && model.order_amount > 0) { new BLL.user_amount_log().Add(model.user_id, model.user_name, MXEnums.AmountTypeEnum.BuyGoods.ToString(), model.order_amount, "取消订单退还金额,订单号:" + model.order_no); } } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Invalid.ToString(), "作废订单号:" + model.order_no); //记录日志 context.Response.Write("{\"status\": 1, \"msg\": \"作废订单成功!\"}"); break; case "edit_accept_info": //修改收货信息==================================== //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Edit.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有修改收货信息的权限!\"}"); return; } if (model.express_status == 2) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已经发货,不能修改收货信息!\"}"); return; } string accept_name = MXRequest.GetFormString("accept_name"); string province = MXRequest.GetFormString("province"); string city = MXRequest.GetFormString("city"); string area = MXRequest.GetFormString("area"); string address = MXRequest.GetFormString("address"); string post_code = MXRequest.GetFormString("post_code"); string mobile = MXRequest.GetFormString("mobile"); string telphone = MXRequest.GetFormString("telphone"); if (accept_name == "") { context.Response.Write("{\"status\": 0, \"msg\": \"请填写收货人姓名!\"}"); return; } if (area == "") { context.Response.Write("{\"status\": 0, \"msg\": \"请选择所在地区!\"}"); return; } if (address == "") { context.Response.Write("{\"status\": 0, \"msg\": \"请填写详细的送货地址!\"}"); return; } if (mobile == "" && telphone == "") { context.Response.Write("{\"status\": 0, \"msg\": \"联系手机或电话至少填写一项!\"}"); return; } model.accept_name = accept_name; model.area = province + "," + city + "," + area; model.address = address; model.post_code = post_code; model.mobile = mobile; model.telphone = telphone; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"修改收货人信息失败!\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Edit.ToString(), "修改收货信息,订单号:" + model.order_no); //记录日志 context.Response.Write("{\"status\": 1, \"msg\": \"修改收货人信息成功!\"}"); break; case "edit_order_remark": //修改订单备注================================= string remark = MXRequest.GetFormString("remark"); if (remark == "") { context.Response.Write("{\"status\": 0, \"msg\": \"请填写订单备注内容!\"}"); return; } model.remark = remark; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"修改订单备注失败!\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Edit.ToString(), "修改订单备注,订单号:" + model.order_no); //记录日志 context.Response.Write("{\"status\": 1, \"msg\": \"修改订单备注成功!\"}"); break; case "edit_real_amount": //修改商品总金额================================ //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Edit.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有修改商品金额的权限!\"}"); return; } if (model.status > 1) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已经确认,不能修改金额!\"}"); return; } decimal real_amount = MXRequest.GetFormDecimal("real_amount", 0); model.real_amount = real_amount; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"修改商品总金额失败!\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Edit.ToString(), "修改商品金额,订单号:" + model.order_no); //记录日志 context.Response.Write("{\"status\": 1, \"msg\": \"修改商品总金额成功!\"}"); break; case "edit_express_fee": //修改配送费用================================== //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Edit.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有配送费用的权限!\"}"); return; } if (model.status > 1) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已经确认,不能修改金额!\"}"); return; } decimal express_fee = MXRequest.GetFormDecimal("express_fee", 0); model.express_fee = express_fee; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"修改配送费用失败!\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Edit.ToString(), "修改配送费用,订单号:" + model.order_no); //记录日志 context.Response.Write("{\"status\": 1, \"msg\": \"修改配送费用成功!\"}"); break; case "edit_payment_fee": //修改支付手续费================================= //检查权限 if (!new BLL.manager_role().Exists(adminInfo.role_id, "order_list", MXEnums.ActionEnum.Edit.ToString())) { context.Response.Write("{\"status\": 0, \"msg\": \"您没有修改支付手续费的权限!\"}"); return; } if (model.status > 1) { context.Response.Write("{\"status\": 0, \"msg\": \"订单已经确认,不能修改金额!\"}"); return; } decimal payment_fee = MXRequest.GetFormDecimal("payment_fee", 0); model.payment_fee = payment_fee; if (!bll.Update(model)) { context.Response.Write("{\"status\": 0, \"msg\": \"修改支付手续费失败!\"}"); return; } new BLL.manager_log().Add(adminInfo.id, adminInfo.user_name, MXEnums.ActionEnum.Edit.ToString(), "修改支付手续费,订单号:" + model.order_no); //记录日志 context.Response.Write("{\"status\": 1, \"msg\": \"修改支付手续费成功!\"}"); break; } }
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, MXRequest.GetString("notify_id"), MXRequest.GetString("sign")); //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "验证结果:" + verifyResult.ToString() + "\n", System.Text.Encoding.UTF8); if (verifyResult) //验证成功 { string trade_no = MXRequest.GetString("trade_no"); //支付宝交易号 string order_no = MXRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = MXRequest.GetString("total_fee"); //获取总金额 string trade_status = MXRequest.GetString("trade_status"); //交易状态 //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "接口类型:" + Config.Type + "\n", System.Text.Encoding.UTF8); if (Config.Type == "1") //即时到帐接口处理方法 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "即时到帐返回交易状态:" + trade_status + "\n", System.Text.Encoding.UTF8); if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "商品订单\n", System.Text.Encoding.UTF8); BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "不存在\n", System.Text.Encoding.UTF8); Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "已付款\n", System.Text.Encoding.UTF8); Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "订单金额" + model.order_amount + "和支付金额" + total_fee + "不相符\n", System.Text.Encoding.UTF8); Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "修改订单状态:" + result.ToString() + "\n", System.Text.Encoding.UTF8); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } } else //担保交易接口处理方法 { if (trade_status == "WAIT_SELLER_SEND_GOODS") //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } //自动发货 result = new Service().Send_goods_confirm_by_platform(trade_no, "EXPRESS", "", "DIRECT"); if (!result) { Response.Write("自动发货失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if (trade_status == "TRADE_FINISHED") //确认收货交易完成 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { //创建ResponseHandler实例 ResponseHandler resHandler = new ResponseHandler(Context); resHandler.setKey(TenpayUtil.tenpay_key); //判断签名 if (resHandler.isTenpaySign()) { ///通知id string notify_id = resHandler.getParameter("notify_id"); //通过通知ID查询,确保通知来至财付通 //创建查询请求 RequestHandler queryReq = new RequestHandler(Context); queryReq.init(); queryReq.setKey(TenpayUtil.tenpay_key); queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml"); queryReq.setParameter("partner", TenpayUtil.bargainor_id); queryReq.setParameter("notify_id", notify_id); //通信对象 TenpayHttpClient httpClient = new TenpayHttpClient(); httpClient.setTimeOut(5); //设置请求内容 httpClient.setReqContent(queryReq.getRequestURL()); //后台调用 if (httpClient.call()) { //设置结果参数 ClientResponseHandler queryRes = new ClientResponseHandler(); queryRes.setContent(httpClient.getResContent()); queryRes.setKey(TenpayUtil.tenpay_key); //判断签名及结果 //只有签名正确,retcode为0,trade_state为0才是支付成功 if (queryRes.isTenpaySign()) { //取结果参数做业务处理 string out_trade_no = resHandler.getParameter("out_trade_no"); //财付通订单号 string transaction_id = resHandler.getParameter("transaction_id"); //金额,以分为单位 string total_fee = resHandler.getParameter("total_fee"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string discount = resHandler.getParameter("discount"); //订单类型 string order_type = resHandler.getParameter("attach"); //支付结果 string trade_state = resHandler.getParameter("trade_state"); //交易模式,1即时到帐 2中介担保 string trade_mode = resHandler.getParameter("trade_mode"); #region //判断签名及结果 if ("0".Equals(queryRes.getParameter("retcode"))) { //Response.Write("id验证成功"); if ("1".Equals(trade_mode)) { //即时到账 if ("0".Equals(trade_state)) { //------------------------------ //即时到账处理业务开始 //------------------------------ //处理数据库逻辑 //注意交易单不要重复处理 //注意判断返回金额 //修改支付状态、时间 if (order_type.ToLower() == DTEnums.AmountTypeEnum.Recharge.ToString().ToLower()) //在线充值 { BLL.amount_log bll = new BLL.amount_log(); Model.amount_log model = bll.GetModel(out_trade_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.value != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_type.ToLower() == DTEnums.AmountTypeEnum.BuyGoods.ToString().ToLower()) //购买商品 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(out_trade_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(out_trade_no, "payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no); } } //------------------------------ //即时到账处理业务完毕 //------------------------------ //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); } else { Response.Write("即时到账支付失败"); } } } else { //错误时,返回结果可能没有签名,写日志trade_state、retcode、retmsg看失败详情。 //通知财付通处理失败,需要重新通知 Response.Write("查询验证签名失败或id验证失败"); Response.Write("retcode:" + queryRes.getParameter("retcode")); } #endregion } else { Response.Write("通知ID查询签名验证失败"); } } else { //通知财付通处理失败,需要重新通知 Response.Write("后台调用通信失败"); //写错误日志 Response.Write("call err:" + httpClient.getErrInfo() + "<br>" + httpClient.getResponseCode() + "<br>"); } } else { Response.Write("签名验证失败"); } Response.End(); }
private void ShowInfo(int _id) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(_id); modelart = new Tea.BLL.article().GetModel(model.artid); if (modelart == null) { modelart = new Model.article(); } //綁定商品列表 this.rptList.DataSource = model.order_goods; this.rptList.DataBind(); foreach (Tea.Model.order_goods goods in model.order_goods) { Tea.Model.goods mgoods = new Tea.BLL.goods().GetModel(goods.goodsid); try { zhong = zhong + (goods.quantity * mgoods.zhong); if (mgoods.chang > c_chang) { c_chang = mgoods.chang; } if (mgoods.kuan > c_kuan) { c_kuan = mgoods.kuan; } c_gao += mgoods.gao * goods.quantity; } catch (Exception eee) { } } //Response.Write(zhong); //Response.Write("-"+c_chang + "-" + c_kuan + "-" + c_gao); zc = c_chang * c_kuan * c_gao / 6000; if (zc > zhong) { zhong = zc; } data_gift.DataSource = Tea.DBUtility.DbHelperSQL.Query("select * from view_order_gift where order_id=" + id + ""); data_gift.DataBind(); //根據訂單狀態,顯示各類操作按鈕 switch (model.status) { case 1: //如果是線下支付,支付狀態為0,如果是線上支付,支付成功後會自動改變訂單狀態為已確認 if (model.payment_status != 2) { //確認付款、取消訂單、修改收貨按鈕顯示 btnPayment.Visible = btnEditAcceptInfo.Visible = true; } else { btnCancel.Visible = false; //確認訂單、取消訂單、修改收貨按鈕顯示 btnConfirm.Visible = btnEditAcceptInfo.Visible = true; } //修改訂單備註、修改商品總金額、修改配送費用、修改支付手續費、修改發票稅金按鈕顯示 break; case 2: //如果訂單為已確認狀態,則進入發貨狀態 if (model.express_status != 2) { //確認發貨、取消訂單、修改收貨資訊按鈕顯示 btnExpress.Visible = btnEditAcceptInfo.Visible = true; } else { btnCancel.Visible = false; //完成訂單、取消訂單按鈕可見 btnComplete.Visible = true; } if (model.payment_status == 2) { btnCancel.Visible = false; } //修改訂單備註按鈕可見 //btnEditRemark.Visible = true; break; case 3: //退貨訂單、修改訂單備註按鈕可見 btnInvalid.Visible = true; btnCancel.Visible = false; break; case 5: //退貨訂單、修改訂單備註按鈕可見 btnCancel.Visible = false; break; } //根據訂單狀態和物流單號跟蹤物流資訊 if (model.express_status == 2) { ddlExpressId.SelectedValue = model.express_id.ToString(); //長:<%=getbao(model.order_bao,0) %> 寬:<%=getbao(model.order_bao,1) %> 高:<%=getbao(model.order_bao,2) %> 重:<%=getbao(model.order_bao,3) %> chang.Text = getbao(model.order_bao, 0); kuan.Text = getbao(model.order_bao, 1); gao.Text = getbao(model.order_bao, 2); txtzhong.Text = getbao(model.order_bao, 3); express_no.Text = model.express_no; Model.express modelt = new BLL.express().GetModel(model.express_id); Model.orderconfig orderConfig = new BLL.orderconfig().loadConfig(); } trade_no.Text = model.trade_no; if (model.invoice_taxes == 1) { cbFaPiao.Checked = true; } }
protected string remark2; //备注1 protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); v_oid = DTRequest.GetString("v_oid").ToUpper(); v_pstatus = DTRequest.GetString("v_pstatus"); v_pstring = DTRequest.GetString("v_pstring"); v_pmode = DTRequest.GetString("v_pmode"); v_md5str = DTRequest.GetString("v_md5str"); v_amount = DTRequest.GetString("v_amount"); v_moneytype = DTRequest.GetString("v_moneytype"); remark1 = DTRequest.GetString("remark1"); remark2 = DTRequest.GetString("remark2"); // 拼凑加密串 string signtext = v_oid + v_pstatus + v_amount + v_moneytype + Config.Key; signtext = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper(); //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "现签名:" + signtext + ",原签名:" + v_md5str + "验证结果:" + v_pstatus + "\n", System.Text.Encoding.UTF8); if (signtext == v_md5str && v_pstatus.Equals("20")) { //成功状态 if (v_oid.StartsWith("R")) //充值订单 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "充值订单号:" + v_oid + "\n", System.Text.Encoding.UTF8); BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(v_oid); if (model == null) { //写日志 System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "充值记录不存在\n", System.Text.Encoding.UTF8); Response.Write("error"); return; } if (model.status == 1) //已成功 { Response.Write("ok"); return; } if (model.value != decimal.Parse(v_amount)) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "金额不相同,记录值:" + model.value + ",返回值:" + v_amount + "\n", System.Text.Encoding.UTF8); Response.Write("error"); return; } model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "更新记录失败\n", System.Text.Encoding.UTF8); Response.Write("error"); return; } } else if (v_oid.StartsWith("B")) //商品订单 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "商品订单号:" + v_oid + "\n", System.Text.Encoding.UTF8); BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(v_oid); if (model == null) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "充值记录不存在\n", System.Text.Encoding.UTF8); Response.Write("error"); return; } if (model.payment_status == 2) //已付款 { Response.Write("ok"); return; } if (model.order_amount != decimal.Parse(v_amount)) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "金额不相同,记录值:" + model.order_amount + ",返回值:" + v_amount + "\n", System.Text.Encoding.UTF8); Response.Write("error"); return; } bool result = bll.UpdateField(v_oid, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("chinabanklog.txt"), "更新记录失败\n", System.Text.Encoding.UTF8); Response.Write("error"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //成功状态 Response.Write("ok"); return; } //失败状态 Response.Write("error"); return; }
protected void Page_Load(object sender, EventArgs e) { //创建ResponseHandler实例 ResponseHandler resHandler = new ResponseHandler(Context); resHandler.setKey(TenpayUtil.key); //判断签名 if (resHandler.isTenpaySign()) { ///通知id string notify_id = resHandler.getParameter("notify_id"); //通过通知ID查询,确保通知来至财付通 //创建查询请求 RequestHandler queryReq = new RequestHandler(Context); queryReq.init(); queryReq.setKey(TenpayUtil.key); queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml"); queryReq.setParameter("partner", TenpayUtil.partner); queryReq.setParameter("notify_id", notify_id); //通信对象 TenpayHttpClient httpClient = new TenpayHttpClient(); httpClient.setTimeOut(5); //设置请求内容 httpClient.setReqContent(queryReq.getRequestURL()); //后台调用 if (httpClient.call()) { //设置结果参数 ClientResponseHandler queryRes = new ClientResponseHandler(); queryRes.setContent(httpClient.getResContent()); queryRes.setKey(TenpayUtil.key); //判断签名及结果 //只有签名正确,retcode为0,trade_state为0才是支付成功 if (queryRes.isTenpaySign()) { //取结果参数做业务处理 string order_no = resHandler.getParameter("out_trade_no").ToUpper(); //财付通订单号 string trade_no = resHandler.getParameter("transaction_id"); //金额,以分为单位 string total_fee = resHandler.getParameter("total_fee"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string discount = resHandler.getParameter("discount"); //支付结果 string trade_state = resHandler.getParameter("trade_state"); //交易模式,1即时到帐 2中介担保 string trade_mode = resHandler.getParameter("trade_mode"); //判断签名及结果 if ("0".Equals(queryRes.getParameter("retcode"))) { if ("1".Equals(trade_mode)) { #region 即时到账处理方法==================================== if ("0".Equals(trade_state)) { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != (decimal.Parse(total_fee) / 100)) { Response.Write("" + Resources.lang.amount + "和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改" + Resources.lang.orderStatus + "失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("" + Resources.lang.amount + "和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改" + Resources.lang.orderStatus + "失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); } else { Response.Write("即时到账支付失败"); } #endregion } } else { Response.Write("查询验证签名失败或id验证失败"); } } else { Response.Write("通知ID查询签名验证失败"); } } else { Response.Write("后台调用通信失败"); } } else { Response.Write("签名验证失败"); } Response.End(); }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); string order_no = DTRequest.GetFormString("pay_order_no").ToUpper(); BLL.orders objorders = new BLL.orders(); Model.orders modelorders = objorders.GetModel(order_no); if (modelorders == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,订单详情获取出错,请重试!"))); return; } decimal order_amount = modelorders.order_amount; string subject = DTRequest.GetFormString("pay_subject"); if (order_no == "" || order_amount == 0 ) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } //检查是否已登录 Model.users userModel = new Web.UI.BasePage().GetUserInfo(); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=login")); //尚未登录 return; } if (userModel.amount < order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=recharge")); //账户的余额不足 return; } if (order_no.StartsWith("B")) //B开头为商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,商品订单号不存在!"))); return; } if (model.payment_status == 1) { //执行扣取账户金额 int result = new BLL.user_amount_log().Add(userModel.id, userModel.user_name, -1 * order_amount, subject); if (result > 0) { //更改订单状态 bool result1 = bll.UpdateField(order_no, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result1) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error")); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } else { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error")); return; } } //支付成功 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no)); return; } Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,找不到需要支付的订单类型!"))); return; }
protected void Page_Load(object sender, EventArgs e) { webUrl = "http://" + Utils.GetHomeUrl(); XmlDocument doc = XmlHelper.LoadXmlDoc(Utils.GetXmlMapPath("Configpathofubao")); string merchantid1 = doc.SelectSingleNode(@"Root/merID").InnerText; string HashKey = doc.SelectSingleNode(@"Root/MerchantID").InnerText; string HashIV = doc.SelectSingleNode(@"Root/TerminalID").InnerText; id = Request["id"]; paymenttype = Request["paymenttype"]; if (!string.IsNullOrEmpty(paymenttype)) { if (paymenttype == "lian") { ptype = "Credit"; } if (paymenttype == "1") { ptype = "Credit"; } if (paymenttype == "2") { ptype = "WebATM"; } if (paymenttype == "") { ptype = "ATM"; } if (paymenttype == "3") { ptype = "CVS"; } if (paymenttype == "barcode") { ptype = "BARCODE"; } if (paymenttype == "alipay") { ptype = "Alipay"; } if (paymenttype == "") { ptype = "Tenpay"; } } else { ptype = "ALL"; } if (!string.IsNullOrEmpty(id)) { BLL.orders bll = new BLL.orders(); model = bll.GetModel(BLL.Function.Instance.StringToNum(id)); BLL.users bllUser = new BLL.users(); User = bllUser.GetModel(model.user_id); Model.order_goods Order_Info = new Model.order_goods(); Order_Info = bll.Getorder_goodsModel(model.id);; } string ok_urlall = string.Empty; ok_urlall = webUrl + "/allpay_ok.aspx"; //返回地址 StringBuilder sb = new StringBuilder(); StringBuilder sbHtml = new StringBuilder(); if (!string.IsNullOrEmpty(ptype)) { string merchantid = "1038690"; merchantid = merchantid1; string url = ""; //url sb.Append("HashKey=" + HashKey + "");//7RswcwBgLcqnMjy5 if (ptype == "Alipay") { sb.Append("&AlipayItemCounts=1"); sb.Append("&AlipayItemName=" + model.order_no + ""); sb.Append("&AlipayItemPrice=1"); } sb.Append("&ChoosePayment=" + ptype + ""); if (ptype == "Alipay") { sb.Append("&Email=" + User.email + ""); } sb.Append("&ItemName=" + model.order_no + ""); sb.Append("&MerchantID=" + merchantid + ""); string time = model.add_time.ToString("yyyy/MM/dd HH:mm:ss").Replace("-", "/"); sb.Append("&MerchantTradeDate=" + model.add_time.ToString("yyyy/MM/dd HH:mm:ss").Replace("-", "/") + ""); sb.Append("&MerchantTradeNo=" + model.order_no + ""); sb.Append("&OrderResultURL=" + ok_urlall + ""); sb.Append("&PaymentType=aio"); if (ptype == "Alipay") { sb.Append("&PhoneNo=" + model.mobile + ""); } sb.Append("&Remark=" + model.order_no + ""); sb.Append("&ReturnURL=" + ok_urlall + ""); sb.Append("&TotalAmount=" + model.order_amount + ""); sb.Append("&TradeDesc=" + model.order_no + ""); if (ptype == "Credit") { if (paymenttype == "1") { sb.Append("&UnionPay=0"); } if (paymenttype == "lian") { sb.Append("&UnionPay=1"); } } if (ptype == "Alipay") { sb.Append("&UserName="******""); } sb.Append("&HashIV=" + HashIV + "");//IA0pz3lNuyui52iZ url = sb.ToString(); url = getstr(url).ToLower(); sb.Append("&CheckMacValue=" + BLL.Function.Instance.MD5(url, 32) + ""); string CheckMacValue = BLL.Function.Instance.MD5(url, 32); //Response.Write("url:" + url); //Response.Write(","); string savePath = Server.MapPath("PAU/"); //if (!Directory.Exists(savePath)) //{ // //需要注意的是,需要对这个物理路径有足够的权限,否则会报错 // Directory.CreateDirectory(savePath); // File.CreateText(savePath); // File.WriteAllText(savePath, url); // File.WriteAllText(savePath, "==============================================="); // File.WriteAllText(savePath, CheckMacValue); //} // Response.Write(CheckMacValue); //Atm缴费http://payment-stage.allpay.com.tw/Cashier/AioCheckOut //sbHtml.Append("<form id='paysubmit' name='ecbanksubmit' action='https://payment.allpay.com.tw/Cashier/AioCheckOut' method='post'>"); sbHtml.Append("<form id='paysubmit' name='ecbanksubmit' action=' https://payment-stage.allpay.com.tw/Cashier/AioCheckOut/V2' method='post'>"); //测试URL if (ptype == "Alipay") { sbHtml.Append("<input type='hidden' name='AlipayItemCounts' value='1'/>"); sbHtml.Append("<input type='hidden' name='AlipayItemName' value='" + model.order_no + "'/>"); sbHtml.Append("<input type='hidden' name='AlipayItemPrice' value='1'/>"); } sbHtml.Append("<input type='hidden' name='ChoosePayment' value='" + ptype + "'/>"); if (ptype == "Alipay") { sbHtml.Append("<input type='hidden' name='Email' value='" + User.email + "'/>"); } sbHtml.Append("<input type='hidden' name='ItemName' value='" + model.order_no + "'/>"); sbHtml.Append("<input type='hidden' name='MerchantID' value='" + merchantid + "'/>"); sbHtml.Append("<input type='hidden' name='MerchantTradeDate' value='" + model.add_time.ToString("yyyy/MM/dd HH:mm:ss").Replace("-", "/") + "'/>"); sbHtml.Append("<input type='hidden' name='MerchantTradeNo' value='" + model.order_no + "'/>"); sbHtml.Append("<input type='hidden' name='OrderResultURL' value='" + ok_urlall + "'/>"); sbHtml.Append("<input type='hidden' name='PaymentType' value='aio'/>"); if (ptype == "Alipay") { sbHtml.Append("<input type='hidden' name='PhoneNo' value='" + model.mobile + "'/>"); } sbHtml.Append("<input type='hidden' name='Remark' value='" + model.order_no + "'/>"); sbHtml.Append("<input type='hidden' name='ReturnURL' value='" + ok_urlall + "'/>"); sbHtml.Append("<input type='hidden' name='TotalAmount' value='" + model.order_amount + "'/>"); sbHtml.Append("<input type='hidden' name='TradeDesc' value='" + model.order_no + "'/>"); if (ptype == "Credit") { if (paymenttype == "1") { sbHtml.Append("<input type='hidden' name='UnionPay' value='0'/>"); } if (paymenttype == "lian") { sbHtml.Append("<input type='hidden' name='UnionPay' value='1'/>"); } } if (ptype == "Alipay") { sbHtml.Append("<input type='hidden' name='UserName' value='" + User.user_name + "' />"); } sbHtml.Append("<input type='hidden' name='CheckMacValue' value='" + CheckMacValue + "'/>"); sbHtml.Append("<input type='submit=Submit' style='display:none;'></form>"); sbHtml.Append("<script>document.forms['paysubmit'].submit();</script>"); Response.Write(sbHtml); Response.End(); } //atm转帐 if (paymenttype == "atm") { Response.Redirect("ordershow.aspx?id=" + id); } //銀行匯款 if (paymenttype == "hui") { Response.Redirect("ordershow.aspx?id=" + id); } //宅配貨到付款 if (paymenttype == "dao") { Response.Redirect("ordershow.aspx?id=" + id); } //到店取货 if (paymenttype == "dian") { Response.Redirect("ordershow.aspx?id=" + id); } }
protected void Page_Load(object sender, EventArgs e) { //讀取網站配置資料 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(DTKeys.FILE_SITE_XML_CONFING); string order_type = DTRequest.GetFormString("pay_order_type"); //訂單類型 string order_no = DTRequest.GetFormString("pay_order_no"); decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0); string subject = DTRequest.GetFormString("pay_subject"); if (order_no == "" || order_amount == 0) { Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("對不起,您送出的參數有誤!")); return; } //檢查是否已登入 Model.users userModel = new Web.UI.BasePage().GetUserInfo(); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "login")); //尚未登入 return; } if (userModel.amount < order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "recharge")); //帳戶的餘額不足 return; } if (order_type.ToLower() == DTEnums.AmountTypeEnum.BuyGoods.ToString().ToLower()) //購買商品 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("對不起,商品訂單號不存在!")); return; } if (model.payment_status == 1) { //執行扣取帳戶金額 int result = new BLL.amount_log().Add(userModel.id, userModel.user_name, DTEnums.AmountTypeEnum.BuyGoods.ToString(), order_no, model.payment_id, -1 * order_amount, subject, 1); if (result > 0) { //更改訂單狀態 bool result1 = bll.UpdateField(order_no, "payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result1) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "error")); return; } //扣除積分 if (model.point < 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "換購扣除積分,訂單號:" + model.order_no); } } else { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "error")); return; } } //付款成功 Response.Redirect(new Web.UI.BasePage().linkurl("payment1", "succeed", order_type, order_no)); return; } Response.Redirect(siteConfig.webpath + "error.aspx?msg=" + Utils.UrlEncode("對不起,找不到需要付款的訂單類型!")); return; }
protected void Page_Load(object sender, EventArgs e) { int site_payment_id = 0; //站点支付方式ID SortedDictionary <string, string> sPara = GetRequestPost(); if (sPara.Count > 0) //判断是否有带返回参数 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string trade_status = DTRequest.GetString("trade_status"); //交易状态 if (order_no.StartsWith("R")) //充值订单 { site_payment_id = new BLL.user_recharge().GetPaymentId(order_no); } else if (order_no.StartsWith("B")) //商品订单 { site_payment_id = new BLL.orders().GetPaymentId(order_no); } if (site_payment_id == 0) { Response.Write("该订单号不存在"); return; } //找到站点支付方式ID开始验证 Notify aliNotify = new Notify(site_payment_id); bool verifyResult = aliNotify.Verify(sPara, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult)//验证成功 { if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { //读取站点配置信息 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); string order_no = PLRequest.GetFormString("pay_order_no").ToUpper(); BLL.orders objorders = new BLL.orders(); Model.orders modelorders = objorders.GetModel(order_no); if (modelorders == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,订单详情获取出错,请重试!"))); return; } decimal order_amount = modelorders.order_amount; string subject = PLRequest.GetFormString("pay_subject"); if (order_no == "" || order_amount == 0) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!"))); return; } //检查是否已登录 Model.users userModel = new Web.UI.BasePage().GetUserInfo(); if (userModel == null) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=login")); //尚未登录 return; } if (userModel.amount < order_amount) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=recharge")); //账户的余额不足 return; } if (order_no.StartsWith("B")) //B开头为商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,商品订单号不存在!"))); return; } if (model.payment_status == 1) { //执行扣取账户金额 int result = new BLL.user_amount_log().Add(userModel.id, userModel.user_name, -1 * order_amount, subject); if (result > 0) { //更改订单状态 bool result1 = bll.UpdateField(order_no, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result1) { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error")); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } else { Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error")); return; } } //支付成功 Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no)); return; } Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,找不到需要支付的订单类型!"))); return; }
protected void Page_Load(object sender, EventArgs e) { //创建ResponseHandler实例 ResponseHandler resHandler = new ResponseHandler(Context); resHandler.setKey(TenpayUtil.key); //判断签名 if (resHandler.isTenpaySign()) { ///通知id string notify_id = resHandler.getParameter("notify_id"); //通过通知ID查询,确保通知来至财付通 //创建查询请求 RequestHandler queryReq = new RequestHandler(Context); queryReq.init(); queryReq.setKey(TenpayUtil.key); queryReq.setGateUrl("https://gw.tenpay.com/gateway/simpleverifynotifyid.xml"); queryReq.setParameter("partner", TenpayUtil.partner); queryReq.setParameter("notify_id", notify_id); //通信对象 TenpayHttpClient httpClient = new TenpayHttpClient(); httpClient.setTimeOut(5); //设置请求内容 httpClient.setReqContent(queryReq.getRequestURL()); //后台调用 if (httpClient.call()) { //设置结果参数 ClientResponseHandler queryRes = new ClientResponseHandler(); queryRes.setContent(httpClient.getResContent()); queryRes.setKey(TenpayUtil.key); //判断签名及结果 //只有签名正确,retcode为0,trade_state为0才是支付成功 if (queryRes.isTenpaySign()) { //取结果参数做业务处理 string order_no = resHandler.getParameter("out_trade_no").ToUpper(); //财付通订单号 string trade_no = resHandler.getParameter("transaction_id"); //金额,以分为单位 string total_fee = resHandler.getParameter("total_fee"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string discount = resHandler.getParameter("discount"); //支付结果 string trade_state = resHandler.getParameter("trade_state"); //交易模式,1即时到帐 2中介担保 string trade_mode = resHandler.getParameter("trade_mode"); //判断签名及结果 if ("0".Equals(queryRes.getParameter("retcode"))) { if ("1".Equals(trade_mode)) { #region 即时到账处理方法==================================== if ("0".Equals(trade_state)) { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); } else { Response.Write("即时到账支付失败"); } #endregion } else if ("2".Equals(trade_mode)) //担保交易 { #region 担保交易处理方法==================================== if ("0".Equals(trade_state)) //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != (decimal.Parse(total_fee) / 100)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if ("5".Equals(trade_state)) //买家收货确认,交易成功 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 Response.Write("success"); #endregion } } else { Response.Write("查询验证签名失败或id验证失败"); } } else { Response.Write("通知ID查询签名验证失败"); } } else { Response.Write("后台调用通信失败"); } } else { Response.Write("签名验证失败"); } Response.End(); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; BLL.wx_shop_cart cartBll = new BLL.wx_shop_cart(); string _action = MyCommFun.QueryString("myact"); string openid = MyCommFun.RequestOpenid(); //得到微信用户的openid Dictionary <string, string> jsonDict = new Dictionary <string, string>(); if (_action == "addCart") { #region 添加购物车 try { int wid = MyCommFun.RequestInt("wid"); int productId = MyCommFun.RequestInt("productid"); string skuId = MyCommFun.QueryString("mid"); string skuInfo = MyCommFun.QueryString("attr"); int productNum = MyCommFun.RequestInt("bc"); decimal totalPrice = (decimal)MyCommFun.RequestFloat("totprice", 0); Model.wx_shop_cart cart = new Model.wx_shop_cart(); IList <Model.wx_shop_cart> cartList = cartBll.GetModelList("productId=" + productId + " and openid='" + openid + "' and skuId='" + skuId + "'"); int getCartCount = cartBll.GetRecordCount("wid=" + wid + " and openid='" + openid + "'"); bool isAdd = true; if (cartList != null && cartList.Count > 0) { isAdd = false; cart = cartList[0]; } if (isAdd) { cart.createDate = DateTime.Now; cart.openid = openid; cart.productId = productId; cart.productNum = productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice = totalPrice * productNum; cart.wid = wid; int ret = cartBll.Add(cart); if (ret > 0) { jsonDict.Add("errCode", "false"); jsonDict.Add("recontent", "添加购物车成功!"); jsonDict.Add("cartcount", (getCartCount + 1).ToString()); } else { jsonDict.Add("errCode", "true"); jsonDict.Add("recontent", "添加购物车失败!"); jsonDict.Add("cartcount", getCartCount.ToString()); } } else { cart.openid = openid; cart.productNum += productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice += totalPrice * productNum; cart.wid = wid; bool ret = cartBll.Update(cart); if (ret) { jsonDict.Add("errCode", "false"); jsonDict.Add("recontent", "更新购物车成功!"); jsonDict.Add("cartcount", getCartCount.ToString()); } else { jsonDict.Add("errCode", "true"); jsonDict.Add("recontent", "更新购物车失败!"); jsonDict.Add("cartcount", getCartCount.ToString()); } } } catch (Exception ex) { jsonDict.Add("errCode", "true"); jsonDict.Add("recontent", "添加购物车失败!"); } finally { context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } #endregion } else if (_action == "pcount") { #region 购物车商品数量 jsonDict = new Dictionary <string, string>(); int wid = MyCommFun.RequestInt("wid"); int count = cartBll.GetRecordCount("wid=" + wid + " and openid='" + openid + "'"); jsonDict.Add("data", count.ToString()); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "remove") { #region 移除购物车商品 jsonDict = new Dictionary <string, string>(); int cartId = MyCommFun.RequestInt("id"); cartBll.Delete(cartId); jsonDict.Add("errCode", "false"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "modifyNum") { #region 修改购物车商品数量 jsonDict = new Dictionary <string, string>(); int cartId = MyCommFun.RequestInt("ic"); int newNum = MyCommFun.RequestInt("bc"); cartBll.UpdateNum(cartId, newNum); jsonDict.Add("errCode", "false"); jsonDict.Add("recontent", "更新成功!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "getCity") { #region 择省份,改变城市列表 int privice = MyCommFun.RequestInt("pvid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList <Model.pre_common_district> disList = areaBll.GetModelList("upid=" + privice + " and level=2"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "getArea") { #region 择城市,改变区域列表 int ctid = MyCommFun.RequestInt("ctid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList <Model.pre_common_district> disList = areaBll.GetModelList("upid=" + ctid + " and level=3"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "order_save") { #region 保存订单信息 //获得传参信息 int wid = MyCommFun.RequestInt("wid"); int payment_id = MyCommFun.RequestInt("pc"); //支付方式:1货到付款;3微支付 int express_id = MyCommFun.RequestInt("mtype"); //物流方式 // string orderStrList = MyCommFun.QueryString("orderStrList"); //检查物流方式 if (express_id == 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,请选择配送方式!\"}"); return; } BLL.wx_shop_user_addr uAddrBll = new BLL.wx_shop_user_addr(); IList <Model.wx_shop_user_addr> uaddrList = uAddrBll.GetOpenidAddrName(openid, wid); if (uaddrList == null || uaddrList.Count <= 0 || uaddrList[0].id <= 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"收货地址不存在,无法结算!\"}"); return; } //检查购物车商品 IList <Model.cartProduct> cartList = cartBll.GetCartList(openid, wid); if (cartList == null) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,购物车为空,无法结算!\"}"); return; } //统计购物车 decimal payable_amount = cartList.Sum(c => c.totPrice); //物流费用 BLL.express expressBll = new BLL.express(); Model.express expModel = expressBll.GetModel(express_id); //支付方式 BLL.payment pbll = new BLL.payment(); Model.payment payModel = pbll.GetModelBypTypeId(payment_id); //保存订单======================================================================= Model.orders model = new Model.orders(); model.order_no = "b" + Utils.GetOrderNumber(); //订单号B开头为商品订单 model.wid = wid; model.openid = openid; model.modelName = "微商城"; model.modelCode = "shop"; model.modelActionName = ""; model.modelActionId = 0; model.user_id = 0; model.user_name = ""; model.payment_id = payment_id; model.express_id = express_id; model.accept_name = uaddrList[0].contractPerson; model.post_code = ""; model.telphone = uaddrList[0].tel; model.mobile = uaddrList[0].tel; model.area = uaddrList[0].province; model.city = uaddrList[0].city; model.district = uaddrList[0].area; model.address = uaddrList[0].province + " " + uaddrList[0].city + " " + uaddrList[0].area + " " + uaddrList[0].addrDetail; model.message = ""; model.payable_amount = payable_amount; //应付商品总金额 model.real_amount = payable_amount; //实际商品总金额, model.status = 1; model.express_status = 1; model.express_fee = expModel.express_fee; //物流费用 if (payment_id == 1) { //货到付款,需要确认订单 model.payment_status = 0; //标记未付款 } else { //先款后货 model.payment_status = 1; //标记未付款 } bool quicklyFH = false; //如果是先款后货的话 if (payment_id == 3) { if (payModel.poundage_type == 1) //百分比 { model.payment_fee = model.real_amount * payModel.poundage_amount / 100; } else //固定金额 { model.payment_fee = payModel.poundage_amount; } BLL.wx_payment_wxpay wxBll = new BLL.wx_payment_wxpay(); Model.wx_payment_wxpay wxpay = wxBll.GetModelByWid(wid); quicklyFH = wxpay.quicklyFH; } if (quicklyFH) { model.express_status = 0; } //订单总金额=实付商品金额+运费+支付手续费 model.order_amount = model.real_amount + model.express_fee + model.payment_fee; //购物积分,可为负数 model.point = 0; model.add_time = DateTime.Now; //商品详细列表 List <Model.order_goods> gls = new List <Model.order_goods>(); foreach (Model.cartProduct item in cartList) { gls.Add(new Model.order_goods { goods_id = item.productId, goods_title = item.productName, goods_price = item.totPrice, real_price = item.totPrice, quantity = item.productNum, point = 0 }); } model.order_goods = gls; int result = new BLL.orders().Add(model); if (result < 1) { context.Response.Write("{\"errCode\":3, \"msg\":\"订单保存过程中发生错误,请重新提交!\"}"); return; } //清空购物车 cartBll.RemoveCartInfo(wid, openid); //提交成功,返回URL order_no context.Response.Write("{\"errCode\":true, \"payType\":\"" + payment_id + "\", \"order_no\":\"" + model.order_no + "\",\"orderid\":\"" + result + "\",\"wid\":\"" + wid + "\",\"openid\":\"" + openid + "\",\"payable_amount\":\"" + payable_amount + "\", \"msg\":\"恭喜您,订单已成功提交!\"}"); return; #endregion } else if (_action == "order_canel") { #region //取消订单 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); oBll.UpdateField(orderid, "status=4"); context.Response.Write("{\"errCode\":true, \"msg\":\"订单已取消!\"}"); #endregion } else if (_action == "fukuan") { #region //在线支付 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); Model.orders order = oBll.GetModel(orderid); oBll.UpdateField(orderid, "express_status=1,payment_status=2 , status=2"); context.Response.Write("{\"errCode\":true, \"msg\":\"付款成功!\"}"); #endregion } else if (_action == "shouhuo") { #region //确认收货 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); Model.orders order = oBll.GetModel(orderid); //if (order.payment_id == 1) //{ //货到付款 // oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=3"); // } // else //{ //在线支付 oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=6"); // } context.Response.Write("{\"errCode\":true, \"msg\":\"交易完成!\"}"); #endregion } else if (_action == "so") { #region //产品搜索,主要字段名称,分类,简介 int wid = MyCommFun.RequestInt("wid"); string pagesizeStr = MyCommFun.RequestParam("pagesize"); string orderby = " id desc"; int currPage = MyCommFun.RequestInt("currPage");; //当前页面 int recordCount = 0; //总记录数 int totPage = 1; //总页数 int pageSize = MyCommFun.Str2Int(pagesizeStr); //每页的记录数 if (pageSize <= 0) { pageSize = 10; } if (MyCommFun.RequestInt("page") > 0) { currPage = 1; } string key = MyCommFun.RequestParam("key"); DataSet productlist = new DataSet(); DAL.wx_shop_product artDal = new DAL.wx_shop_product(); productlist = artDal.SoGetList(wid, key, pageSize, currPage, "upselling=1", orderby, out recordCount); if (productlist != null && productlist.Tables.Count > 0 && productlist.Tables[0].Rows.Count > 0) { DataRow dr; for (int i = 0; i < productlist.Tables[0].Rows.Count; i++) { dr = productlist.Tables[0].Rows[i]; dr["p_count"] = recordCount; if (dr["link_url"] != null && dr["link_url"].ToString().Trim().Length > 0) { dr["link_url"] = MyCommFun.urlAddOpenid(dr["link_url"].ToString().Trim(), openid); } else { dr["link_url"] = MyCommFun.urlAddOpenid("detail.aspx?wid=" + wid + "&pid=" + dr["id"].ToString(), openid); } productlist.AcceptChanges(); } context.Response.Write(MyCommFun.GetJsonByDataset(productlist)); } #endregion } }
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, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult) //验证成功 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string trade_status = DTRequest.GetString("trade_status"); //交易状态 if (Config.Type == "1") //即时到帐接口处理方法 { if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } } else //担保交易接口处理方法 { if (trade_status == "WAIT_SELLER_SEND_GOODS") //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } //自动发货 result = new Service().Send_goods_confirm_by_platform(trade_no, "EXPRESS", "", "DIRECT"); if (!result) { Response.Write("自动发货失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if (trade_status == "TRADE_FINISHED") //确认收货交易完成 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; BLL.wx_book_cart cartBll = new BLL.wx_book_cart(); string _action = MyCommFun.QueryString("myact"); string openid = MyCommFun.RequestOpenid(); //得到微信用户的openid Dictionary <string, string> jsonDict = new Dictionary <string, string>(); if (_action == "addCart") { #region 添加购物车 try { int wid = MyCommFun.RequestInt("wid"); int productId = MyCommFun.RequestInt("productid"); int skuId = MyCommFun.RequestInt("mid"); string skuInfo = MyCommFun.QueryString("attr"); int productNum = MyCommFun.RequestInt("bc"); decimal totalPrice = (decimal)MyCommFun.RequestFloat("totprice", 0); Model.wx_book_cart cart = new Model.wx_book_cart(); IList <Model.wx_book_cart> cartList = cartBll.GetModelList("productId=" + productId + " and openid='" + openid + "' and skuId=" + skuId); bool isAdd = true; if (cartList != null && cartList.Count > 0) { isAdd = false; cart = cartList[0]; } if (isAdd) { cart.createDate = DateTime.Now; cart.openid = openid; cart.productId = productId; cart.productNum = productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice = totalPrice * productNum; cart.wid = wid; int ret = cartBll.Add(cart); if (ret > 0) { jsonDict.Add("errCode", "false"); } else { jsonDict.Add("errCode", "true"); } } else { cart.openid = openid; cart.productNum += productNum; cart.skuId = skuId; cart.skuInfo = skuInfo; cart.totPrice += totalPrice * productNum; cart.wid = wid; bool ret = cartBll.Update(cart); if (ret) { jsonDict.Add("errCode", "false"); } else { jsonDict.Add("errCode", "true"); } } } catch (Exception ex) { jsonDict.Add("errCode", "true"); } finally { context.Response.Write(MyCommFun.getJsonStr(jsonDict)); } #endregion } else if (_action == "pcount") { #region 购物车预订数量 jsonDict = new Dictionary <string, string>(); int wid = MyCommFun.RequestInt("wid"); int count = cartBll.GetRecordCount("wid=" + wid + " and openid='" + openid + "'"); jsonDict.Add("data", count.ToString()); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "remove") { #region 移除购物车预订 jsonDict = new Dictionary <string, string>(); int cartId = MyCommFun.RequestInt("id"); cartBll.Delete(cartId); jsonDict.Add("errCode", "false"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "modifyNum") { #region 修改购物车预订数量 jsonDict = new Dictionary <string, string>(); int cartId = MyCommFun.RequestInt("ic"); int newNum = MyCommFun.RequestInt("bc"); cartBll.UpdateNum(cartId, newNum); jsonDict.Add("errCode", "false"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); #endregion } else if (_action == "getCity") { #region 择省份,改变城市列表 int privice = MyCommFun.RequestInt("pvid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList <Model.pre_common_district> disList = areaBll.GetModelList("upid=" + privice + " and level=2"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "getArea") { #region 择城市,改变区域列表 int ctid = MyCommFun.RequestInt("ctid"); BLL.pre_common_district areaBll = new BLL.pre_common_district(); IList <Model.pre_common_district> disList = areaBll.GetModelList("upid=" + ctid + " and level=3"); Model.pre_common_district dis; StringBuilder jsonStr = new StringBuilder("{\"errCode\":0,\"retCode\":0,\"msgType\":0,\"errMsg\":\"\",\"data\":["); for (int i = 0; i < disList.Count; i++) { dis = new Model.pre_common_district(); if (i != disList.Count - 1) { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"},"); } else { jsonStr.Append("{\"id\":" + disList[i].id + ",\"name\":\"" + disList[i].name + "\"}"); } } jsonStr.Append("]}"); context.Response.Write(jsonStr); #endregion } else if (_action == "order_save") { #region 保存订单信息 //获得传参信息 int wid = MyCommFun.RequestInt("wid"); int payment_id = MyCommFun.RequestInt("pc"); //支付方式:1货到付款;3微支付 int express_id = MyCommFun.RequestInt("mtype"); //物流方式 string bookorderback = MyCommFun.QueryString("bookorderback"); //描述 DateTime bookordertime = DateTime.Parse(MyCommFun.QueryString("bookordertime")); //预订时间 string orderStrList = MyCommFun.QueryString("orderStrList"); //检查物流方式 if (express_id == 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,请选择配送方式!\"}"); return; } BLL.wx_book_user_addr uAddrBll = new BLL.wx_book_user_addr(); IList <Model.wx_book_user_addr> uaddrList = uAddrBll.GetOpenidAddrName(openid, wid); if (uaddrList == null || uaddrList.Count <= 0 || uaddrList[0].id <= 0) { context.Response.Write("{\"errCode\":3, \"msg\":\"预约地址不存在,无法下单!\"}"); return; } //检查购物车预订 IList <Model.cartProduct> cartList = cartBll.GetCartList(openid, wid); if (cartList == null) { context.Response.Write("{\"errCode\":3, \"msg\":\"对不起,预约清单为空,无法下单!\"}"); return; } //统计购物车 decimal payable_amount = cartList.Sum(c => c.totPrice); //物流费用 BLL.express expressBll = new BLL.express(); Model.express expModel = expressBll.GetModel(express_id); //支付方式 BLL.payment pbll = new BLL.payment(); Model.payment payModel = pbll.GetModelBypTypeId(payment_id); //保存订单======================================================================= Model.orders model = new Model.orders(); model.order_no = "b" + Utils.GetOrderNumber(); //订单号B开头为预订订单 model.wid = wid; model.openid = openid; model.modelName = "微预订"; model.modelCode = "book"; model.modelActionName = ""; model.modelActionId = 0; model.user_id = 0; model.user_name = ""; model.payment_id = payment_id; model.express_id = express_id; model.accept_name = uaddrList[0].contractPerson; model.post_code = ""; model.telphone = uaddrList[0].tel; model.mobile = uaddrList[0].tel; model.area = uaddrList[0].province; model.city = uaddrList[0].city; model.district = uaddrList[0].area; model.address = uaddrList[0].province + " " + uaddrList[0].city + " " + uaddrList[0].area + " " + uaddrList[0].addrDetail; model.message = ""; model.payable_amount = payable_amount; //应付预订总金额 model.real_amount = payable_amount; //实际预订总金额, model.status = 1; model.express_status = 1; model.express_fee = expModel.express_fee; //物流费用 model.remark = bookorderback; model.bookorder_time = bookordertime; if (payment_id == 1) { //货到付款,需要确认订单 model.payment_status = 0; //标记未付款 } else { //先款后货 model.payment_status = 1; //标记未付款 } bool quicklyFH = false; //如果是先款后货的话 if (payment_id == 3) { if (payModel.poundage_type == 1) //百分比 { model.payment_fee = model.real_amount * payModel.poundage_amount / 100; } else //固定金额 { model.payment_fee = payModel.poundage_amount; } BLL.wx_payment_wxpay wxBll = new BLL.wx_payment_wxpay(); Model.wx_payment_wxpay wxpay = wxBll.GetModelByWid(wid); quicklyFH = wxpay.quicklyFH; } if (quicklyFH) { model.express_status = 0; } //订单总金额=实付预订金额+运费+支付手续费 model.order_amount = model.real_amount + model.express_fee + model.payment_fee; //购物积分,可为负数 model.point = 0; model.add_time = DateTime.Now; //预订详细列表 List <Model.order_goods> gls = new List <Model.order_goods>(); foreach (Model.cartProduct item in cartList) { gls.Add(new Model.order_goods { goods_id = item.productId, goods_title = item.productName, goods_price = item.totPrice, real_price = item.totPrice, quantity = item.productNum, point = 0 }); } model.order_goods = gls; int result = new BLL.orders().Add(model); if (result < 1) { context.Response.Write("{\"errCode\":3, \"msg\":\"订单保存过程中发生错误,请重新提交!\"}"); return; } //清空购物车 cartBll.RemoveCartInfo(wid, openid); //提交成功,返回URL order_no context.Response.Write("{\"errCode\":true, \"payType\":\"" + payment_id + "\", \"order_no\":\"" + model.order_no + "\",\"orderid\":\"" + result + "\",\"wid\":\"" + wid + "\",\"openid\":\"" + openid + "\",\"payable_amount\":\"" + payable_amount + "\", \"msg\":\"恭喜您,订单已成功提交!\"}"); return; #endregion } else if (_action == "order_canel") { #region //取消订单 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); oBll.UpdateField(orderid, "status=4"); context.Response.Write("{\"errCode\":true, \"msg\":\"订单已取消!\"}"); #endregion } else if (_action == "shouhuo") { #region //确认收货 int orderid = MyCommFun.RequestInt("order_id"); BLL.orders oBll = new BLL.orders(); Model.orders order = oBll.GetModel(orderid); if (order.payment_id == 1) { //货到付款 oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=3"); } else { //在线支付 oBll.UpdateField(orderid, "express_status=2,payment_status=2 , status=3"); } context.Response.Write("{\"errCode\":true, \"msg\":\"确人收货!\"}"); #endregion } }
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, MXRequest.GetString("notify_id"), MXRequest.GetString("sign")); //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "验证结果:" + verifyResult.ToString() + "\n", System.Text.Encoding.UTF8); if (verifyResult)//验证成功 { string trade_no = MXRequest.GetString("trade_no"); //支付宝交易号 string order_no = MXRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = MXRequest.GetString("total_fee"); //获取总金额 string trade_status = MXRequest.GetString("trade_status"); //交易状态 //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "接口类型:" + Config.Type + "\n", System.Text.Encoding.UTF8); if (Config.Type == "1") //即时到帐接口处理方法 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "即时到帐返回交易状态:" + trade_status + "\n", System.Text.Encoding.UTF8); if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "商品订单\n", System.Text.Encoding.UTF8); BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "不存在\n", System.Text.Encoding.UTF8); Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "已付款\n", System.Text.Encoding.UTF8); Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "订单金额" + model.order_amount + "和支付金额" + total_fee + "不相符\n", System.Text.Encoding.UTF8); Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "修改订单状态:" + result.ToString() + "\n", System.Text.Encoding.UTF8); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } } else //担保交易接口处理方法 { if (trade_status == "WAIT_SELLER_SEND_GOODS") //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } //自动发货 result = new Service().Send_goods_confirm_by_platform(trade_no, "EXPRESS", "", "DIRECT"); if (!result) { Response.Write("自动发货失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if (trade_status == "TRADE_FINISHED") //确认收货交易完成 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
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, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult)//验证成功 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string trade_status = DTRequest.GetString("trade_status"); //交易状态 if (Config.Type == "1") //即时到帐接口处理方法 { if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } } else //担保交易接口处理方法 { if (trade_status == "WAIT_SELLER_SEND_GOODS") //付款成功 { if (order_no.StartsWith("R")) //充值订单 { BLL.user_recharge bll = new BLL.user_recharge(); Model.user_recharge model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.Confirm(order_no); if (!result) { Response.Write("修改订单状态失败"); return; } //自动发货 result = new Service().Send_goods_confirm_by_platform(trade_no, "EXPRESS", "", "DIRECT"); if (!result) { Response.Write("自动发货失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } else if (trade_status == "TRADE_FINISHED") //确认收货交易完成 { if (order_no.StartsWith("B")) //商品订单 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status > 2) //订单状态已经完成结束 { Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "status=3,complete_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //给会员增加积分检查升级 if (model.user_id > 0 && model.point > 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "购物获得积分,订单号:" + model.order_no, true); } } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
/// <summary> /// 下单成功页面 /// </summary> public void OrderSuccessPage() { BLL.orders oBll = new BLL.orders(); int orderid = MyCommFun.RequestInt("orderid"); Model.orders order = oBll.GetModel(orderid); if (order != null) { this.Document.SetValue("order", order); } }
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, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "验证结果:" + verifyResult.ToString() + "\n", System.Text.Encoding.UTF8); if (verifyResult)//验证成功 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no").ToUpper(); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string trade_status = DTRequest.GetString("trade_status"); //交易状态 if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { if (order_no.StartsWith("R")) //充值订单 { BLL.user_amount_log bll = new BLL.user_amount_log(); Model.user_amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.status == 1) //已成功 { Response.Write("success"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } model.trade_no = trade_no; model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_no.StartsWith("B")) //商品订单 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "商品订单\n", System.Text.Encoding.UTF8); BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "不存在\n", System.Text.Encoding.UTF8); Response.Write("该订单号不存在"); return; } if (model.payment_status == 2) //已付款 { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "已付款\n", System.Text.Encoding.UTF8); Response.Write("success"); return; } if (model.order_amount != decimal.Parse(total_fee)) { //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "订单号:" + order_no + "订单金额" + model.order_amount + "和支付金额" + total_fee + "不相符\n", System.Text.Encoding.UTF8); Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "trade_no='" + trade_no + "',status=2,payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //写日志 //System.IO.File.AppendAllText(Utils.GetMapPath("alipaylog.txt"), "修改订单状态:" + result.ToString() + "\n", System.Text.Encoding.UTF8); //扣除积分 if (model.point < 0) { new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false); } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
//取消訂單 protected void btnCancel_Click(object sender, EventArgs e) { ChkAdminLevel("orders", DTEnums.ActionEnum.Cancel.ToString()); //檢查許可權 BLL.orders bll = new BLL.orders(); for (int i = 0; i < rptList.Items.Count; i++) { int id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value); CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId"); if (cb.Checked) { Model.orders model = bll.GetModel(id); if (model != null && model.status == 1) { bll.UpdateField(id, "status=4"); int UID = 0, Point = 0; string orNo = string.Empty; #region 根据ID获取订单参数 UID = model.user_id; // Point = model.point; orNo = model.order_no; #endregion #region 更新点数 BLL.users BLLUser = new BLL.users(); BLL.point_log points = new BLL.point_log(); DataTable dtOrder = points.GetList(100, " user_name='" + orNo + "' ", " add_time desc").Tables[0]; if (dtOrder != null) { for (int k = 0; k < dtOrder.Rows.Count; k++) { Model.point_log modelPoint = new Model.point_log(); int type = Utils.StringToNum(dtOrder.Rows[k]["type"].ToString()); Point = Utils.StringToNum(dtOrder.Rows[k]["value"].ToString()); if (type == 1) { BLLUser.UpJianPoint(UID, Point); #region 记录点数消费 modelPoint.user_id = UID; modelPoint.user_name = orNo; modelPoint.value = Point; modelPoint.remark = "訂單取消購物回饋點數"; modelPoint.add_time = DateTime.Now; modelPoint.type = 2; int m = points.Add(modelPoint); #endregion } if (type == 2) { BLLUser.UpPoint(UID, Point); #region 记录点数消费 modelPoint.user_id = UID; modelPoint.user_name = orNo; modelPoint.value = Point; modelPoint.remark = "訂單取消返還購物時折抵點數"; modelPoint.add_time = DateTime.Now; modelPoint.type = 1; int m = points.Add(modelPoint); #endregion } } } #endregion } } } JscriptMsg("符合的訂單已取消!", Utils.CombUrlTxt("order_list.aspx", "status={0}&payment_status={1}&distribution_status={2}&keywords={3}", this.status.ToString(), this.payment_status.ToString(), this.distribution_status.ToString(), this.keywords), "Success"); }
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, DTRequest.GetString("notify_id"), DTRequest.GetString("sign")); if (verifyResult)//验证成功 { string trade_no = DTRequest.GetString("trade_no"); //支付宝交易号 string order_no = DTRequest.GetString("out_trade_no"); //获取订单号 string total_fee = DTRequest.GetString("total_fee"); //获取总金额 string subject = DTRequest.GetString("subject"); //商品名称、订单名称 string body = DTRequest.GetString("body"); //商品描述、订单备注、描述 string buyer_email = DTRequest.GetString("buyer_email"); //买家支付宝账号 string trade_status = DTRequest.GetString("trade_status"); //交易状态 string order_type = DTRequest.GetString("extra_common_param"); //订单交易类别 if (DTRequest.GetString("trade_status") == "TRADE_FINISHED" || DTRequest.GetString("trade_status") == "TRADE_SUCCESS") { //修改支付状态、时间 if (order_type.ToLower() == DTEnums.AmountTypeEnum.Recharge.ToString().ToLower()) //在线充值 { BLL.amount_log bll = new BLL.amount_log(); Model.amount_log model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.value != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } model.status = 1; model.complete_time = DateTime.Now; bool result = bll.Update(model); if (!result) { Response.Write("修改订单状态失败"); return; } } else if (order_type.ToLower() == DTEnums.AmountTypeEnum.BuyGoods.ToString().ToLower()) //购买商品 { BLL.orders bll = new BLL.orders(); Model.orders model = bll.GetModel(order_no); if (model == null) { Response.Write("该订单号不存在"); return; } if (model.order_amount != decimal.Parse(total_fee)) { Response.Write("订单金额和支付金额不相符"); return; } bool result = bll.UpdateField(order_no, "payment_status=2,payment_time='" + DateTime.Now + "'"); if (!result) { Response.Write("修改订单状态失败"); return; } //扣除积分 if (model.point < 0) { new BLL.point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no); } } } Response.Write("success"); //请不要修改或删除 } else//验证失败 { Response.Write("fail"); } } else { Response.Write("无通知参数"); } }
protected void Page_Load(object sender, EventArgs e) { int orderId = MyCommFun.RequestInt("orderid"); int wid = MyCommFun.RequestInt("wid"); getwid = wid; getorderId = orderId; string code = MyCommFun.RequestParam("code"); string state = MyCommFun.RequestParam("state"); BLL.wx_payment_wxpay wxPayBll = new BLL.wx_payment_wxpay(); Model.wx_payment_wxpay paymentInfo = wxPayBll.GetModelByWid(wid); BLL.wx_userweixin wx = new BLL.wx_userweixin(); Model.wx_userweixin wxModel = wx.GetModel(wid); BLL.orders otBll = new BLL.orders(); Model.orders orderEntity = otBll.GetModel(orderId, wid); litout_trade_no = orderEntity.order_no; litMoney = Decimal.ToInt32(orderEntity.order_amount); litDate = orderEntity.add_time.ToString(); if (string.IsNullOrEmpty(code)) { Response.Write("您拒绝了授权!"); return; } if (!state.Contains("|")) { //这里的state其实是会暴露给客户端的,验证能力很弱,这里只是演示一下 //实际上可以存任何想传递的数据,比如用户ID,并且需要结合例如下面的Session["OAuthAccessToken"]进行验证 Response.Write("验证失败!请从正规途径进入!1001"); return; } ////获取产品信息 //var stateData = state.Split('|'); //int productId = 0; //if (int.TryParse(stateData[0], out productId)) //{ // int hc = 0; // if (int.TryParse(stateData[1], out hc)) // { // var products = ProductModel.GetFakeProductList(); // product = products.FirstOrDefault(z => z.Id == productId); // if (product == null || product.GetHashCode() != hc) // { // return Content("商品信息不存在,或非法进入!1002"); // } // ViewData["product"] = product; // } //} //通过,用code换取access_token var openIdResult = OAuthApi.GetAccessToken(PayV3Config.Mch_appId, PayV3Config.Mch_Secret, code); if (openIdResult.errcode != ReturnCode.请求成功) { Response.Write("错误:" + openIdResult.errmsg); return; } string timeStamp = ""; string nonceStr = ""; string paySign = ""; string sp_billno = Request["order_no"]; //当前时间 yyyyMMdd string date = DateTime.Now.ToString("yyyyMMdd"); if (null == sp_billno) { //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一 sp_billno = DateTime.Now.ToString("HHmmss") + TenPayV3Util.BuildRandomStr(28); } else { sp_billno = Request["order_no"].ToString(); } //创建支付应答对象 Senparc.Weixin.MP.TenPayLibV3.RequestHandler packageReqHandler = new Senparc.Weixin.MP.TenPayLibV3.RequestHandler(null); //初始化 packageReqHandler.Init(); timeStamp = TenPayV3Util.GetTimestamp(); nonceStr = TenPayV3Util.GetNoncestr(); //设置package订单参数 // packageReqHandler.SetParameter("appid", paymentInfo.appId); //公众账号ID /// packageReqHandler.SetParameter("mch_id", paymentInfo.partnerId); //商户号 packageReqHandler.SetParameter("appid", PayV3Config.Mch_appId); //公众账号ID packageReqHandler.SetParameter("mch_id", PayV3Config.Mch_mchid); //商户号 //// packageReqHandler.SetParameter("sub_appid", paymentInfo.appId); //子商户公众账号ID packageReqHandler.SetParameter("sub_mch_id", paymentInfo.partnerId); //子商户号mch_id /// packageReqHandler.SetParameter("nonce_str", nonceStr); //随机字符串 packageReqHandler.SetParameter("body", orderId.ToString()); //商品信息 packageReqHandler.SetParameter("out_trade_no", litout_trade_no); //商家订单号 packageReqHandler.SetParameter("total_fee", (litMoney * 100).ToString()); //product == null ? "100" : (product.Price * 100).ToString()商品金额,以分为单位(money * 100).ToString() packageReqHandler.SetParameter("spbill_create_ip", Request.UserHostAddress); //用户的公网ip,不是商户服务器IP packageReqHandler.SetParameter("notify_url", MyCommFun.getWebSite() + "/api/wxpay/notify_url.aspx?wid=" + wid + "|" + orderId); //接收财付通通知的URL packageReqHandler.SetParameter("trade_type", TenPayV3Type.JSAPI.ToString()); //交易类型 packageReqHandler.SetParameter("openid", openIdResult.openid); //用户的openId // string sign = packageReqHandler.CreateMd5Sign("key", paymentInfo.paySignKey); string sign = packageReqHandler.CreateMd5Sign("key", PayV3Config.Mch_Key); packageReqHandler.SetParameter("sign", sign); //签名 string data = packageReqHandler.ParseXML(); var result = TenPayV3.Unifiedorder(data); var res = XDocument.Parse(result); string prepayId = res.Element("xml").Element("prepay_id").Value; //设置支付参数 Senparc.Weixin.MP.TenPayLibV3.RequestHandler paySignReqHandler = new Senparc.Weixin.MP.TenPayLibV3.RequestHandler(null); paySignReqHandler.SetParameter("appId", PayV3Config.Mch_appId); paySignReqHandler.SetParameter("timeStamp", timeStamp); paySignReqHandler.SetParameter("nonceStr", nonceStr); paySignReqHandler.SetParameter("package", string.Format("prepay_id={0}", prepayId)); paySignReqHandler.SetParameter("signType", "MD5"); paySign = paySignReqHandler.CreateMd5Sign("key", PayV3Config.Mch_Key); payaddid = PayV3Config.Mch_appId; paytimeStamp = timeStamp; paynonceStr = nonceStr; paypackageValue = string.Format("prepay_id={0}", prepayId); paypaySign = paySign; }