Exemple #1
0
        public bool DeliverNotify(DeliverInfo deliver, string token)
        {
            PayDictionary payDictionary = new PayDictionary();

            payDictionary.Add("appid", this._payAccount.AppId);
            payDictionary.Add("openid", deliver.OpenId);
            payDictionary.Add("transid", deliver.TransId);
            payDictionary.Add("out_trade_no", deliver.OutTradeNo);
            payDictionary.Add("deliver_timestamp", Utils.GetTimeSeconds(deliver.TimeStamp));
            payDictionary.Add("deliver_status", deliver.Status ? 1 : 0);
            payDictionary.Add("deliver_msg", deliver.Message);
            deliver.AppId        = this._payAccount.AppId;
            deliver.AppSignature = SignHelper.SignPay(payDictionary, "");
            payDictionary.Add("app_signature", deliver.AppSignature);
            payDictionary.Add("sign_method", deliver.SignMethod);
            string data = JsonConvert.SerializeObject(payDictionary);
            string url  = $"{PayClient.Deliver_Notify_Url}?access_token={token}";
            string text = new WebUtils().DoPost(url, data);

            if (string.IsNullOrEmpty(text) || !text.Contains("ok"))
            {
                return(false);
            }
            return(true);
        }
Exemple #2
0
 public static string GetToken_Message(string appid, string secret)
 {
     string url = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret);
     string input = new WebUtils().DoGet(url, null);
     if (input.Contains("access_token"))
     {
         input = new JavaScriptSerializer().Deserialize<Token>(input).access_token;
     }
     return input;
 }
Exemple #3
0
        public static string GetUserverId(string accessToken, string userver)
        {
            string url = string.Format("http://open.meiqia.com/cgi-bin/get/userverid?access_token={0}&userver={1}", accessToken, userver);
            string msg = new WebUtils().DoGet(url, null);

            if (msg.Contains("id"))
            {
                return(Common.GetJsonValue(msg, "id"));
            }
            return(string.Empty);
        }
Exemple #4
0
        public static string GetTokenValue(string appid, string secret)
        {
            string url   = string.Format("http://open.meiqia.com/cgi-bin/token?grant_type=client_credential&&appid={0}&secret={1}", appid, secret);
            string input = new WebUtils().DoGet(url, null);

            if (input.Contains("access_token"))
            {
                return(new JavaScriptSerializer().Deserialize <Token>(input).access_token);
            }
            return(string.Empty);
        }
Exemple #5
0
        public static string GetToken_Message(string appid, string secret)
        {
            string url  = $"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={secret}";
            string text = new WebUtils().DoGet(url, null);

            if (text.Contains("access_token"))
            {
                text = new JavaScriptSerializer().Deserialize <Token>(text).access_token;
            }
            return(text);
        }
Exemple #6
0
        public static string GetToken_Message(string appid, string secret)
        {
            string url   = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret);
            string input = new WebUtils().DoGet(url, null);

            if (input.Contains("access_token"))
            {
                input = JsonConvert.DeserializeObject <Token>(input).access_token;
            }
            return(input);
        }
Exemple #7
0
        public bool UpdateFeedback(string feedbackid, string openid, string token)
        {
            string url  = $"{NotifyClient.Update_Feedback_Url}?access_token={token}&openid={openid}&feedbackid={feedbackid}";
            string text = new WebUtils().DoGet(url);

            if (string.IsNullOrEmpty(text) || !text.Contains("ok"))
            {
                return(false);
            }
            return(true);
        }
Exemple #8
0
        public bool UpdateFeedback(string feedbackid, string openid, string token)
        {
            string url  = string.Format("{0}?access_token={1}&openid={2}&feedbackid={3}", new object[] { Update_Feedback_Url, token, openid, feedbackid });
            string str2 = new WebUtils().DoGet(url);

            if (!(!string.IsNullOrEmpty(str2) && str2.Contains("ok")))
            {
                return(false);
            }
            return(true);
        }
