protected void Page_Load(object sender, EventArgs e) { ExHelper.CheckUserAuth("cash"); mu = buser.GetLogin(); M_Store_Info storeMod = ExHelper.Store_User(); orderMod = orderBll.SelReturnModel(OrderID); client = buser.SelReturnModel(DataConvert.CLng(orderMod.Receiver)); OrderHelper.CheckIsCanPay(orderMod); if (function.isAjax()) { M_Payment payMod = payBll.CreateByOrder(orderMod); payMod.UserID = mu.UserID; payMod.CStatus = true; payMod.Status = (int)M_Payment.PayStatus.HasPayed; string result = ""; try { string type = Request.Form["type"]; switch (type) { case "money": #region 现金支付/扫码支付 { double rece = DataConvert.CDouble(Request.Form["rece"]); if (rece < payMod.MoneyPay) { throw new Exception("金额不正确,不能少于应收金额"); } payMod.Remark = string.Format("应收{0},实收{1},找零{2}", payMod.MoneyPay, rece, rece - payMod.MoneyPay); payMod.MoneyTrue = rece > payMod.MoneyPay ? payMod.MoneyPay : rece; payMod.PayPlatID = (int)M_PayPlat.Plat.Offline; //现金扫码支付 } #endregion break; case "mcard": #region 会员卡支付 { if (client.IsNull) { throw new Exception("未指定会员,无法使用会员卡支付"); } else if (client.Purse < orderMod.Ordersamount) { throw new Exception("会员卡余额不足"); } else { buser.MinusVMoney(client.UserID, orderMod.Ordersamount, M_UserExpHis.SType.Purse, "会员卡支付[" + orderMod.OrderNo + "]"); //检测会员卡余额是否充足 payMod.Remark = "会员卡支付"; payMod.MoneyTrue = orderMod.Ordersamount; payMod.PayPlatID = (int)M_PayPlat.Plat.ECPSS; //会员卡支付 } } #endregion break; default: throw new Exception("支付方式[" + type + "]不存在"); } payMod.PaymentID = payBll.Add(payMod); OrderHelper.FinalStep(payMod, orderMod, null); result = "1"; } catch (Exception ex) { ZLLog.L(ZLEnum.Log.pay, "订单:" + orderMod.id + ",原因:" + ex.Message); result = ex.Message; } if (client.UserID > 0) { DBCenter.UpdateSQL(client.TbName, "UpdateTime=getdate()", "UserID=" + client.UserID); } Response.Write(result); Response.Flush(); Response.End(); } if (!IsPostBack) { StoreName_L.Text = storeMod.Title; Cart_RPT.DataSource = cpBll.SelByOrderID(orderMod.id); Cart_RPT.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { //B_User.CheckIsLogged(Request.RawUrl); M_UserInfo mu = SnsHelper.GetLogin(); if (!IsPostBack) { M_Payment payMod = new M_Payment(); DataTable orderDT = new DataTable(); if (!string.IsNullOrEmpty(PayNo)) { payMod = payBll.SelModelByPayNo(PayNo); OrderHelper.OrdersCheck(payMod); orderDT = orderBll.GetOrderbyOrderNo(payMod.PaymentNum); } else if (!string.IsNullOrEmpty(OrderNo)) { M_OrderList orderMod = orderBll.SelModelByOrderNo(OrderNo); OrderHelper.CheckIsCanPay(orderMod); orderDT = orderBll.GetOrderbyOrderNo(OrderNo); } else { function.WriteErrMsg("Unspecified order or payment single number"); } if (orderDT != null && orderDT.Rows.Count > 0) { //总金额,如有支付单,以支付单的为准 GetTotal(orderDT, ref price, ref fare, ref allamount); if (!string.IsNullOrEmpty(PayNo)) { allamount = (double)payMod.MoneyPay; arrive = payMod.ArriveMoney; point = payMod.UsePoint; point_arrive = payMod.UsePointArrive; } TotalMoney_L.Text = allamount.ToString("f2"); TotalMoneyInfo_T.Text = price.ToString("f2") + " + " + fare.ToString("f2") + " - " + arrive.ToString("f2") + "-" + point_arrive.ToString("f2") + "(" + point + ")" + " = " + allamount.ToString("f2"); TotalMoneyInfo_T.Text = TotalMoneyInfo_T.Text + " (Product+Freight-Coupon-Point)"; if (string.IsNullOrEmpty(OrderNo) && Money > 0) { OrderNo_L.Text = ""; } else if (payMod.PaymentID > 0) { OrderNo_L.Text = payMod.PaymentNum.Trim(','); } else { OrderNo_L.Text = OrderNo; } } //支付平台 BindPlat(); // if (payMod.SysRemark == "用户充值") { virtual_ul.Visible = false; } //如果已用优惠券|积分,抵扣了金额,则可直接支付 if (payMod.PaymentID > 0 && payMod.MoneyReal == 0) { FinalStep(payMod); } } }
protected void Page_Load(object sender, EventArgs e) { B_User.CheckIsLogged(Request.RawUrl); M_UserInfo mu = buser.GetLogin(); if (mu.Status != 0) { function.WriteErrMsg("你的帐户未通过验证或被锁定"); } if (!IsPostBack) { M_Payment payMod = new M_Payment(); DataTable orderDT = new DataTable(); purseli.Visible = SiteConfig.SiteOption.SiteID.Contains("purse"); siconli.Visible = SiteConfig.SiteOption.SiteID.Contains("sicon"); pointli.Visible = SiteConfig.SiteOption.SiteID.Contains("point"); if (Money > 0)//直接传要充多少,用于充值余额等 { payMod = CreateChargePay(mu); Response.Redirect("OrderPay.aspx?Payno=" + payMod.PayNo); return; } else if (!string.IsNullOrEmpty(PayNo)) { payMod = payBll.SelModelByPayNo(PayNo); OrderHelper.OrdersCheck(payMod); orderDT = orderBll.GetOrderbyOrderNo(payMod.PaymentNum); } else { M_OrderList orderMod = orderBll.SelModelByOrderNo(OrderNo); OrderHelper.CheckIsCanPay(orderMod); orderDT = orderBll.GetOrderbyOrderNo(OrderNo); } if (orderDT != null && orderDT.Rows.Count > 0) { //如果是跳转回来的,检测其是否包含充值订单 foreach (DataRow dr in orderDT.Rows) { if (DataConverter.CLng(dr["Ordertype"]) == (int)M_OrderList.OrderEnum.Purse) { virtual_ul.Visible = false; break; } } //总金额,如有支付单,以支付单的为准 GetTotal(orderDT, ref price, ref fare, ref allamount); if (!string.IsNullOrEmpty(PayNo)) { allamount = (double)payMod.MoneyPay; arrive = payMod.ArriveMoney; point = payMod.UsePoint; point_arrive = payMod.UsePointArrive; } TotalMoney_L.Text = allamount.ToString("f2"); TotalMoneyInfo_T.Text = price.ToString("f2") + " + " + fare.ToString("f2") + " - " + arrive.ToString("f2") + "-" + point_arrive.ToString("f2") + "(" + point + ")" + " = " + allamount.ToString("f2"); TotalMoneyInfo_T.Text = TotalMoneyInfo_T.Text + " (商品总价+运费-优惠券-积分兑换=总额)"; if (string.IsNullOrEmpty(OrderNo) && Money > 0) { OrderNo_L.Text = "用户充值"; } else if (payMod.PaymentID > 0) { OrderNo_L.Text = payMod.PaymentNum.Trim(','); } else { OrderNo_L.Text = OrderNo; } } //支付平台 BindPlat(); if (payMod.SysRemark == "用户充值") { virtual_ul.Visible = false; } //如果已用优惠券|积分,抵扣了金额,则可直接支付 if (payMod.MoneyReal == 0) { FinalStep(payMod); } } }
public IActionResult OrderPay() { /* * 币种与平台支付均在该页面指定 * 现金支付的中转页,支付以其金额为准,支持传入订单号(多张订单以,切割)生成支付单或支付单号补完信息 */ M_Payment payMod = new M_Payment(); DataTable orderDT = new DataTable(); if (Money > 0)//直接传要充多少,用于充值余额等 { payMod = CreateChargePay(mu); return(RedirectToAction("OrderPay", new { Payno = payMod.PayNo })); } else if (!string.IsNullOrEmpty(PayNo)) { payMod = payBll.SelModelByPayNo(PayNo); OrderHelper.OrdersCheck(payMod); orderDT = orderBll.GetOrderbyOrderNo(payMod.PaymentNum); } else if (!string.IsNullOrEmpty(OrderNo)) { M_OrderList orderMod = orderBll.SelModelByOrderNo(OrderNo); OrderHelper.CheckIsCanPay(orderMod); orderDT = orderBll.GetOrderbyOrderNo(OrderNo); } else { return(WriteErr("未指定订单或支付单号")); } bool ShowVMoney = true; if (payMod.SysRemark == "用户充值 ") { ShowVMoney = false; } if (string.IsNullOrEmpty(SiteConfig.SiteOption.SiteID.Replace(",", ""))) { ShowVMoney = false; } if (orderDT != null && orderDT.Rows.Count > 0) { //如果是跳转回来的,检测其是否包含充值订单 foreach (DataRow dr in orderDT.Rows) { if (DataConverter.CLng(dr["Ordertype"]) == (int)M_OrderList.OrderEnum.Purse) { ShowVMoney = false; break; } } //总金额,如有支付单,以支付单的为准(运费暂以订单为准) GetTotal(orderDT, ref price, ref fare, ref allamount); if (!string.IsNullOrEmpty(PayNo)) { allamount = (double)payMod.MoneyPay; arrive = payMod.ArriveMoney; point = payMod.UsePoint; point_arrive = payMod.UsePointArrive; } ViewBag.allmount = allamount.ToString("F2"); ViewBag.price = price.ToString("F2"); ViewBag.fare = fare.ToString("F2"); ViewBag.arrive = arrive.ToString("F2"); ViewBag.point = point.ToString("F0"); ViewBag.point_arrive = point_arrive.ToString("F0"); if (string.IsNullOrEmpty(OrderNo) && Money > 0) { ViewBag.orderNo = "用户充值"; } else if (payMod.PaymentID > 0) { ViewBag.orderNo = payMod.PaymentNum.Trim(','); } else { ViewBag.orderNo = OrderNo; } } //如果已用优惠券|积分,抵扣了金额,则可直接支付 if (payMod.PaymentID > 0 && payMod.MoneyReal == 0) { FinalStep(payMod); } ViewBag.ShowVMoney = ShowVMoney; return(View(payMod)); }