专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C# 微信v3退款

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:37:57       共计:3634 浏览

1.退款需要退款证书。C#都是用p12的证书,双击证书导入,密码是mch_id(商户号)

2.调用微信退款接口进行退款操作


string  resp=string.Empty  
string cert = Server.MapPath("apiclient_cert.p12");
   string password = mch_id;(商户号)
    ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);

  //这两句特别注意

  // X509Certificate cer = new X509Certificate(cert, password);//线下发布需要添加的
     X509Certificate2 cer = new X509Certificate2(cert, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);//线上发        布需要添加

   HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(url);
        webrequest.ClientCertificates.Add(cer);
        webrequest.Method = "post";
        webrequest.ContentType = "application/x-www-form-urlencoded";
        webrequest.ContentLength = xml.Length;
        HttpWebResponse response = null;
   try
        {
            StreamWriter swRequestWriter = new StreamWriter(webrequest.GetRequestStream());
            swRequestWriter.Write(xml);

            if (swRequestWriter != null)
                swRequestWriter.Close();

            response = (HttpWebResponse)webrequest.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default))
            {
                resp = reader.ReadToEnd();
            }
        }
 catch (Exception exp)
        {
            throw exp;
        }
        finally
        {
            if (response != null)
                response.Close();
        }

分享几个退款时遇到的问题
1、退款提示:订单号非法
  原因:退款的订单号错误导致的
2、退款时提示:基础连接已关闭,或被意外关闭(验证证书的问题)
  原因: 首先要通过证书请求退款的接口,其次要把下面的这行语句
 // X509Certificate cer = new X509Certificate(cert, password);//线下发布需要添加的
 修改成这样的才可以
 X509Certificate2 cer = new X509Certificate2(cert, password, X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet);//线上发        布需要添加
3、 Miss Parameters  
  原因:传参数时,参数的名字和文档大小写不一致
4、每次退款,退款的订单号不能相同,否则无法退款

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C#微信开发之旅(十三):V2订单查询&退款(完结) | ·下一条:C# 微支付退款申请接口 V3.3.6

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有