/// <summary> /// 申请退款 /// </summary> public string ApplyRefund() { Refund refund = new Refund(); refund.ApplyTime = DateTime.Now; refund.Member = Member; refund.Order = Order; refund.RefundSerialNo = new BLLFormatSerialNo().GetSerialNo(TourConfig.RefundFlag); DalRefund.Save(refund); string html= new BLLPayment().PayBack(refund); return html; }
private void UpdateOrder(Order order) { //如果订单状态是未付款,则修改状态 if (!order.IsPaid) { TourLog.LogPayment("notify更新订单号:" + order.Id+",状态为已付"); order.IsPaid = true; order.PayTime = DateTime.Now; bllOrder.SaveOrUpdateOrder(order); //更新payment日志 BLLPayment bllP = new BLLPayment(order); bllP.Received(Request.Url.Query); } else { } }
protected void Page_Load(object sender, EventArgs e) { BLL.BLLOrder bllOrder = new BLL.BLLOrder(); BLL.BLLPayment bllPayment; Model.Order order = new Model.Order(); int orderId = int.Parse(Request["out_trade_no"]); string tradeNo = Request["trade_no"]; if (orderId > 0) { order = bllOrder.GetOrderByOrderid(orderId); order.TradeNo = tradeNo; bllOrder.SaveOrUpdateOrder(order); // bllPayment = new BLL.BLLPayment(order); bllPayment.Received( Request.Url.Query); } else { BLL.ErrHandler.Redirect(BLL.ErrType.ParamIllegal); } SortedDictionary<string, string> sPara = GetRequestGet(); if (sPara.Count > 0)//判断是否有带返回参数 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.Verify(sPara, Request.QueryString["notify_id"], Request.QueryString["sign"]); if (verifyResult)//验证成功 { ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 string trade_no = Request.QueryString["trade_no"]; //支付宝交易号 string order_no = Request.QueryString["out_trade_no"]; //获取订单号 string total_fee = Request.QueryString["total_fee"]; //获取总金额 string subject = Request.QueryString["subject"]; //商品名称、订单名称 string body = Request.QueryString["body"]; //商品描述、订单备注、描述 string buyer_email = Request.QueryString["buyer_email"]; //买家支付宝账号 string trade_status = Request.QueryString["trade_status"]; //交易状态 if (Request.QueryString["trade_status"] == "TRADE_FINISHED" || Request.QueryString["trade_status"] == "TRADE_SUCCESS") { //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 order.IsPaid = true; order.PayTime = DateTime.Now; bllOrder.SaveOrUpdateOrder(order); Response.Redirect("/payment/paysuccess.aspx?orderid=" + orderId); } else { Response.Write("trade_status=" + Request.QueryString["trade_status"]); } //打印页面 Response.Write("验证成功<br />"); Response.Write("trade_no=" + trade_no); //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— ///////////////////////////////////////////////////////////////////////////////////////////////////////////// } else//验证失败 { Response.Write("验证失败"); } } else { Response.Write("无返回参数"); } }