微信小程序开发(八)小程序支付-关闭订单
来源:互联网 发布:刷会员的软件 编辑:程序博客网 时间:2024/05/01 05:24
如果你已经看了前面的《微信小程序开发(五)小程序支付-统一下单》和《微信小程序开发(七)小程序支付-查询订单》。这个关闭订单就更加不是问题了。
应用场景
以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。
注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。
接口说明
这一依然要注意的是商户订单号-out_trade_no 这个,因为我们退款是根据这去微信那边退款的。
代码实现
/* * 根据商户订单号out_trade_no 关闭订单 */router.all('/api/wxpay/closeOrder', function(req, res, next) { var param = req.query || req.params; var out_trade_no = param.out_trade_no; var nonce_str = getNonceStr(); var bodyData = '<xml>'; bodyData += '<appid>' + wxConfig.AppID + '</appid>'; bodyData += '<mch_id>' + wxConfig.Mch_id + '</mch_id>'; bodyData += '<nonce_str>' + nonce_str + '</nonce_str>'; bodyData += '<out_trade_no>' + out_trade_no + '</out_trade_no>'; var sign = orderQuerySign( wxConfig.AppID, wxConfig.Mch_id, nonce_str, out_trade_no ); bodyData += '<sign>' + sign + '</sign>'; bodyData += '</xml>'; var urlStr = 'https://api.mch.weixin.qq.com/pay/closeorder'; request({ url: urlStr, method: 'POST', body: bodyData }, function (error, response, body) { if (!error && response.statusCode == 200) { var returnValue = {}; parseString(body, function (err, result) { if (result.xml.return_code[0] == 'SUCCESS' && result.xml.result_code[0] == 'SUCCESS') { returnValue.msg = '操作成功'; returnValue.status = '100'; returnValue.result = result; res.end(JSON.stringify(returnValue)); } else{ returnValue.msg = result.xml.return_msg[0]; returnValue.status = '102'; returnValue.result = result; res.end(JSON.stringify(returnValue)); } }); } })});
阅读全文
0 0
- 微信小程序开发(八)小程序支付-关闭订单
- 微信小程序开发(七)小程序支付-查询订单
- 微信小程序开发(五)小程序支付-统一下单
- 微信小程序开发(六)小程序支付-notify_url
- 微信小程序开发(九)小程序支付-申请退款
- 微信小程序开发(十)小程序支付-查询退款
- 微信小程序和支付宝小程序开发记录
- 微信小程序支付demo, php开发小程序支付接口实例
- 支付宝小程序 支付时订单处理失败 报ALI38173
- 支付宝小程序开发教程一
- thinkphp5+easywechat开发小程序支付
- 支付宝小程序开发教程
- 支付宝小程序开发(一)
- 小程序支付demo,微信小程序支付php代码
- 微信开发,小程序支付之间的关联-小程序支付开发2
- 小程序支付开发案例总结-小程序支付开发视频教程21
- 微信小程序支付开发步骤
- 微信小程序支付开发步骤
- 连续子数组的最大和
- Java学习笔记(二)JVM运行原理
- 前端学习资源
- 实现网页加载进度条
- 使用 POI创建一个简单的 Excel 文件
- 微信小程序开发(八)小程序支付-关闭订单
- 排序方法-java
- easyUI 通过某一字段控制本行另一字段是否为可编辑状态
- java中的多线程
- android5及以前的版本user和userdebug模式下remount修改/system读写权限
- sql server锁(lock)知识及锁应用
- mac中显示/隐藏文件
- Linux环境PHP5.5以上连接SqlServer2008【全网最经典无错版】
- 我眼中的G1 GC