/// <summary> /// 微信支付通知 /// </summary> /// <returns></returns> public ActionResult PayNotify() { string successXml = "<xml><return_code><![CDATA[SUCCESS]]></return_code></xml>"; string failXml = "<xml><return_code><![CDATA[FAIL]]></return_code></xml>"; try { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Request.InputStream); //全部参数 SortedDictionary <string, string> parametersAll = new SortedDictionary <string, string>(); foreach (XmlElement item in xmlDoc.DocumentElement.ChildNodes) { string key = item.Name; string value = item.InnerText; if ((!string.IsNullOrEmpty(key)) && (!string.IsNullOrEmpty(value))) { parametersAll.Add(key, value); } } xmlDoc.Save(string.Format("E:\\WXPay\\{0}_Notify.xml", parametersAll["out_trade_no"]));//写入日志 if (MicroMessenger.CommonUtil.VerifySign(parametersAll, BLLConfig.Get("wx_mchsecret"))) { string orderNo = parametersAll["out_trade_no"].ToString(); if (orderNo.StartsWith("T")) { if (BLLNewsOrder.WXPaySuccess(orderNo, parametersAll["transaction_id"])) { return(Content(successXml)); } } else if (BLLNews.WXPaySuccess(orderNo, parametersAll["transaction_id"])) { return(Content(successXml)); } } } catch (Exception ex) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter(@"E:\WXPay\Error.txt", true, Encoding.GetEncoding("UTF-8"))) { sw.WriteLine(ex.ToString()); } } return(Content(failXml)); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!filterContext.HttpContext.Request.IsAuthenticated) { ht_user user = BLLUser.GetUserById(1); BLLAuthentication.LoginAuthenticationTicket(user); return; string currentUrl = filterContext.HttpContext.Request.Url.PathAndQuery.ToString(); //当前地址和条件 string callBackUrl = filterContext.HttpContext.Request.Url.Scheme + "://" + filterContext.HttpContext.Request.Url.Authority + "/WX/OAuthCallback"; //当前绝对地址 var oauthUrl = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state={3}#wechat_redirect", BLLConfig.Get("wx_appid"), callBackUrl, "snsapi_userinfo", HttpUtility.UrlEncode(currentUrl) ); //访问授权链接 filterContext.HttpContext.Response.Redirect(oauthUrl); } }
/// <summary> /// 获取验证码 /// </summary> /// <returns></returns> public ActionResult GetCode(string mobile) { if (!MyRegex.IsPhone(mobile)) { return(JsonResult(APIErrCode.PhoneFormatError, "手机格式错误")); } AuthenticationUser authenticationUser = BLLAuthentication.GetAuthenticationUser(); string code = HT.Utility.Utils.Number(6); return(JsonResult(APIErrCode.Success, "获取验证码成功", code)); string sms_expire = BLLConfig.Get("sms_expire"); int expire = Convert.ToInt32(sms_expire); string msg = ""; if (BLLSendSms.SendMsg(mobile, code, "mobile", expire, out msg)) { new XCache().Add("Code" + authenticationUser.openid, code, expire);//写入缓存 return(JsonResult(APIErrCode.Success, "获取验证码成功", code)); } return(JsonResult(APIErrCode.OperateFail, msg)); }