C# 微信v3退款
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# 微信v3退款的更多相关文章
- Core3.1 微信v3 JSAPI支付 退款
1.前言 上一篇写了<Core3.1 微信v3 JSAPI支付>,这个属于v3的接口规则,现在研究了下退款的接口我写的时候它属于v2接口规则文档.但凡微信支付文档里面写清楚点我也不会在这里 ...
- 微信小程序—微信自动退款
微信小程序—微信自动退款 一.业务背景 微信自动退款串接基于酷客多小程序商城系统,为方便财务人员进行订单退款而开发,将酷客多小程序系统财务退款流程和微信退款系统打通.实现一个系统管理运营. 二.业务流 ...
- 微信支付退款(PHP后端)
应用场景 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上. 微信 ...
- 微信jsapi退款操作
引自网络“ 前期准备:当然是搞定了微信支付,不然怎么退款,这次还是使用官方的demo.当然网上可能也有很多大神自己重写和封装了demo,或许更加好用简洁,但是我还是不提倡用,原因如下:(1)可能功能不 ...
- 微信小程序-微信自动退款(Java后台)
微信小程序-微信自动退款 1.首先分享 微信自动退款接口: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4 微信付款 代码案例 ...
- java使用AES-256-ECB(PKCS7Padding)解密——微信支付退款通知接口指定解密方式
1.场景 在做微信支付退款通知接口时,微信对通知的内容做了加密,并且指定用 AES256 解密,官方指定的解密方式如下: 2.导包 <!-- https://mvnrepository.com/ ...
- Core3.1 微信v3 JSAPI支付
1.前言 "小魏呀,这个微信支付还要多久?","快了快了老板,就等着最后一步了...","搞快点哈,就等着上线呢","...... ...
- 微信支付 - V3退款
退款问题: 1.证书加载不进去,出现"内部错误" 解决:在iis中找到对应的应用连接池,右键高级设置,找到"加载用户配置文件"改为true. 2.需 ...
- 微信api退款操作
状况:证书加载进去,本地调试退款成功,然而发不到iis上却是不成功. 分析:定然是iis配置问题. 问题一:证书加载不进去,出现“内部错误” 解决:在iis中找到对应的应用连接池,右键高级设置,找到“ ...
随机推荐
- linux系统PXE+Kickstart自动安装系统
一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...
- [ASP.NET]书店后台开发-模板页
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="admin.master.c ...
- mac下开发IOS代码管理
1.安装和配置subversion服务器 在windows 服务器上安装VisualSVN-Server,下载地址http://www.visualsvn.com/server/download/.采 ...
- json与对象转化
/// <summary> /// 把JSON字符串还原为对象 /// </summary> /// <typeparam name="T">对 ...
- Rethrowing exceptions and preserving the full call stack trace
refer:http://weblogs.asp.net/fmarguerie/archive/2008/01/02/rethrowing-exceptions-and-preserving-the- ...
- Mysql Communication link failure :1153 Got a packet bigger than 'max_allowed_packet' bytes
出现这种情况: 临时解决方法是: 登录mysql: 执行: set global max_allowed_packet=1000000000; set global net_buffer_ ...
- sql 多行合一行
sql多行合并成一行 sql server SELECT [activityId], --STUFF( (SELECT ',' + Cast(A.phone AS varchar) FROM aaa ...
- inline-内联函数的优点以及与宏定义的区别
inline函数的优点: C++ 语言的函数内联机制既具备宏代码的效率,又增加了安全性,而且可以自由操作类的数据成员.所以在C++ 程序中,应该用内联函数取代所有宏代码. inline函数与宏定义的区 ...
- 绘制相切弧arcTo
绘制相切弧 语法: CanvasRenderingContext2D.arcTo( x1, y1, x2, y2, radius ) 描述: 该方法用于绘制圆弧 绘制的规则是当前位置与第一个参考点连线 ...
- Light OJ 1032 - Fast Bit Calculations(数学)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1032 题目大意:一个十进制数变化为二进制,那么对于这个数,如果连着两个二进制位 ...