public string PayNotice() { log4net.ILog log = log4net.LogManager.GetLogger(this.GetType());//获取一个日志记录器 try { ResponseBean responseBean = new ResponseBean(this.Request); var sign = GetSign(responseBean); if (responseBean.p4_status == "1" && sign.Equals(responseBean.p10_sign)) { string[] data = responseBean.p11_remark.Split('|'); log.Info(DateTime.Now.ToString() + ": pay info:uid>" + data[0] + " goodsid>" + data[1]); int uid = Convert.ToInt32(data[0]); int goodsid = Convert.ToInt32(data[1]); EAccount account = DBBase.Get <EAccount>(uid); EStore goods = DBBase.Get <EStore>(goodsid); int oldDiamon = account.Diamond; if (goods.Type == "Damion") { account.Diamond += Convert.ToInt32(goods.Name); } else if (goods.Type == "Vip") { account.Vip = Convert.ToInt32(goods.Name); account.VipBeginTime = DateTime.Now; } DBBase.Change(account); EBuyRecord record = new EBuyRecord() { BuyerID = account.ID, BuyTime = DateTime.Now, GoodsID = goodsid, Num = 1, NowDiamond = account.Diamond, NowGold = account.Gold, CostDiamond = account.Diamond - oldDiamon, CostGold = 0 }; DBBase.Create(record); log.Info(DateTime.Now.ToString() + ": pay success:uid>" + uid + " goodsid>" + goodsid);//写入一条新log //服务器操作 return("success"); } else { log.Info(DateTime.Now.ToString() + ": pay error: status>" + responseBean.p4_status);//写入一条新log return("error"); } } catch (Exception ex) { log.Error(DateTime.Now.ToString() + ": pay error: " + ex.Message + " " + ex.StackTrace);//写入一条新log return("error"); } }
private string GetSign(ResponseBean bean) { //商户密钥(由竣付通注册后分配) string compKey = "6A4EEA817F400C8960AC75A5B6D802D6"; if (bean.p7_paychannelnum == null) { string p7_paychannelnum = ""; string rawString = bean.p1_usercode + "&" + bean.p2_order + "&" + bean.p3_money + "&" + bean.p4_status + "&" + bean.p5_jtpayorder + "&" + bean.p6_paymethod + "&" + p7_paychannelnum + "&" + bean.p8_charset + "&" + bean.p9_signtype + "&" + compKey; return(FormsAuthentication.HashPasswordForStoringInConfigFile(rawString, "MD5")); } else { string rawString = bean.p1_usercode + "&" + bean.p2_order + "&" + bean.p3_money + "&" + bean.p4_status + "&" + bean.p5_jtpayorder + "&" + bean.p6_paymethod + "&" + bean.p7_paychannelnum + "&" + bean.p8_charset + "&" + bean.p9_signtype + "&" + compKey; return(FormsAuthentication.HashPasswordForStoringInConfigFile(rawString, "MD5")); } }