protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { webinfo = new TravelAgent.BLL.WebInfo().loadConfig(Server.MapPath(ConfigurationManager.AppSettings["WebInfoConfig"].ToString())); if (webinfo == null) { Response.Write("配置信息获取错误!"); Response.End(); } //获取当前用户的OpenId,如果可以通过系统获取用户Openid就不用调用该函数 this.GetUserOpenId(); LogUtil.WriteLog("数据0" + Request["o"]); LogUtil.WriteLog("数据total_fee" + Request["total_fee"]); LogUtil.WriteLog("数据subject" + Request["subject"]); //设置支付数据 PayModel model = new PayModel(); model.OrderSN = Request.QueryString["o"]; model.TotalFee = int.Parse(Request.QueryString["total_fee"]); model.Body = Request.QueryString["subject"]; model.Attach = ""; //不能有中午 model.OpenId = this.UserOpenId; //跳转到 WeiPay.aspx 页面,请设置函数中WeiPay.aspx的页面地址 this.Response.Redirect(model.ToString()); } }
//private static readonly TravelAgent.BLL.Links LinkBll = new TravelAgent.BLL.Links(); protected void Page_Init(object sender, EventArgs e) { if (webinfo == null) { webinfo = new TravelAgent.BLL.WebInfo().loadConfig(Server.MapPath(ConfigurationManager.AppSettings["WebInfoConfig"].ToString())); } }
/// <summary> /// 保存配置文件 /// </summary> /// <param name="mode"></param> /// <param name="configFilePath"></param> /// <returns></returns> public TravelAgent.Model.WebInfo saveConifg(TravelAgent.Model.WebInfo mode, string configFilePath) { lock (lockHelper) { SerializationHelper.Save(mode, configFilePath); //JGK.Dal.Providers.webSetProvider.SetInstance(mode); } return(mode); }
private readonly int textFontSize; //文字大小 public UpLoad() { webinfo = new TravelAgent.BLL.WebInfo().loadConfig(HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["WebInfoConfig"].ToString())); filePath = webinfo.WebFilePath; fileType = webinfo.WebFileType; fileSize = webinfo.WebFileSize; isWatermark = webinfo.IsWatermark; waterStatus = webinfo.WatermarkStatus; waterQuality = webinfo.ImgQuality; imgWaterPath = webinfo.ImgWaterPath; waterTransparency = webinfo.ImgWaterTransparency; textWater = webinfo.WaterText; textWaterFont = webinfo.WaterFont; textFontSize = webinfo.FontSize; }
protected void Page_Load(object sender, EventArgs e) { webinfo = new TravelAgent.BLL.WebInfo().loadConfig(Server.MapPath(ConfigurationManager.AppSettings["WebInfoConfig"].ToString())); if (webinfo == null) { Response.Write("配置信息获取错误!"); Response.End(); } //创建ResponseHandler实例 ResponseHandler resHandler = new ResponseHandler(Context); resHandler.setKey(webinfo.Key); //判断签名 try { string error = ""; if (resHandler.isWXsign(out error)) { #region 协议参数===================================== //--------------协议参数-------------------------------------------------------- //SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查 string return_code = resHandler.getParameter("return_code"); //返回信息,如非空,为错误原因签名失败参数格式校验错误 string return_msg = resHandler.getParameter("return_msg"); //微信分配的公众账号 ID string appid = resHandler.getParameter("appid"); //以下字段在 return_code 为 SUCCESS 的时候有返回-------------------------------- //微信支付分配的商户号 string mch_id = resHandler.getParameter("mch_id"); //微信支付分配的终端设备号 string device_info = resHandler.getParameter("device_info"); //微信分配的公众账号 ID string nonce_str = resHandler.getParameter("nonce_str"); //业务结果 SUCCESS/FAIL string result_code = resHandler.getParameter("result_code"); //错误代码 string err_code = resHandler.getParameter("err_code"); //结果信息描述 string err_code_des = resHandler.getParameter("err_code_des"); //以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回--------------- //-------------业务参数--------------------------------------------------------- //用户在商户 appid 下的唯一标识 string openid = resHandler.getParameter("openid"); //用户是否关注公众账号,Y-关注,N-未关注,仅在公众账号类型支付有效 string is_subscribe = resHandler.getParameter("is_subscribe"); //JSAPI、NATIVE、MICROPAY、APP string trade_type = resHandler.getParameter("trade_type"); //银行类型,采用字符串类型的银行标识 string bank_type = resHandler.getParameter("bank_type"); //订单总金额,单位为分 string total_fee = resHandler.getParameter("total_fee"); //货币类型,符合 ISO 4217 标准的三位字母代码,默认人民币:CNY string fee_type = resHandler.getParameter("fee_type"); //微信支付订单号 string transaction_id = resHandler.getParameter("transaction_id"); //商户系统的订单号,与请求一致。 string out_trade_no = resHandler.getParameter("out_trade_no"); //商家数据包,原样返回 string attach = resHandler.getParameter("attach"); //支 付 完 成 时 间 , 格 式 为yyyyMMddhhmmss,如 2009 年12 月27日 9点 10分 10 秒表示为 20091227091010。时区为 GMT+8 beijing。该时间取自微信支付服务器 string time_end = resHandler.getParameter("time_end"); #endregion //支付成功 if (!out_trade_no.Equals("") && return_code.Equals("SUCCESS") && result_code.Equals("SUCCESS")) { LogUtil.WriteLog("Notify 页面 支付成功,支付信息:商家订单号:" + out_trade_no + "、支付金额(分):" + total_fee + "、自定义参数:" + attach); /** * 这里输入用户逻辑操作,比如更新订单的支付状态 * * **/ string strsql = "update [order] set orderState=" + Convert.ToInt32(TravelAgent.Tool.EnumSummary.OrderState.已付款) + ",payType=" + Convert.ToInt32(TravelAgent.Tool.EnumSummary.PayType.微信支付) + " where ordercode='" + out_trade_no + "'"; TravelAgent.Tool.DbHelperSQL.ExecuteSql(strsql); LogUtil.WriteLog("============ 单次支付结束 ==============="); Response.Write("success"); return; } else { LogUtil.WriteLog("Notify 页面 支付失败,支付信息 total_fee= " + total_fee + "、err_code_des=" + err_code_des + "、result_code=" + result_code); } } else { LogUtil.WriteLog("Notify 页面 isWXsign= false ,错误信息:" + error); } } catch (Exception ee) { LogUtil.WriteLog("Notify 页面 发送异常错误:" + ee.Message); } Response.End(); }
/// <summary> /// 保存配置文件 /// </summary> /// <param name="mode"></param> /// <param name="configFilePath"></param> /// <returns></returns> public TravelAgent.Model.WebInfo saveConifg(TravelAgent.Model.WebInfo mode, string configFilePath) { return(dal.saveConifg(mode, configFilePath)); }
public mBasePage() { webinfo = new TravelAgent.BLL.WebInfo().loadConfig(Server.MapPath(ConfigurationManager.AppSettings["WebInfoConfig"].ToString())); }
protected void Page_Load(object sender, EventArgs e) { webinfo = new TravelAgent.BLL.WebInfo().loadConfig(Server.MapPath(ConfigurationManager.AppSettings["WebInfoConfig"].ToString())); if (webinfo == null) { Response.Write("配置信息获取错误!"); Response.End(); } this.BindData(); LogUtil.WriteLog("============ 单次支付开始 ==============="); LogUtil.WriteLog(string.Format("传递支付参数:OrderSN={0}、Body={1}、TotalFee={2}、Attach={3}、UserOpenId={4}", this.OrderSN, this.Body, this.TotalFee, this.Attach, this.UserOpenId)); #region 支付操作============================ #region 基本参数=========================== //时间戳 TimeStamp = TenpayUtil.getTimestamp(); //随机字符串 NonceStr = TenpayUtil.getNoncestr(); //创建支付应答对象 var packageReqHandler = new RequestHandler(Context); //初始化 packageReqHandler.init(); //设置package订单参数 具体参数列表请参考官方pdf文档,请勿随意设置 packageReqHandler.setParameter("body", this.Body); //商品信息 127字符 packageReqHandler.setParameter("appid", webinfo.AppID); packageReqHandler.setParameter("mch_id", webinfo.Mchid); packageReqHandler.setParameter("nonce_str", NonceStr.ToLower()); packageReqHandler.setParameter("notify_url", webinfo.WebDomain + "/mTravel/weipay/Notify.aspx"); packageReqHandler.setParameter("openid", this.UserOpenId); packageReqHandler.setParameter("out_trade_no", this.OrderSN); //商家订单号 packageReqHandler.setParameter("spbill_create_ip", Page.Request.UserHostAddress); //用户的公网ip,不是商户服务器IP packageReqHandler.setParameter("total_fee", (Convert.ToInt32(this.TotalFee) * 100).ToString()); //商品金额,以分为单位(money * 100).ToString() packageReqHandler.setParameter("trade_type", "JSAPI"); if (!string.IsNullOrEmpty(this.Attach)) { packageReqHandler.setParameter("attach", this.Attach);//自定义参数 127字符 } #endregion #region sign=============================== Sign = packageReqHandler.CreateMd5Sign("key", webinfo.Key); LogUtil.WriteLog("WeiPay 页面 sign:" + Sign); #endregion #region 获取package包====================== packageReqHandler.setParameter("sign", Sign); string data = packageReqHandler.parseXML(); LogUtil.WriteLog("WeiPay 页面 package(XML):" + data); string prepayXml = HttpUtil.Send(data, "https://api.mch.weixin.qq.com/pay/unifiedorder"); LogUtil.WriteLog("WeiPay 页面 package(Back_XML):" + prepayXml); //获取预支付ID var xdoc = new XmlDocument(); xdoc.LoadXml(prepayXml); XmlNode xn = xdoc.SelectSingleNode("xml"); XmlNodeList xnl = xn.ChildNodes; if (xnl.Count > 7) { PrepayId = xnl[7].InnerText; Package = string.Format("prepay_id={0}", PrepayId); LogUtil.WriteLog("WeiPay 页面 package:" + Package); } #endregion #region 设置支付参数 输出页面 该部分参数请勿随意修改 ============== var paySignReqHandler = new RequestHandler(Context); paySignReqHandler.setParameter("appId", webinfo.AppID); paySignReqHandler.setParameter("timeStamp", TimeStamp); paySignReqHandler.setParameter("nonceStr", NonceStr); paySignReqHandler.setParameter("package", Package); paySignReqHandler.setParameter("signType", "MD5"); PaySign = paySignReqHandler.CreateMd5Sign("key", webinfo.Key); LogUtil.WriteLog("WeiPay 页面 paySign:" + PaySign); #endregion #endregion }
public BasePage() { this.Load += new EventHandler(ManagePage_Load); webinfo = new TravelAgent.BLL.WebInfo().loadConfig(Server.MapPath(ConfigurationManager.AppSettings["WebInfoConfig"].ToString())); }