using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections.Specialized; using System.Collections.Generic; using System.Globalization; using VodSDK; namespace Mtxfw.shop { /// /// 功能:服务器异步通知页面 /// 版本:3.3 /// 日期:2012-07-10 /// 说明: /// 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 /// 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。 /// /// ///////////////////页面功能说明/////////////////// /// 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。 /// 该页面不能在本机电脑测试,请到服务器上做测试。请确保外部可以访问该页面。 /// 该页面调试工具请使用写文本函数logResult。 /// 如果没有收到该页面返回的 success 信息,支付宝会在24小时内按一定的时间策略重发通知 /// public partial class alipay_notify_url : System.Web.UI.Page { Mtxfw.DAL.user_info daoUser = new Mtxfw.DAL.user_info(); Mtxfw.DAL.order_info daoorder = new Mtxfw.DAL.order_info(); Mtxfw.DAL.user_Results daoResults = new Mtxfw.DAL.user_Results(); DAL.user_Results_jl2 daojl2 = new DAL.user_Results_jl2(); Mtxfw.DAL.order_product_info daoorderproduct = new Mtxfw.DAL.order_product_info(); DAL.Article daoArt = new DAL.Article(); DAL.user_live daolive = new DAL.user_live(); DAL.user_proxy daoproxy = new DAL.user_proxy(); private Mtxfw.Utility.Config config = new Mtxfw.Utility.Config(""); Mtxfw.DAL.P_Product daoProduct = new Mtxfw.DAL.P_Product(); DAL.P_Guige daoGuige = new DAL.P_Guige(); DAL.user_jjfp daojjfp = new DAL.user_jjfp(); DAL.user_zzjf daozzjf = new DAL.user_zzjf(); DAL.user_zzjf_log daozzjflog = new DAL.user_zzjf_log(); DAL.business_info daobusiness = new DAL.business_info(); public int gtype = 0; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { string hostname = Request.Url.Host; bool flag = Aop.Api.Util.AlipaySignature.CertVerifyV1(GetRequestPost(), Server.MapPath("/App_Data/alipaygyzs.crt"), "UTF-8", "RSA2"); Mtxfw.Utility.Common.WriteHtml("/weixin/alipay_notify_url.txt", flag.ToString()); if (flag)//验证成功 { ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表 //商户订单号 string out_trade_no = Request.Form["out_trade_no"]; //支付宝交易号 string trade_no = Request.Form["trade_no"]; //交易状态 string trade_status = Request.Form["trade_status"]; Mtxfw.Utility.Common.WriteHtml("/weixin/alipay_notify_url0.txt", out_trade_no + "|" + trade_no + "|" + trade_status); if (trade_status == "TRADE_SUCCESS" || trade_status == "TRADE_FINISHED") { bool ifjs = true; if (Application["LogLock" + out_trade_no] != null) { ifjs = false; } if (ifjs) { Application["LogLock" + out_trade_no] = "lock"; string buyer_logon_id = ""; if (!String.IsNullOrEmpty(Request.Form["buyer_logon_id"])) { buyer_logon_id = Request.Form["buyer_logon_id"]; } //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 //注意: //该种交易状态只在两种情况下出现 //1、开通了普通即时到账,买家付款成功后。 //2、开通了高级即时到账,从该笔交易成功时间算起,过了签约时的可退款时限(如:三个月以内可退款、一年以内可退款等)后。 Mtxfw.Model.user_Results ReModel = daoResults.GetModel2(2, out_trade_no); if (ReModel != null) { DateTime dt = DateTime.Now; if (ReModel.Seef == 0) { ReModel.Seef = 1; daoResults.UpdateSeef(1, DateTime.Now, ReModel.Id); Mtxfw.Model.user_info umodel = daoUser.GetModel(ReModel.MemberId); if (umodel != null) { //增加买家余额 Model.user_Results_jl2 mjl2 = new Model.user_Results_jl2(); int zftype = Convert.ToInt32(ReModel.b17.ToString().Split('.')[0]); int type = Convert.ToInt32(ReModel.b18.ToString().Split('.')[0]); if (type == 3) { } else if (type == 2) { string[] aResultIdS = ReModel.OrderIds.Split(','); for (int i = 0; i < aResultIdS.Length; i++) { if (aResultIdS[i] != "") { Model.user_Results_jl2 jlmodel = daojl2.GetModel(Convert.ToInt64(aResultIdS[i])); if (jlmodel != null) { daojl2.UpdateSeef("seef", 1, "seeftime", dt, jlmodel.Id); Double money = Convert.ToDouble(jlmodel.Addmoney.ToString("f2"));//流量积分 string[] area = jlmodel.OrdersIDs.Split('|'); string province = area[0]; string city = (area.Length > 1 ? area[1] : ""); string county = (area.Length > 2 ? area[2] : ""); string address = jlmodel.BZContent; if (jlmodel.utype2 == 4) { daoUser.UpdateuLevel("uLevel28", Convert.ToInt32(jlmodel.Totalmoney.ToString().Split('.')[0]), umodel.Id); if (money > 0.00) { mjl2 = new Model.user_Results_jl2(); mjl2.MemberId = umodel.Id; mjl2.MemberId2 = 0; mjl2.Addmoney = money; mjl2.Cutmoney = 0; mjl2.Totalmoney = (umodel.umoney38 + money); mjl2.addtime = dt; mjl2.BZContent = "申请品牌展示"; mjl2.PayID = ""; mjl2.OrdersIDs = ""; mjl2.OrdersID = 0; mjl2.utype = 13; mjl2.utype2 = 0; mjl2.Seef = -1; mjl2.seeftime = dt; mjl2.gtype = gtype; daojl2.Add(mjl2); //减少买家余额 daoUser.UpdateMoney("umoney38", money, umodel.Id); umodel.umoney38 += money; } } Double money0 = Convert.ToDouble(jlmodel.Cutmoney.ToString("f2"));//贡献值 if (money0 > 0.00) { mjl2 = new Model.user_Results_jl2(); mjl2.MemberId = umodel.Id; mjl2.MemberId2 = 0; mjl2.Addmoney = money0; mjl2.Cutmoney = 0; mjl2.Totalmoney = (umodel.umoney31 + money0); mjl2.addtime = dt; mjl2.BZContent = "申请企业品牌展示赠送"; mjl2.PayID = ""; mjl2.OrdersIDs = ""; mjl2.OrdersID = 0; mjl2.utype = 3; mjl2.utype2 = 0; mjl2.Seef = -1; mjl2.seeftime = dt; mjl2.gtype = gtype; daojl2.Add(mjl2); mjl2 = new Model.user_Results_jl2(); daoUser.UpdateMoney("umoney31", money0, umodel.Id); } if (jlmodel.MinNumber == 1) { if (umodel.uLevel26 == 0) { daoUser.UpdateuLevel("uLevel26", 1, umodel.Id); } } string[] ASuperiorsIDS = (umodel.ContactIDS).Split(','); int uds = 1, uds0 = 1; for (int ak = ASuperiorsIDS.Length - 2; ak > 0; ak--) { if (ASuperiorsIDS[ak] != "") { // DataSet ds = daoUser.GetList1("ID,uLevel26", "gtype=" + gtype + " and UserState='正常' And IFStores=0 And uLevel17=0 And id=" + ASuperiorsIDS[ak]); if (ds.Tables[0].Rows.Count > 0) { int dID = Convert.ToInt32(ds.Tables[0].Rows[0]["ID"].ToString()); int YuLevel26 = Convert.ToInt32(ds.Tables[0].Rows[0]["uLevel26"].ToString()); if (uds == 1) { Double bfb = Convert.ToDouble(config.webMoney48); if (YuLevel26 == 1) { bfb = bfb = Convert.ToDouble(config.webMoney49); uds0 += 1; } Double umoney4 = Convert.ToDouble(Convert.ToDouble((money * bfb / 100).ToString("0.##")).ToString("f2")); if (umoney4 > 0.0000) { daoUser.UpdateMoney("umoney4", umoney4, dID); DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "分享奖励", gtype); } } if (YuLevel26 == 1) { if (uds0 == 1) { Double bfb = (Convert.ToDouble(config.webMoney49) - Convert.ToDouble(config.webMoney48)); Double umoney4 = Convert.ToDouble(Convert.ToDouble((money * bfb / 100).ToString("0.##")).ToString("f2")); if (umoney4 > 0.0000) { daoUser.UpdateMoney("umoney4", umoney4, dID); DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "VIP奖励", gtype); } } uds0 += 1; } uds += 1; } ds.Clear(); } } DataSet dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=2 And Agenprovince='" + province + "' And Agencity='" + city + "' And AgenCounty='" + county + "' And CHARINDEX(AAddress,'" + address + "')>0"); if (dds.Tables[0].Rows.Count > 0) { foreach (System.Data.DataRow drv in dds.Tables[0].Rows) { int dID = Convert.ToInt32(drv["MemberId"].ToString()); Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney62).ToString("f2")); Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2")); if (umoney4 > 0.00) { daoUser.UpdateMoney("umoney4", umoney4, dID); DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "乡镇代理奖励", gtype); } } } dds.Clear(); dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=3 And Agenprovince='" + province + "' And Agencity='" + city + "' And AgenCounty='" + county + "'"); if (dds.Tables[0].Rows.Count > 0) { foreach (System.Data.DataRow drv in dds.Tables[0].Rows) { int dID = Convert.ToInt32(drv["MemberId"].ToString()); Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney61).ToString("f2")); Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2")); if (umoney4 > 0.00) { daoUser.UpdateMoney("umoney4", umoney4, dID); DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "县代理奖励", gtype); } } } dds.Clear(); dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=4 And Agenprovince='" + province + "' And Agencity='" + city + "'"); if (dds.Tables[0].Rows.Count > 0) { foreach (System.Data.DataRow drv in dds.Tables[0].Rows) { int dID = Convert.ToInt32(drv["MemberId"].ToString()); Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney60).ToString("f2")); Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2")); if (umoney4 > 0.00) { daoUser.UpdateMoney("umoney4", umoney4, dID); DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "市代理奖励", gtype); } } } dds.Clear(); dds = daoproxy.GetList1("MemberId", "gtype=" + gtype + " and TType=1 And seef=1 And AgenLevel=5 And Agenprovince='" + province + "'"); if (dds.Tables[0].Rows.Count > 0) { foreach (System.Data.DataRow drv in dds.Tables[0].Rows) { int dID = Convert.ToInt32(drv["MemberId"].ToString()); Double bfb = Convert.ToDouble(Convert.ToDouble(config.webMoney58).ToString("f2")); Double umoney4 = Convert.ToDouble(((bfb / 100) * money).ToString("f2"));// if (umoney4 > 0.00) { daoUser.UpdateMoney("umoney4", umoney4, dID); DAL.MemberStatistics.Statistics(dt, dID, 0, jlmodel.Id, 1, 0, 1, "来源" + umodel.RealName + "省代理奖励", gtype); } } } dds.Clear(); } } } Model.User_CZ_log logmodel = new Model.User_CZ_log(); logmodel.MemberId = umodel.Id; logmodel.AddTime = dt; logmodel.IP = Mtxfw.Utility.Common.GetIP; logmodel.Body = "支付宝支付申请企业品牌展示成功"; logmodel.UType = 0; logmodel.gtype = gtype; new DAL.User_CZ_log().Add(logmodel); } else if (type == 1) { mjl2 = new Model.user_Results_jl2(); mjl2.MemberId = umodel.Id; mjl2.MemberId2 = 0; mjl2.Addmoney = ReModel.Totalmoney; mjl2.Cutmoney = 0; mjl2.Totalmoney = (umodel.umoney - umodel.umoney17 + umodel.umoney35 + ReModel.Totalmoney); mjl2.addtime = dt; mjl2.BZContent = "支付宝支付购买VIP套餐,余额充值成功"; mjl2.PayID = ""; mjl2.OrdersIDs = ""; mjl2.OrdersID = 0; mjl2.utype = 1; mjl2.utype2 = 0; mjl2.Seef = -1; mjl2.seeftime = dt; mjl2.gtype = gtype; new Mtxfw.DAL.user_Results_jl2().Add(mjl2); mjl2 = new Model.user_Results_jl2(); mjl2.MemberId = umodel.Id; mjl2.MemberId2 = 0; mjl2.Addmoney = -ReModel.Totalmoney; mjl2.Cutmoney = 0; mjl2.Totalmoney = (umodel.umoney - umodel.umoney17 + umodel.umoney35); mjl2.addtime = dt; mjl2.BZContent = "支付宝支付购买VIP套餐,余额扣款成功"; mjl2.PayID = ""; mjl2.OrdersIDs = ""; mjl2.OrdersID = 0; mjl2.utype = 1; mjl2.utype2 = 0; mjl2.Seef = -1; mjl2.seeftime = dt; mjl2.gtype = gtype; new Mtxfw.DAL.user_Results_jl2().Add(mjl2); Int64 ResultId = Convert.ToInt64(ReModel.OrderIds); Mtxfw.Model.user_Results ReModel0 = daoResults.GetModel(ResultId); if (ReModel0 != null) { daoResults.UpdateSeef(1, dt, ReModel0.Id); DateTime regtime1 = DateTime.Now.AddDays(ReModel0.b2); if (umodel.uLevel4 == 1) { regtime1 = umodel.RegTime1.AddDays(ReModel0.b2); } daoUser.UpdateuLevel("uLevel4", 1, umodel.Id); daoUser.UpdatePassword("regtime1", regtime1.ToString(), umodel.Id); daoUser.UpdateuLevel("uLevel20", 1, umodel.Id); } Model.User_CZ_log logmodel = new Model.User_CZ_log(); logmodel.MemberId = umodel.Id; logmodel.AddTime = dt; logmodel.IP = Mtxfw.Utility.Common.GetIP; logmodel.Body = "购买VIP套餐成功"; logmodel.UType = 0; logmodel.gtype = gtype; new DAL.User_CZ_log().Add(logmodel); } else { mjl2 = new Model.user_Results_jl2(); mjl2.MemberId = umodel.Id; mjl2.MemberId2 = 0; mjl2.Addmoney = ReModel.Totalmoney; mjl2.Cutmoney = 0; mjl2.Totalmoney = ((zftype == 1 ? umodel.umoney30 : (umodel.umoney - umodel.umoney17)) + ReModel.Totalmoney); mjl2.addtime = dt; mjl2.BZContent = "支付宝支付购买商品,余额充值成功"; mjl2.PayID = ""; mjl2.OrdersIDs = ""; mjl2.OrdersID = 0; mjl2.utype = (zftype == 1 ? 2 : 1); mjl2.utype2 = 0; mjl2.Seef = -1; mjl2.seeftime = dt; mjl2.gtype = gtype; new Mtxfw.DAL.user_Results_jl2().Add(mjl2); mjl2 = new Model.user_Results_jl2(); mjl2.MemberId = umodel.Id; mjl2.MemberId2 = 0; mjl2.Addmoney = -ReModel.Totalmoney; mjl2.Cutmoney = 0; mjl2.Totalmoney = (zftype == 1 ? umodel.umoney30 : (umodel.umoney - umodel.umoney17)); mjl2.addtime = dt; mjl2.BZContent = "支付宝支付购买商品,余额扣款成功"; mjl2.PayID = ""; mjl2.OrdersIDs = ""; mjl2.OrdersID = 0; mjl2.utype = (zftype == 1 ? 2 : 1); mjl2.utype2 = 0; mjl2.Seef = -1; mjl2.seeftime = dt; mjl2.gtype = gtype; new Mtxfw.DAL.user_Results_jl2().Add(mjl2); int liveid = 0, poid = 0, pcount = 0, ypcount = 0, P_UserID = 0; string OID = "", pncname = (umodel.NCName == "" ? umodel.RealName : umodel.NCName); if (ReModel.OrderIds != "") { Double ZSubTotal = 0.00, ZSubTotal0 = 0.00, ZSubTotal1 = 0.00, ZSubTotal2 = 0.00, ZSubTotal3 = 0.00, ZSubTotal4 = 0.00, ZSubTotal5 = 0.00, ZSubTotal6 = 0.00, zyunfei = 0.00, xjZSubTotal = 0.00, JFZSubTotal = 0.00, PayZSubTotal = ReModel.b0; int utype = -1, utype0 = 0, Totalnum = 0, ptype = 0, peitype = 0; string province = "", city = "", county = ""; string[] AOrderIDs = ReModel.OrderIds.Split(','); for (int i = 0; i < AOrderIDs.Length; i++) { Mtxfw.Model.order_info OrderModel = daoorder.GetModel(int.Parse(AOrderIDs[i])); if (OrderModel != null) { if (OrderModel.O_Payed == "" || OrderModel.O_Payed == "0") { OID = OrderModel.orderid; zyunfei += OrderModel.Totalprice1; P_UserID = OrderModel.MemberId; ZSubTotal += OrderModel.Totalprice; JFZSubTotal += OrderModel.JFTotalprice; ZSubTotal0 += OrderModel.Totalprice0; ZSubTotal1 += OrderModel.Totalprice2; ZSubTotal2 += OrderModel.Totalprice3; ZSubTotal3 += OrderModel.Totalprice4; ZSubTotal4 += OrderModel.Totalprice5; ZSubTotal5 += OrderModel.Totalprice6; ZSubTotal6 += OrderModel.Totalprice7; if (OrderModel.ttype == 4) { liveid = OrderModel.pid; } Totalnum += OrderModel.Totalnum; if (OrderModel.ttype == 6 && OrderModel.ptype == 1) { poid = OrderModel.poid; pcount = OrderModel.pcount; ypcount = OrderModel.ypcount; } if (utype == -1) { utype = OrderModel.ttype; utype0 = OrderModel.hasRead; ptype = OrderModel.ptype; peitype = OrderModel.peitype; province = OrderModel.Province; city = OrderModel.City; county = OrderModel.County; } } } } ZSubTotal = Convert.ToDouble(ZSubTotal.ToString("f2")); JFZSubTotal = Convert.ToDouble(JFZSubTotal.ToString("f2")); ZSubTotal0 = Convert.ToDouble(ZSubTotal0.ToString("f2")); ZSubTotal1 = Convert.ToDouble(ZSubTotal1.ToString("f2")); ZSubTotal2 = Convert.ToDouble(ZSubTotal2.ToString("f2")); ZSubTotal3 = Convert.ToDouble(ZSubTotal3.ToString("f2")); zyunfei = Convert.ToDouble(zyunfei.ToString("f2")); xjZSubTotal = (ZSubTotal - PayZSubTotal); xjZSubTotal = Convert.ToDouble(xjZSubTotal.ToString("f2")); PayZSubTotal = Convert.ToDouble(PayZSubTotal.ToString("f2")); if (utype == 0) { if (JFZSubTotal > 0.00) { mjl2 = new Model.user_Results_jl2(); mjl2.MemberId = umodel.Id; mjl2.MemberId2 = 0; mjl2.Addmoney = -JFZSubTotal; mjl2.Cutmoney = 0; mjl2.Totalmoney = (umodel.umoney31 - JFZSubTotal); mjl2.addtime = dt; mjl2.BZContent = "购买商品"; mjl2.PayID = ""; mjl2.OrdersIDs = ""; mjl2.OrdersID = 0; mjl2.utype = 4; mjl2.utype2 = 0; mjl2.Seef = -1; mjl2.seeftime = dt; mjl2.gtype = gtype; daojl2.Add(mjl2); //减少买家余额 daoUser.UpdateMoney("umoney31", -JFZSubTotal, umodel.Id); } } string strResult = ""; int OrderId = 0, PId = 0; int yyq = 0;//Convert.ToInt32(config.webMoney4); for (int i = 0; i < AOrderIDs.Length; i++) { Mtxfw.Model.order_info OrderModel = daoorder.GetModel(int.Parse(AOrderIDs[i])); if (OrderModel != null) { OrderId = OrderModel.Id; PId = OrderModel.pid; if (OrderModel.O_Payed == "" || OrderModel.O_Payed == "0") { Double money = Convert.ToDouble((OrderModel.Totalprice-OrderModel.Totalprice1).ToString("f2"));//结算金额 if (utype == 0) { money = Convert.ToDouble((money - OrderModel.JFTotalprice).ToString("f2"));//结算金额 } Double money0 = Convert.ToDouble(OrderModel.Totalprice0.ToString("f2"));//首单推荐奖励 Double money1 = Convert.ToDouble(OrderModel.Totalprice2.ToString("f2"));//复购推荐奖励 Double money2 = Convert.ToDouble(OrderModel.Totalprice3.ToString("f2"));//赠送广告券 Double money3 = Convert.ToDouble(OrderModel.Totalprice4.ToString("f2"));//赠送补贴券 Double money4 = Convert.ToDouble(OrderModel.Totalprice5.ToString("f2"));// Double money5 = Convert.ToDouble(OrderModel.Totalprice6.ToString("f2"));// Double money6 = Convert.ToDouble(OrderModel.Totalprice7.ToString("f2"));// Double money7 = Convert.ToDouble(OrderModel.Totalprice8.ToString("f2"));// Double money8 = Convert.ToDouble(OrderModel.Totalprice9.ToString("f2"));// if (utype == 0) { } else if (utype == 2) { if (umodel.uLevel14 == 1) { money0 = money1; } DAL.MemberStatistics.UpdteYJ(config, umodel, money, money0, money2, money3, gtype, dt, OrderModel.ttype, OrderModel.ptype, peitype, OrderModel.orderid, OrderModel.Id, OrderModel.Province, OrderModel.City, OrderModel.County, OrderModel.Tradingarea); } daoorder.UpdateqyState(0, "1", dt, OrderModel.Id); if (peitype == 1) { string orderhxm = dt.ToString("yyMMddHHmmss", DateTimeFormatInfo.InvariantInfo) + OrderModel.Id; daoorder.Updateorderhxm(orderhxm, OrderModel.Id); //daoorder.UpdateqyState(0, "2", dt, OrderModel.Id); //daoorder.Updateyundanhao("", "auto", "", OrderModel.Id); } daoorder.Updatetranid(trade_no, out_trade_no, OrderModel.Id); } } } } Model.User_CZ_log logmodel = new Model.User_CZ_log(); logmodel.MemberId = umodel.Id; logmodel.AddTime = dt; logmodel.IP = Mtxfw.Utility.Common.GetIP; logmodel.Body = "支付宝购买商品成功"; logmodel.UType = 0; logmodel.gtype = gtype; new DAL.User_CZ_log().Add(logmodel); } } } } } } Response.Write("success"); //请不要修改或删除 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// } else//验证失败 { Response.Write("fail"); } } catch (Exception err) { Mtxfw.Utility.Common.WriteHtml("/weixin/payerr.txt", err.ToString()); } } } /// /// 获取支付宝POST过来通知消息,并以“参数名=参数值”的形式组成数组 /// /// request回来的信息组成的数组 public IDictionary GetRequestPost() { int i = 0; IDictionary sArray = new Dictionary(); NameValueCollection coll; //Load Form variables into NameValueCollection variable. coll = Request.Form; // Get names of all forms into a string array. String[] requestItem = coll.AllKeys; for (i = 0; i < requestItem.Length; i++) { sArray.Add(requestItem[i], Request.Form[requestItem[i]]); } return sArray; } //切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。 //bool RSACheckV1(IDictionary parameters, string alipaypublicKey, string charset, string signType, bool keyFromFile) } }