微信微信红包支付失败退款扣钱了能退吗

无法找到资源。
“/”应用程序中的服务器错误。
无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL: /kxyj/com.aspx寰俊浠娆惧け璐ラ娆捐澶涔 甯╀腑蹇
寰俊浠娆惧け璐ラ娆捐澶涔
ユ锛缃缁寸
寰俊浠娆惧け璐ラ娆捐澶涔{description}
打开&IIS 帮助&(可在 IIS 管理器 (inetmgr) 中访问),然后搜索标题为&网站设置&、&常规管理任务&和&关于自定义错误消息&的主题。锛
A:link { color: red }锛转到 并搜索包括&HTTP&和&404&的标题。锛转到 并搜索包括&HTTP&和&404&的标题。锛锛您正在搜索的页面可能已经删除、更名或暂时不可用。如果通过单击链接而到达了该网页,请与网站管理员联系,通知他们该链接的格式不正确。锛确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。锛转到 并搜索包括&HTTP&和&404&的标题。请尝试以下操作:您正在搜索的页面可能已经删除、更名或暂时不可用。锛
H1 { font: 12pt/15pt 宋体 }锛锛捐寰俊杩烘颁拌处濡浣锛您正在搜索的页面可能已经删除、更名或暂时不可用。锛锛打开&IIS 帮助&(可在 IIS 管理器 (inetmgr) 中访问),然后搜索标题为&网站设置&、&常规管理任务&和&关于自定义错误消息&的主题。锛请尝试以下操作:锛
H1 { font: 12pt/15pt 宋体 }锛锛无法找到该页锛锛锛HTTP 错误 404 - 文件或目录未找到。Internet 信息服务 (IIS)锛锛
A:visited { color: maroon }锛锛锛惰哄井淇′杞处璐圭蹇涔拌处锛锛转到 并搜索包括&HTTP&和&404&的寰俊杞处伴惰℃病拌处锛确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。锛
H1 { font: 12pt/15pt 宋体 }锛锛锛锛
H1 { font: 12pt/15pt 宋体 }锛无法找到该页锛转到 并搜索包括&HTTP&和&404&的标题。锛锛
A:link { color: red }锛单击按钮尝试另一个链接。锛转到 并搜索包括&HTTP&和&404&的标题。
BODY { font: 9pt/12pt 宋体 }锛锛确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。锛无法找到该页您正在搜索的页面可能已经删除、更名或暂时不可用。锛锛无法找到该页锛确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。锛锛无法找到该页锛锛锛
A:visited { color: maroon }锛无法找到该页锛请尝试以下操作:
BODY { font: 9pt/12pt 宋体 }锛您正在搜索的页面可能已经删除、更名或暂时不可用。
BODY { font: 9pt/12pt 宋体 }锛锛锛确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。
{}路{} 路{}路{} 路{} 路{} 路{}
缁寸锛浜板井淇
yaping16-03-25&&0澶{title}...
璇峰ㄦ杈ユㄨ澶瀹
浣浠ュ~涓电О涔ㄦ杈ユㄧ璇浠凤涔娉ㄥ涓烘浠浼锛浜村°
瀹App宸茬绾匡璁╅璇婚堕
绮鹃蜂环艰伙姣ㄤ&&&&Posts - 137,
Articles - 2,
Comments - 1907
理想就是自己喜欢做,并对社会和他人都有意义的事情!
08:29 by stoneniqiu, ... 阅读,
先吐槽下微信的文档和demo,重要的步骤信息没有强调清楚,.net的demo就没有跑成功过。
几经摸索才走通这个退款功能。下面介绍下微信支付退款功能的开发步骤:
一、下载证书并导入到系统
微信退款是需要证书的,这个证书不是官方demo中的证书,而是需要自己在微信商户平台中的api安全栏下载的证书,在官方的实例的一个word文档看到下面话:C#有一点需要注意,除了在代码中使用apiclient_cert.p12之外还需要将该证书导入操作系统才能使用,1、代码中使用、;2、导入操作系统,二者缺一不可。.NET版本需要大于2.0& 之前就是不知道这两步,浪费了太多时间。所以先下载证书:
下载的时候需要手机验证及登录密码。下载后找到apiclient_cert.p12这个证书,双击导入,导入的时候提示输入密码,这个密码就是商户ID,且必须是在自己的商户平台下载的证书。否则会出现密码错误的提示:
&导入正确的提示:
二、代码退款
&这个地方可以直接用官方demo中的代码,
&需要修改WxPayConfig中的几个参数:
public const string APPID = "wxf6dd794bcexxxx";
public const string MCHID = "xxxx";
public const string KEY = "xxxxx849ba56abbe56e05xxxxx";
public const string APPSECRET = "---";
//=======【证书路径设置】=====================================
/* 证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要)
public const string SSLCERT_PATH = "/WxPayAPI/cert/apiclient_cert.p12";
public const string SSLCERT_PASSWORD = "131xxxx";
上面的SSLCERT_PASSWORD就是MCHID,也就是商户ID,SSLCERT_PASSWORD错误会出现指定的网络密码不正确的提示:
接下来在控制器中增加一个退款方法,包含微信订单号、商户订单号、总金额和退款金额。商户订单号和微信订单号二选一。
public ActionResult DoRefund()
string result = Refund.Run("","trade_no", "1", "1");
return Content(result);
Refund类的Run方法:
* 申请退款完整业务流程逻辑
* @param transaction_id 微信订单号(优先使用)
* @param out_trade_no 商户订单号
* @param total_fee 订单总金额
* @param refund_fee 退款金额
* @return 退款结果(xml格式)
public static string Run(string transaction_id, string out_trade_no, string total_fee, string refund_fee)
("Refund is processing...");
WxPayData data = new WxPayData();
if (!string.IsNullOrEmpty(transaction_id))//微信订单号存在的条件下,则已微信订单号为准
data.SetValue("transaction_id", transaction_id);
else//微信订单号不存在,才根据商户订单号去退款
data.SetValue("out_trade_no", out_trade_no);
data.SetValue("total_fee", int.Parse(total_fee));//订单总金额
data.SetValue("refund_fee", int.Parse(refund_fee));//退款金额
data.SetValue("out_refund_no", out_trade_no);//随机生成商户退款单号
data.SetValue("op_user_id", WxPayConfig.MCHID);//操作员,默认为商户号
WxPayData result = WxPayApi.Refund(data);//提交退款申请给API,接收返回数据
("Refund process complete, result : " + result.ToXml());
return result.ToPrintStr();
Refund:方法
* 申请退款
* @param WxPayData inputObj 提交给申请退款API的参数
* @param int timeOut 超时时间
* @throws WxPayException
* @return 成功时返回接口调用结果,其他抛异常
public static WxPayData Refund(WxPayData inputObj, int timeOut = 6)
string url = "https://api.mch./secapi/pay/refund";
//检测必填参数
if (!inputObj.IsSet("out_trade_no") && !inputObj.IsSet("transaction_id"))
throw new WxPayException("退款申请接口中,out_trade_no、transaction_id至少填一个!");
else if (!inputObj.IsSet("out_refund_no"))
throw new WxPayException("退款申请接口中,缺少必填参数out_refund_no!");
else if (!inputObj.IsSet("total_fee"))
throw new WxPayException("退款申请接口中,缺少必填参数total_fee!");
else if (!inputObj.IsSet("refund_fee"))
throw new WxPayException("退款申请接口中,缺少必填参数refund_fee!");
else if (!inputObj.IsSet("op_user_id"))
throw new WxPayException("退款申请接口中,缺少必填参数op_user_id!");
inputObj.SetValue("appid", WxPayConfig.APPID);//公众账号ID
inputObj.SetValue("mch_id", WxPayConfig.MCHID);//商户号
inputObj.SetValue("nonce_str", Guid.NewGuid().ToString().Replace("-", ""));//随机字符串
inputObj.SetValue("sign", inputObj.MakeSign());//签名
string xml = inputObj.ToXml();
var start = DateTime.N
Log.Debug("WxPayApi", "Refund request : " + xml);
string response = HttpService.Post(xml, url, true, timeOut);//调用HTTP通信接口提交数据到API
Log.Debug("WxPayApi", "Refund response : " + response);
var end = DateTime.N
int timeCost = (int)((end - start).TotalMilliseconds);//获得接口耗时
//将xml格式的结果转换为对象以返回
WxPayData result = new WxPayData();
result.FromXml(response);
ReportCostTime(url, timeCost, result);//测速上报
生产环境中记得修改成自己的参数。如果参数都正确,将会返回:
而且,微信马上回收到退款通知:
小结:至此,退款功能已经走通,其实如果参数和流程对了,这个地方还是很简单的,微信的规定是可以申请一年内交易的退款。但是又有个问题,虚拟空间中怎么导入证书呢,还是要换云?}

我要回帖

更多关于 微信支付失败钱扣了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信