Exemple #9
0
        /// <summary>
        /// 通过code换取网页授权access_token
        /// </summary>
        /// <param name="appid"> 公众号的唯一标识 </param>
        /// <param name="secret">公众号的appsecret </param>
        /// <param name="code">填写第一步获取的code参数 </param>
        /// <param name="grant_type">填写为authorization_code </param>
        /// <returns></returns>
        public static Token GetToken(string appid, string secret, string code, string grant_type = "authorization_code")
        {
            string url   = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type={3}", appid, secret, code, grant_type);
            string text  = new WebUtils().DoGet(url, null);
            Token  token = null;

            if (text.Contains("access_token"))
            {
                token = new JavaScriptSerializer().Deserialize <Token>(text);
            }
            return(token);
        }
Exemple #10
0
        public static string GetJsapiTicket_Message(string appid, string appsecret)
        {
            string url  = string.Format("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi", TokenApi.GetToken_Message(appid, appsecret));
            string text = new WebUtils().DoGet(url, null);

            ErrorLog.Write("获取了access_token:" + TokenApi.GetToken_Message(AppId, AppSecret));
            if (text.Contains("ticket"))
            {
                LATEST_JSAPITICKET          = new JavaScriptSerializer().Deserialize <Ticket>(text).ticket;
                LATEST_GET_JSAPITICKET_TIME = DateTime.Now;
            }
            return(LATEST_JSAPITICKET);
        }
Exemple #11
0
        public bool UpdateFeedback(string feedbackid, string openid, string token)
        {
            string url = string.Format("{0}?access_token={1}&openid={2}&feedbackid={3}", new object[]
            {
                NotifyClient.Update_Feedback_Url,
                token,
                openid,
                feedbackid
            });
            string text = new WebUtils().DoGet(url);

            return(!string.IsNullOrEmpty(text) && text.Contains("ok"));
        }
Exemple #12
0
        /// <summary>
        ///根据openid,access token获得用户信息
        /// </summary>
        /// <param name="accesstoken"></param>
        /// <param name="openId"></param>
        /// <returns></returns>
        public static Userinfo GetUserInfo(string accesstoken, string openId, string weixinAppId, string WeixinAppSecret)
        {
            //string url = string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", accesstoken, openId);
            string url  = string.Format("https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN", GetToken_Message(weixinAppId, WeixinAppSecret), openId);
            string text = new WebUtils().DoGet(url, null);
            // WriteErrorToText(text);
            Userinfo userinfo = null;

            if (text.Contains("nickname"))
            {
                userinfo = new JavaScriptSerializer().Deserialize <Userinfo>(text);
            }
            return(userinfo);
        }
Exemple #13
0
        public static bool GetHeadImageUrlByOpenID(string TOKEN, string OpenID, out string RetInfo, out string NickName, out string HeadImageUrl)
        {
            NickName     = "";
            HeadImageUrl = "";
            RetInfo      = "";
            bool result;

            if (string.IsNullOrEmpty(OpenID))
            {
                RetInfo = "{\"errcode\":40013,\"errmsg\":\"openId为空\"}";
                result  = false;
            }
            else
            {
                string url = string.Concat(new string[]
                {
                    "https://api.weixin.qq.com/cgi-bin/user/info?access_token=",
                    TOKEN,
                    "&openid=",
                    OpenID,
                    "&lang=zh_CN"
                });
                string text = new WebUtils().DoGet(url, null);
                if (text.Contains("errcode"))
                {
                    result = false;
                }
                else
                {
                    var type = new
                    {
                        subscribe  = "",
                        nickname   = "",
                        headimgurl = ""
                    };
                    string text2 = JsonConvert.SerializeObject(type);
                    type         = JsonConvert.DeserializeAnonymousType(text, type);
                    NickName     = type.nickname;
                    HeadImageUrl = type.headimgurl;
                    if (type.subscribe.Trim() != "1")
                    {
                        RetInfo = "此用户未关注当前公众号,无法拉取信息。";
                    }
                    result = (type.subscribe.Trim() == "1");
                }
            }
            return(result);
        }
Exemple #14
0
        public static string GetUserverId(string accessToken, string userver)
        {
            string url  = string.Format("http://open.meiqia.com/cgi-bin/get/userverid?access_token={0}&userver={1}", accessToken, userver);
            string text = new WebUtils().DoGet(url, null);
            string result;

            if (text.Contains("id"))
            {
                result = Common.GetJsonValue(text, "id");
            }
            else
            {
                result = string.Empty;
            }
            return(result);
        }
