C# 开发微信公众号现金红包发送,解决IP地址非你在商户平台设置的可用IP地址和”未能创建 SSL/TLS 安全通道“ 问题
C# 開發微信公眾號現金紅包發送,解決"IP地址非你在商戶平臺設置的可用IP地址"和”未能創建 SSL/TLS 安全通道“ 問題
近期在做涉及一個微信公眾號微信發送紅包的項目,參考微信支付文檔,沒有什么特別的。需要注意的是:
1、微信發送紅包需要證書驗證,下載API證書放至程序指定目錄;
2、綁定IP,需要在 ”現金紅包-產品設置-調用IP地址“ 里面設置,一定要IP地址,且程序發送所在服務器提交頁面不能帶有端口號,否則提示: IP地址非你在商戶平臺設置的可用IP地址(目前我測試是這么個情況)。這里如果是存放在虛擬主機,也不要用域名解析后的地址,可能也會提示“IP地址非你在商戶平臺設置的可用IP地址”這個錯誤。建議是:建立一個網頁傳到虛擬主機,獲取主機的服務器IP地址即可。
3、讀取證書 這里如果使用的是framework4.0以下, 那么可能不會有tls11和tls12 需要強制轉換一下即可 。另外一定要用
X509Certificate2 cer = new X509Certificate2(cert, certPassword, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);
方式讀取,否則會提示 ”未能創建 SSL/TLS 安全通道“
string cert = certPath;ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);ServicePointManager.Expect100Continue = true;ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3| SecurityProtocolType.Tls| (SecurityProtocolType)0x300 //Tls11| (SecurityProtocolType)0xC00; //Tls12//X509Certificate2 cer = new X509Certificate2(cert, certPassword); //測試線下//這里很重要 如果提示 未建立SSL和TLS通道 證書必須用這個X509Certificate2 cer = new X509Certificate2(cert, certPassword, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);總結
以上是生活随笔為你收集整理的C# 开发微信公众号现金红包发送,解决IP地址非你在商户平台设置的可用IP地址和”未能创建 SSL/TLS 安全通道“ 问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue+echart图表数据切换
- 下一篇: PB有关日期函数