官方没有给node的示例
自己研究的3天终于实现 云函数实现商家转账到零钱(V3版本)
不懂的可以咨询w:mv55776
var config = require('./config');
// var request = require('request');
var xml2js = require('xml2js');
var fs = require('fs');
var https = require('https');
var fnCreateXml = function(json){
var _xml = '';
for(var key in json) {
_xml+= '<'+key+'>'+json[key]+'</'+key+'>';
}
return _xml;
}
/*
����url��������md5��
*/
var fnCreateUrlParam = function(json){
var _str = '';
var _arr = []
for(var key in json){
_arr.push(key+'='+json[key]);
}
return _arr.join('&');
}
//����ҵ֧������Ǯ
exports.wxcompay = function(req,res,callback){
// https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
var host = 'api.mch.weixin.qq.com';
var path = '/mmpaymkttransfers/promotion/transfers';
// var path = '/v3/transfer/batches';
var amount = req.amount;
var openid = req.openid;
var opt = {
host: host,
port:'443',
method:'POST',
path: path,
}
var body = '';
opt.agent = new https.Agent(opt);
var req = https.request(opt, function(res) {
console.log("Got response: " + res.statusCode);
res.on('data',function(d){
console.log('bodyd',d);
body += d;
console.log('body',body);
}).on('end', function(){
//console.log(res.headers);
console.log('请求结果');
console.log(body);
var parser = new xml2js.Parser({ trim:true, explicitArray:false, explicitRoot:false });//����ǩ�����xmlתjson
parser.parseString(body, function(err, result){
if(typeof callback == 'function'){
callback(result['return_code']+'|'+ result['return_msg']+'|'+ result['result_code']);
}
});
});
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
var option = {amount,openid};
var sendData = fnGetWeixinBonus(option);
req.write(sendData);
req.end();
}