/// <summary> /// 生成二维码 /// </summary> /// <param name="code"></param> /// <returns></returns> public JsonResult MadeCode(string openid, string city) { string qrcode = string.Empty, sign = string.Empty, first = string.Empty, TimeStamp = string.Empty; var bus = new Bus(this.DataSource); bool isSign = bus.isSign(openid, WxPayConfig.APPID(city), city); var wxpay = new WxPayApi(); var list = new List <string>(); string citycode = WxPayConfig.getCityCode(city);//"YQ0001"; if (isSign) { //var user = bus.GetEntrustinfo(openid, WxPayConfig.APPID); qrcode = "gowechat://" + openid + "#" + WxPayConfig.APPID(city) + "#" + citycode + "#" + WxPayApi.GenerateTimeStamp(1); sign = bus.toSign(qrcode); first = qrcode + "#" + sign; int offlinelimits = Convert.ToInt16(ConfigurationManager.AppSettings["offlinelimits"]); for (int i = 1; i < offlinelimits + 1; i++) { TimeStamp = WxPayApi.GenerateTimeStamp(i + 1); qrcode = "gowechat://" + openid + "#" + WxPayConfig.APPID(city) + "#" + citycode + "#" + TimeStamp; sign = bus.toSign(qrcode); list.Add(citycode + "#" + TimeStamp + "#" + sign);//2017-8-17作了调整 } } return(Json(new { mxqrcode = first, items = list, openid = openid, appid = WxPayConfig.APPID(city) }, JsonRequestBehavior.AllowGet)); }
public exterData Sign(string openid, string nickname, string UserHostAddress, string city) { city = (city == null) ? "" : city; var Entrustinfo = this.GetEntrustinfo(openid, WxPayConfig.APPID(city), WxPayConfig.getMCHID(city)); var wxuser = this.GetUserInfo(openid, WxPayConfig.APPID(city)); var wxpay = new WxPayApi(); var exdata = new exterData(); exdata.appid = WxPayConfig.APPID(city); exdata.mch_id = WxPayConfig.getMCHID(city); exdata.contract_code = WxPayConfig.getCityCode(city) + Convert.ToString(long.Parse("10000") + Entrustinfo.Id) + DateTime.Now.ToString("ssfff"); exdata.request_serial = Entrustinfo.Id.ToString(); string display_account = string.Empty; if (!string.IsNullOrEmpty(wxuser.Mobile) && wxuser.Mobile.Length == 11) { display_account = wxuser.Mobile.Substring(0, 3) + "****" + wxuser.Mobile.Substring(7, 4); } else { display_account = nickname; } exdata.contract_display_account = display_account; switch (city) { case "福州市": exdata.notify_url = "https://www.cmeeol.com/wechat/FZReceiveSign"; break; case "杭州市": exdata.notify_url = "https://wx.hzgolong.com/wechat/HZReceiveSign"; break; case "杭州市2": exdata.notify_url = "https://wx.hzgolong.com/wechat/wccReceiveSign"; break; default: exdata.notify_url = "https://wx.hzgolong.com/wechat/ReceiveSign"; break; } //exdata.notify_url = HttpUtility.UrlEncode(exdata.notify_url); exdata.plan_id = WxPayConfig.getPlanID(city); exdata.openid = openid; exdata.timestamp = WxPayApi.GenerateTimeStamp(); exdata.clientip = UserHostAddress; exdata.deviceid = ""; exdata.mobile = ""; exdata.email = ""; exdata.qq = ""; exdata.creid = ""; exdata.outerid = ""; WxPayData inputObj = new WxPayData(city); inputObj.SetValue("appid", WxPayConfig.APPID(city)); inputObj.SetValue("contract_code", exdata.contract_code); inputObj.SetValue("contract_display_account", exdata.contract_display_account); inputObj.SetValue("mch_id", exdata.mch_id); inputObj.SetValue("notify_url", exdata.notify_url); inputObj.SetValue("plan_id", exdata.plan_id); inputObj.SetValue("request_serial", exdata.request_serial); inputObj.SetValue("timestamp", exdata.timestamp); inputObj.SetValue("clientip", exdata.clientip); inputObj.SetValue("deviceid", ""); inputObj.SetValue("mobile", ""); inputObj.SetValue("email", ""); inputObj.SetValue("qq", ""); inputObj.SetValue("openid", openid); inputObj.SetValue("creid", ""); inputObj.SetValue("outerid", ""); if (wxuser.Mobile == "13588861726") { Log.Write("luo sign inputObj json:", inputObj.ToJson()); } exdata.sign = inputObj.MakeSign(); return(exdata); }