Exemple #15
0
        public bool DeliverNotify(DeliverInfo deliver, string token)
        {
            PayDictionary parameters = new PayDictionary();

            parameters.Add("appid", this._payAccount.AppId);
            parameters.Add("openid", deliver.OpenId);
            parameters.Add("transid", deliver.TransId);
            parameters.Add("out_trade_no", deliver.OutTradeNo);
            parameters.Add("deliver_timestamp", Utils.GetTimeSeconds(deliver.TimeStamp));
            parameters.Add("deliver_status", deliver.Status ? 1 : 0);
            parameters.Add("deliver_msg", deliver.Message);
            deliver.AppId        = this._payAccount.AppId;
            deliver.AppSignature = SignHelper.SignPay(parameters, "");
            parameters.Add("app_signature", deliver.AppSignature);
            parameters.Add("sign_method", deliver.SignMethod);
            string data = JsonConvert.SerializeObject(parameters);
            string url  = string.Format("{0}?access_token={1}", Deliver_Notify_Url, token);
            string str3 = new WebUtils().DoPost(url, data);

            return(!string.IsNullOrEmpty(str3) && str3.Contains("ok"));
        }
Exemple #16
0
        public static string CreateQrcodeTicket(string accessToken, int sceneId)
        {
            string json = string.Format("{\"expire_seconds\": 604800, \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": {0}}}}", sceneId);

            string url = string.Format("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}", accessToken);

            string responseText = new WebUtils().DoPost(url, json);

            string ticket = "";

            try
            {
                if (responseText.Contains("ticket"))
                {
                    ticket = new JavaScriptSerializer().Deserialize <QrcodeTicket>(responseText).ticket;
                }
            }
            catch
            {
            }

            return(ticket);
        }
Exemple #17
0
        public static string GetToken_Message(string appid, string secret)
        {
            if (LATEST_TOKEN != "")
            {
                TimeSpan span = DateTime.Now - LATEST_GET_TOKEN_TIME;

                if (span.TotalSeconds < 7000)    //7200
                {
                    return(LATEST_TOKEN);
                }
            }

            string url  = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret);
            string text = new WebUtils().DoGet(url, null);

            if (text.Contains("access_token"))
            {
                LATEST_TOKEN          = new JavaScriptSerializer().Deserialize <Token>(text).access_token;
                LATEST_GET_TOKEN_TIME = DateTime.Now;
            }

            return(LATEST_TOKEN);
        }
Exemple #18
0
 public bool DeliverNotify(DeliverInfo deliver, string token)
 {
     PayDictionary parameters = new PayDictionary();
     parameters.Add("appid", this._payAccount.AppId);
     parameters.Add("openid", deliver.OpenId);
     parameters.Add("transid", deliver.TransId);
     parameters.Add("out_trade_no", deliver.OutTradeNo);
     parameters.Add("deliver_timestamp", Utils.GetTimeSeconds(deliver.TimeStamp));
     parameters.Add("deliver_status", deliver.Status ? 1 : 0);
     parameters.Add("deliver_msg", deliver.Message);
     deliver.AppId = this._payAccount.AppId;
     deliver.AppSignature = SignHelper.SignPay(parameters, "");
     parameters.Add("app_signature", deliver.AppSignature);
     parameters.Add("sign_method", deliver.SignMethod);
     string data = JsonConvert.SerializeObject(parameters);
     string url = string.Format("{0}?access_token={1}", Deliver_Notify_Url, token);
     string str3 = new WebUtils().DoPost(url, data);
     if (!(!string.IsNullOrEmpty(str3) && str3.Contains("ok")))
     {
         return false;
     }
     return true;
 }
Exemple #19
0
 public bool UpdateFeedback(string feedbackid, string openid, string token)
 {
     string url = string.Format("{0}?access_token={1}&openid={2}&feedbackid={3}", new object[] { Update_Feedback_Url, token, openid, feedbackid });
     string str2 = new WebUtils().DoGet(url);
     if (!(!string.IsNullOrEmpty(str2) && str2.Contains("ok")))
     {
         return false;
     }
     return true;
 }