首页 > 代码库 > C# 微信v3退款
C# 微信v3退款
1.退款需要退款证书。C#都是用p12的证书,双击证书导入,密码是mch_id(商户号)
2.调用微信退款接口进行退款操作
1 string resp=string.Empty 2 string cert = Server.MapPath("apiclient_cert.p12"); 3 string password = mch_id;(商户号) 4 ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); 5 6 //这两句特别注意 7 8 // X509Certificate cer = new X509Certificate(cert, password);//线下发布需要添加的 9 X509Certificate2 cer = new X509Certificate2(cert, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);//线上发 布需要添加10 11 HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(url);12 webrequest.ClientCertificates.Add(cer);13 webrequest.Method = "post";14 webrequest.ContentType = "application/x-www-form-urlencoded";15 webrequest.ContentLength = xml.Length;16 HttpWebResponse response = null;17 try18 {19 StreamWriter swRequestWriter = new StreamWriter(webrequest.GetRequestStream());20 swRequestWriter.Write(xml);21 22 if (swRequestWriter != null)23 swRequestWriter.Close();24 25 response = (HttpWebResponse)webrequest.GetResponse();26 using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default))27 {28 resp = reader.ReadToEnd();29 }30 }31 catch (Exception exp)32 {33 throw exp;34 }35 finally36 {37 if (response != null)38 response.Close();39 }
分享几个退款时遇到的问题
1、退款提示:订单号非法
原因:退款的订单号错误导致的
2、退款时提示:基础连接已关闭,或被意外关闭(验证证书的问题)
原因: 首先要通过证书请求退款的接口,其次要把下面的这行语句
// X509Certificate cer = new X509Certificate(cert, password);//线下发布需要添加的
修改成这样的才可以 X509Certificate2 cer = new X509Certificate2(cert, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);//线上发 布需要添加
3、 Miss Parameters
原因:传参数时,参数的名字和文档大小写不一致
4、每次退款,退款的订单号不能相同,否则无法退款
C# 微信v3退款
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。