/// <summary> /// 订单回写 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool OrderReturn(JuHeFuResponseModel model) { bool isOk = false; CustomerEntity userInfo = accountBll.GetUserById(ConvertHelper.ZParseInt32(model.userid, 0)); #region 操作充值、回写订单 //验证订单号、流水号 OrderPaymentEntity entity = buyOrderManager.GetOrderPaymentByTradeCode(model.tradeid); if (entity == null) { LogHelper.WriteInfo(typeof(PayBll), string.Format("PayCallBackRetunResult支付回调操作失败信息:订单不存在-----{0}", JsonHelper.ToJson(model))); //该订单不存在,记录日志 return(false); } if (entity.UserId.ToString().Trim() != model.userid.Trim() || entity.PayCode != model.channeltradeid) { LogHelper.WriteInfo(typeof(PayBll), string.Format("PayCallBackRetunResult支付回调操作失败信息:UserId、Tradeid跟订单信息不匹配----{0}", JsonHelper.ToJson(model))); //信息有误,记录日志 return(false); } if (model.success == "1") { //调用充值 if (entity.PayStatus == 1) { if (userInfo.SourceType == 10) {
/// <summary> /// 扫码支付回调 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool PayCallBackRetunResult(JuHeFuResponseModel model) { bool isOk = false; try { #region 验证参数 //验证参数有效性 if (model == null) { //参数有误,记录日志 LogHelper.WriteInfo(typeof(PayBll), string.Format("PayCallBackRetunResult支付回调操作失败信息:参数为null---{0}", model)); return(false); } if (string.IsNullOrWhiteSpace(model.merid) || string.IsNullOrWhiteSpace(model.merorderid) || string.IsNullOrWhiteSpace(model.tradeid) || string.IsNullOrWhiteSpace(model.success) || model.successmoney == 0 || string.IsNullOrWhiteSpace(model.userid) || string.IsNullOrWhiteSpace(model.sign) || string.IsNullOrWhiteSpace(model.md5)) { LogHelper.WriteInfo(typeof(PayBll), string.Format("PayCallBackRetunResult支付回调操作失败信息:参数不完整---{0}", JsonHelper.ToJson(model))); //参数有误,记录日志 return(false); } string parameterString = string.Format(@"version={0}&merid={1}&merorderid={2}&tradeid={3}&tradedate={4}&success={5}" + "&successmoney={6}&paychannel={7}&channeltradeid={8}" + "&cardid={9}&userid={10}&username={11}&extra={12}&attach={13}&internal={14}", model.version, model.merid, model.merorderid, model.tradeid, model.tradedate, model.success, model.successmoney, model.paychannel, model.channeltradeid, model.cardid, model.userid, model.username, model.extra, model.attach, model.Internal); //验证md5、签名信息 string md5 = MD5Hash.GetMD5String(parameterString); isOk = md5.Trim().ToUpper() == model.md5.Trim().ToUpper(); #endregion object objLock = new object(); lock (objLock) { if (!isOk) { LogHelper.WriteInfo(typeof(PayBll), string.Format("回调信息签名信息验证不通过!---------{0}", model)); return(false); } else { //订单回调 isOk = JHFOrderReturn(model); } } } catch (Exception ex) { LogHelper.WriteInfo(typeof(PayBll), string.Format("支付回调出错!-------实体:{0}错误信息:{1}", JsonHelper.ToJson(model), ex.Message)); return(false); } return(isOk); }