首页 > 调用微信扫码支付报“请求被中止: 未能创建 SSL/TLS 安全通道”错误。

调用微信扫码支付报“请求被中止: 未能创建 SSL/TLS 安全通道”错误。

private static VCodePayResponsEntity PostData(string url, string postData, out string result)

   

 {
            string text = string.Empty;
            result = "";
            VCodePayResponsEntity wei = new VCodePayResponsEntity();
            try
            {
                Uri requestUri = new Uri(url);
                HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri);
                Encoding uTF = Encoding.UTF8;
                byte[] bytes = uTF.GetBytes(postData);
                httpWebRequest.Method = "POST";
                httpWebRequest.ContentType = "text/xml";
                httpWebRequest.ContentLength = (long)postData.Length;
                using (StreamWriter streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                {
                    streamWriter.Write(postData);
                }
                using (HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse())
                {
                    using (Stream responseStream = httpWebResponse.GetResponseStream())
                    {
                        Encoding uTF2 = Encoding.UTF8;
                        StreamReader streamReader = new StreamReader(responseStream, uTF2);
                        text = streamReader.ReadToEnd();
                        XmlDocument xmlDocument = new XmlDocument();
                        try
                        {
                            xmlDocument.LoadXml(text);
                        }
                        catch (Exception ex)
                        {
                            text = string.Format("获取信息错误doc.load:{0}", ex.Message) + text;
                        }
                        try
                        {
                            if (xmlDocument == null)
                            {
                                result = text;
                                return null;
                            }
                            XmlNode xmlNode = xmlDocument.SelectSingleNode("xml/return_code");
                            if (xmlNode == null)
                            {
                                result = text;
                                return null;
                            }
                            if (!(xmlNode.InnerText == "SUCCESS"))
                            {
                                result = xmlNode.InnerText;
                                return null;
                            }
                            XmlNode xmlNode2 = xmlDocument.SelectSingleNode("xml/prepay_id");
                            if (xmlNode2 != null)
                            {
                                wei.prepay_id = xmlNode2.InnerText;

                            }
                            xmlNode2 = xmlDocument.SelectSingleNode("xml/appid");
                            if (xmlNode2 != null)
                            {
                                wei.appid = xmlNode2.InnerText;

                            }
                            xmlNode2 = xmlDocument.SelectSingleNode("xml/mch_id");
                            if (xmlNode2 != null)
                            {
                                wei.mch_id = xmlNode2.InnerText;

                            }
                            xmlNode2 = xmlDocument.SelectSingleNode("xml/device_info");
                            if (xmlNode2 != null)
                            {
                                wei.device_info = xmlNode2.InnerText;

                            }
                            xmlNode2 = xmlDocument.SelectSingleNode("xml/nonce_str");
                            if (xmlNode2 != null)
                            {
                                wei.Nonce_str = xmlNode2.InnerText;

                            }
                            xmlNode2 = xmlDocument.SelectSingleNode("xml/sign");
                            if (xmlNode2 != null)
                            {
                                wei.sign = xmlNode2.InnerText;

                            }
                            xmlNode2 = xmlDocument.SelectSingleNode("xml/trade_type");
                            if (xmlNode2 != null)
                            {
                                wei.trade_type = xmlNode2.InnerText;

                            }
                            xmlNode2 = xmlDocument.SelectSingleNode("xml/code_url");
                            if (xmlNode2 != null)
                            {
                                wei.code_url = xmlNode2.InnerText;

                            }
                            return wei;
                        }
                        catch (Exception ex)
                        {
                            text = string.Format("获取信息错误node.load:{0}", ex.Message) + text;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result = string.Format("获取信息错误post error:{0}", ex.Message) + text;

            }
            return null;
        } 

public static string RequestWeixin(VCodePayEntity wei)
        {
            Dictionary<string, string> dic = EntityToDic(wei);
            string sign = GetResultSign(dic,null);
            dic.Add("sign", sign);
            string reqtest = BuildXml(dic, false);
            string msg;

            VCodePayResponsEntity post = null;

            int loop = 0;

            do
            {
                post = PostData(prepay_id_Url, reqtest, out msg);

                if (post != null)
                {
                    break;
                }

                loop++;

                System.Threading.Thread.Sleep(500);

            } while (loop < 5);

            if (post == null)
            {
                return msg;
            }

            try
            {
                CreateQrcode(post);
                return post.sign + ".jpg";
            }
            catch (Exception)
            {

            }

            return "";
        }
        
        
        
【热门文章】
【热门文章】