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    try
18         {
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         finally
36         {
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、每次退款,退款的订单号不能相同,否则无法退款
  
时间: 2024-11-14 12:34:05

C# 微信v3退款的相关文章

iOS 微信V3.0支付小结

看到网上对于iOS 微信V3的支付总结太少了,好不容易找到一个相关的还是讲解安卓V3.在这就个人几天调研和使用做下总结. 网上 网友开源写的demo基本上都是 "千足金箍棒"的版本 里面都会有下面这样的参数. #define WXAppKey @"L8LrMqqeGRxST5reouB0K66CaYAWpqhAVsq7ggKkxHCOastWksvuX1uvmvQclxaHoYd3ElNBrNO2DHnnzgfVG9Qs473M3DTOZug5er46FhuGofumV8H2

java使用AES-256-ECB(PKCS7Padding)解密——微信支付退款通知接口指定解密方式

1.场景 在做微信支付退款通知接口时,微信对通知的内容做了加密,并且指定用 AES256 解密,官方指定的解密方式如下: 2.导包 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</art

微信支付退款

微信退款感觉比支付宝要容易一点 官网api:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1 直接上代码: public function refound(){ $ref= md5("appid=1233213&mch_id=1233213&nonce_str=2194kfhaafaf384&op_user_id=1461000002" . "&out_refund_n

微信api退款操作

状况:证书加载进去,本地调试退款成功,然而发不到iis上却是不成功. 分析:定然是iis配置问题. 问题一:证书加载不进去,出现“内部错误” 解决:在iis中找到对应的应用连接池,右键高级设置,找到“加载用户配置文件”改为true. 解决问题一之后,会出来问题二 问题二:出现基础连接被意外关闭. 解决: 1.开始-运行  mmc 2.文件-添加/删除管理单元 在可用的管理单元中选择 证书 添加到右侧 弹框选择计算机帐户 3.展开个人-证书 选择你导入的证书或从这里右键导入(微信api证书在选择的

PHP实现微信申请退款流程实例源码

https://www.jb51.net/article/136476.htm 目录 前期准备: 前面讲了怎么实现微信支付,详见博文:PHP实现微信支付(jsapi支付)流程  和ThinkPHP中实现微信支付(jsapi支付)流程.由于业务需求,还需要有微信退款,经过研究和摸索,也终于搞定了. 前期准备: 当然是搞定了微信支付,不然怎么退款,这次还是使用官方的demo.当然网上可能也有很多大神自己重写和封装了demo,或许更加好用简洁,但是我还是不提倡用,原因如下: (1)可能功能不全,或许他

java 微信申请退款的开发

一.接口链接:https://api.mch.weixin.qq.com/secapi/pay/refund 二.请求字段 三.注意事项 (1)需要证书: (2)证书来源: (3)证书获取 四.代码开发 /** * 微信退款 * @throws Exception */ public static String refundFunction(Map<String, Object> map) throws Exception { //这里的map主要有两个参数(商户号mchId和订单金额tota

微信V3支付接口生成Xml报错,求高手解答,谢谢

dictionary与XmlDocument相互转换 生成的Xml如下 <xml><appid><![CDATA[wxfe95d53c1f5b9616]]></appid><mch_id><![CDATA[10063875]]></mch_id><nonce_str><![CDATA[uGMVvOoddCNLR0CU]]></ nonce_str><body><![CD

微信支付退款接口

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); X509Certificate cer = new X509Certificate(cert, password,X509KeyStorageFlags.PersistKeySet|X509KeyStorageFlags.Exportable|X509Ke

微信v3 JSAPI最新接口错误 get_brand_wcpay_request:fail

WxPay.JsApiPay.php文件下 原始接口代码 /** * * 获取jsapi支付的参数 * @param array $UnifiedOrderResult 统一支付接口返回的数据 * @throws WxPayException * * @return json数据,可直接填入js函数作为参数 */ public function GetJsApiParameters($UnifiedOrderResult) { if(!array_key_exists("appid",