/// <summary> /// 刷还系统通知 /// </summary> public void Notice() { string Resp = Request.Form["resp"]; string Sign = Request.Form["sign"]; string SignStr = Resp; Resp = LokFuEncode.Base64Decode(Resp, "utf-8"); JObject json = new JObject(); try { json = (JObject)JsonConvert.DeserializeObject(Resp); } catch (Exception Ex) { Response.Write(Ex.ToString()); return; } if (json == null) { Response.Write("Json Null"); return; } string resultcode = json["resultcode"].ToString(); //交易结果码 string resultmsg = json["resultmsg"].ToString(); //交易结果信息 string queryid = json["queryid"].ToString(); //交易流水号 string txnamt = json["txnamt"].ToString(); //交易金额\ string merid = json["merid"].ToString(); //交易金额 string orderid = json["orderid"].ToString(); //交易金额 JobItem JobItem = this.Entity.JobItem.FirstOrDefault(o => o.RunNum == orderid); if (JobItem == null) { Response.Write("E1"); return; } if (JobItem.State != 2) { Response.Write("S1"); return; } if (JobItem.RunState != 0 && JobItem.RunState != 2) { Response.Write("S2"); return; } JobUserPay JobUserPay = Entity.JobUserPay.FirstOrDefault(n => n.PayWay == JobItem.PayWay && n.UId == JobItem.UId); if (JobUserPay == null) { Response.Write("E2"); return; } string MD5Str = SignStr + JobUserPay.MerKey; string sign = MD5Str.GetMD5(); //================================================ //这里记录日志 JobLog JobLog = new JobLog(); JobLog.PayWay = JobItem.PayWay; JobLog.ReqNo = JobItem.RunNum; JobLog.TNum = JobItem.TNum; JobLog.Trade = ""; JobLog.Amount = JobItem.RunMoney; JobLog.Way = "Notice"; JobLog.AddTime = DateTime.Now; JobLog.Data = Request.Form.ToString(); JobLog.State = 1; Entity.JobLog.AddObject(JobLog); Entity.SaveChanges(); //================================================ if (Sign != sign) { Response.Write("E2"); return; } if (JobUserPay.MerId != merid) { Response.Write("E1"); return; } if (resultcode == "0000") { JobItem = JobItem.PaySuccess(Entity); } if (resultcode == "1004") { JobItem = JobItem.PayFail(Entity); } Response.Write("0000"); }