接口链接
https://api.mch.weixin.qq.com/pay/closeorder
请求参数
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
---|---|---|---|---|---|
公众账号ID |
appid |
是 |
String(32) |
wx8888888888888888 |
微信分配的公众账号ID |
商户号 |
mch_id |
是 |
String(32) |
1900000109 |
微信支付分配的商户号 |
商户订单号 |
out_trade_no |
否 |
String(32) |
1217752501201407033233368018 |
商户系统内部的订单号 |
随机字符串 |
nonce_str |
是 |
String(32) |
5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号 |
签名 |
sign |
是 |
String(32) |
C380BEC2BFD727A4B6845133519F3AD6 |
签名,详见签名生成算法 |
返回结果
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
---|---|---|---|---|---|
返回状态码 |
return_code |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL |
返回信息 |
return_msg |
否 |
String(128) |
签名失败 |
返回信息,如非空,为错误原因 签名失败 参数格式校验错误 |
以下字段在return_code为SUCCESS的时候有返回
字段名 |
变量名 |
必填 |
类型 |
示例值 |
描述 |
---|---|---|---|---|---|
公众账号ID |
appid |
是 |
String(32) |
wx8888888888888888 |
微信分配的公众账号ID |
商户号 |
mch_id |
是 |
String(32) |
1900000109 |
微信支付分配的商户号 |
随机字符串 |
nonce_str |
是 |
String(32) |
5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
随机字符串,不长于32位 |
签名 |
sign |
是 |
String(32) |
C380BEC2BFD727A4B6845133519F3AD6 |
签名,验证签名算 |
错误代码 |
err_code |
否 |
String(32) |
SYSTEMERROR |
详细参见第6节错误列表 |
错误代码描述 |
err_code_des |
否 |
String(128) |
系统错误 |
结果信息描述 |
后台代码:
/// <summary> /// 关闭订单接口 /// </summary> /// <returns></returns> public JsonResult CloseOrder(WXM_TRADE_Model trade) { string nonceStr = Senparc.Weixin.MP.TenPayLibV3.TenPayV3Util.GetNoncestr(); Senparc.Weixin.MP.TenPayLibV3.RequestHandler packageReqHandler = new Senparc.Weixin.MP.TenPayLibV3.RequestHandler(null); //设置package订单参数 packageReqHandler.SetParameter("appid", AppId); //公众账号ID packageReqHandler.SetParameter("mch_id", MchId); //商户号 packageReqHandler.SetParameter("out_trade_no", trade.TRADE_NO); //填入商家订单号 packageReqHandler.SetParameter("nonce_str", nonceStr); //随机字符串 string sign = packageReqHandler.CreateMd5Sign("key", Key); packageReqHandler.SetParameter("sign", sign); //签名 string data = packageReqHandler.ParseXML(); var result = Senparc.Weixin.MP.AdvancedAPIs.TenPayV3.CloseOrder(data); var res =System.Xml.Linq.XDocument.Parse(result); string return_code = res.Element("xml").Element("return_code").Value; Hashtable hashtable = new Hashtable(); hashtable.Add("return_code", return_code); return Json(hashtable); }