protected void Page_Load(object sender, EventArgs e) { //LogHelper.WriteLog(typeof(NativeNotifyPage), "可以运行1-1"); String xmlData = getPostStr();//获取请求数据 if (!string.IsNullOrWhiteSpace(xmlData)) { #region Step1.先创建回执XML start var dic = new Dictionary <string, string> { { "return_code", "SUCCESS" }, { "return_msg", "OK" } }; var sb = new StringBuilder(); sb.Append("<xml>"); foreach (var d in dic) { sb.Append("<" + d.Key + ">" + d.Value + "</" + d.Key + ">"); } sb.Append("</xml>"); #endregion /***将xml转换成实体类***/ WxPayNotifyData wxData = WeChatPayHelper.GetWxPayNotifyData(xmlData); #region step2.检查XML是否合法 if (WeChatPayHelper.CheckSign(xmlData, wxData.attch)) { // 创建回写订单的实体类 WxOrder order = new WxOrder(); // 取得PaymentCode长度 int len = 0; WeChatConfig wxc = WxMastDataHelper.GetWeChatConfig(wxData.attch); if (wxc != null && !string.IsNullOrWhiteSpace(wxc.paymentCode)) { len = wxc.paymentCode.Length; } order.appName = wxData.attch; order.out_trade_no = wxData.out_trade_no.Substring(len, wxData.out_trade_no.Length - len); order.transaction_id = wxData.transaction_id; order.cash_fee = wxData.cash_fee; order.fee_type = wxData.fee_type; order.bank_type = wxData.bank_type; order.time_end = wxData.time_end; order.result_code = wxData.result_code; order.return_code = wxData.return_code; // 执行回写 if (WxOrderHelper.UpdatePayOrder(order) > 0) { // 调用数据导入Exe this.DoExe(); // 回写成功时返回SUCCESS return_result = sb.ToString(); } } #endregion } Response.Write(return_result); Response.End(); }