protected void Page_Load(object sender, EventArgs e) { ZLLog.L(ZLEnum.Log.pay, "进入宝付支付页"); string MemberID = Request.Params["MemberID"]; //商户号 string TerminalID = Request.Params["TerminalID"]; //商户终端号 string TransID = Request.Params["TransID"]; //商户流水号 string Result = Request.Params["Result"]; //支付结果(1:成功,0:失败) string ResultDesc = Request.Params["ResultDesc"]; //支付结果描述 string FactMoney = Request.Params["FactMoney"]; //实际成交金额 string AdditionalInfo = Request.Params["AdditionalInfo"]; //订单附加消息 string SuccTime = Request.Params["SuccTime"]; //交易成功时间 string Md5Sign = Request.Params["Md5Sign"].ToLower(); //md5签名 M_Payment payMod = payBll.SelModelByPayNo(TransID); M_PayPlat platMod = new M_PayPlat(); platMod = platBll.SelReturnModel(payMod.PayPlatID); if (platMod.PayClass != (int)M_PayPlat.Plat.BaoFo) { function.WriteErrMsg("回调页面错误"); } String mark = "~|~";//分隔符 string _WaitSign = "MemberID=" + MemberID + mark + "TerminalID=" + TerminalID + mark + "TransID=" + TransID + mark + "Result=" + Result + mark + "ResultDesc=" + ResultDesc + mark + "FactMoney=" + FactMoney + mark + "AdditionalInfo=" + AdditionalInfo + mark + "SuccTime=" + SuccTime + mark + "Md5Sign=" + platMod.MD5Key; if (Md5Sign.ToLower() == StringHelper.MD5(_WaitSign).ToLower()) { try { M_Payment pinfo = payBll.SelModelByPayNo(TransID); if (pinfo.Status != (int)M_Payment.PayStatus.NoPay) { return; } pinfo.Status = (int)M_Payment.PayStatus.HasPayed; pinfo.PlatformInfo = "支付宝在线付款"; //平台反馈信息 pinfo.SuccessTime = DateTime.Now; //交易成功时间 pinfo.CStatus = true; //处理状态 pinfo.MoneyTrue = (Convert.ToDecimal(FactMoney) / 100); //其以分为单位 payBll.Update(pinfo); DataTable orderDT = orderBll.GetOrderbyOrderNo(pinfo.PaymentNum); foreach (DataRow dr in orderDT.Rows) { M_Order_PayLog paylogMod = new M_Order_PayLog(); M_OrderList orderMod = orderBll.SelModelByOrderNo(dr["OrderNo"].ToString()); OrderHelper.FinalStep(pinfo, orderMod, paylogMod); orderCom.SendMessage(orderMod, paylogMod, "payed"); //orderCom.SaveSnapShot(orderMod); } Response.Write("OK"); ZLLog.L(ZLEnum.Log.pay, "宝付平台支付成功!支付单:" + TransID); } catch (Exception ex) { ZLLog.L(ZLEnum.Log.pay, new M_Log() { Action = "支付回调报错", Message = "平台:宝付,支付单:" + TransID + ",原因:" + ex.Message }); } } else { ZLLog.L(ZLEnum.Log.pay, new M_Log() { Action = "支付验证失败", Message = "平台:宝付,支付单:" + TransID }); Response.Write("Md5CheckFail"); } }