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); }