C# 开发微信公众号现金红包发送,解决IP地址非你在商户平台设置的可用IP地址和”未能创建 SSL/TLS 安全通道“ 问题
C# 開發(fā)微信公眾號現(xiàn)金紅包發(fā)送,解決"IP地址非你在商戶平臺設(shè)置的可用IP地址"和”未能創(chuàng)建 SSL/TLS 安全通道“ 問題
近期在做涉及一個(gè)微信公眾號微信發(fā)送紅包的項(xiàng)目,參考微信支付文檔,沒有什么特別的。需要注意的是:
1、微信發(fā)送紅包需要證書驗(yàn)證,下載API證書放至程序指定目錄;
2、綁定IP,需要在 ”現(xiàn)金紅包-產(chǎn)品設(shè)置-調(diào)用IP地址“ 里面設(shè)置,一定要IP地址,且程序發(fā)送所在服務(wù)器提交頁面不能帶有端口號,否則提示: IP地址非你在商戶平臺設(shè)置的可用IP地址(目前我測試是這么個(gè)情況)。這里如果是存放在虛擬主機(jī),也不要用域名解析后的地址,可能也會提示“IP地址非你在商戶平臺設(shè)置的可用IP地址”這個(gè)錯(cuò)誤。建議是:建立一個(gè)網(wǎng)頁傳到虛擬主機(jī),獲取主機(jī)的服務(wù)器IP地址即可。
3、讀取證書 這里如果使用的是framework4.0以下, 那么可能不會有tls11和tls12 需要強(qiáng)制轉(zhuǎn)換一下即可 。另外一定要用
X509Certificate2 cer = new X509Certificate2(cert, certPassword, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);
方式讀取,否則會提示 ”未能創(chuàng)建 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通道 證書必須用這個(gè)X509Certificate2 cer = new X509Certificate2(cert, certPassword, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);總結(jié)
以上是生活随笔為你收集整理的C# 开发微信公众号现金红包发送,解决IP地址非你在商户平台设置的可用IP地址和”未能创建 SSL/TLS 安全通道“ 问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue+echart图表数据切换
- 下一篇: C#深度优先遍历实现全排列