nodejs 微信证书 request 使用

let request = require('request');//当然我们引用要写在最上面,但为了看的清楚点就一步一步走吧
request({
//请求地址
url:'https://api.mch.weixin.qq.com/secapi/pay/refund',
//还记得准备的证书吗这里就用到啦
agentOptions: {
cert: fs.readFileSync(path1.join(__dirname,'../../cert/apiclient_cert.pem')),
key: fs.readFileSync(path1.join(__dirname,'../../cert/apiclient_key.pem' ))
},

,
headers: { //设置请求头
'Content-Type': 'application/json',
'Accept': 'application/json',
'User-Agent': 'mrt'
}


method: 'POST',
//携带这我们拼接好的参数
body:formData
}, function (err,body) {
//getXMLNodeValue:因为微信返回的结果是xml形式的所以封装了一个解析的方法,会面会贴出来
let trade_state_desc = wechatUtil.getXMLNodeValue('return_code', body.body.toString('utf-8'));
let return_msg = wechatUtil.getXMLNodeValue('return_msg', body.body.toString('utf-8'));
let err_code_des = wechatUtil.getXMLNodeValue('err_code_des', body.body.toString('utf-8'));
//为什么要加上这个参数err_code_des....我也很是无奈前两个参数只能正面是真的访问成功了,但是我试了一下 瞎写的订单号提交
//这两个参数还是正常的,但会多出 err_code_des这个参数,返回的是提示信息.所以前两个参数正确且没有这个参数的时候我才能知道
//提交的信息没有问题,所以就这样写了,但肯定不是很好,我会想想解决办法. if(return_code=='SUCCESS'&&return_msg=='OK'&&err_code_des==undefined){
log.info("退款成功")
let data = {
result:'1',
msg:'已退款成功'

};
res.json(data)
}else {
let data = {
result:'0',
msg:err_code_des

};
res.json(data)
}
});

posted @ 2020-05-07 14:35  mrt_yy  阅读(656)  评论(0编辑  收藏  举报