小程序
小游戏
企业微信
微信支付
扫描小程序码分享
官方文档说是xml格式,我的理解是微信通过post请求我设置得接收通知得地址,请求体携带xml字符串,我调用微信统一下单接口那一步确实可以解析出来,但是接受微信得支付结果那一步却解析不出xml,我服务器用nodejs写得,解析xml数据用的是xml2js模块,下面是我调用统一下单接口的解析处理,打印出来确实没问题:
这里则是支付结果的xml解析处理:
不知道问题是不是出在我app.post这个路由上面,是不是不应该用回调的httpreq进行解析,搞了一上午没搞明白
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
http request 对象包含很多内容,不单单是 post 过来的 xml 文本。所以你不能直接给 xmlParse 直接丢 httpreq,而是要提取 httpreq 中的 xml 文本内容。
nodejs 没写过,给你网上找一段参考代码:
var
xml2json=require(
'xml2json'
);
app.post(
'/xml'
,
function
(req,res){
req.rawBody=
''
;
json={};
req.setEncoding(
'utf8'
req.on(
'data'
req.rawBody+=chunk;
});
'end'
,funciton(){
json=xml2json.toJson(req.rawBody);
res.send(JSON.stringify(json));
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
找到问题所在了,是因为用的express框架的原因,不过谢谢回答啦
只要一解析支付结果就报错
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
http request 对象包含很多内容,不单单是 post 过来的 xml 文本。所以你不能直接给 xmlParse 直接丢 httpreq,而是要提取 httpreq 中的 xml 文本内容。
nodejs 没写过,给你网上找一段参考代码:
var
xml2json=require(
'xml2json'
);
app.post(
'/xml'
,
function
(req,res){
req.rawBody=
''
;
var
json={};
req.setEncoding(
'utf8'
);
req.on(
'data'
,
function
(req,res){
req.rawBody+=chunk;
});
req.on(
'end'
,funciton(){
json=xml2json.toJson(req.rawBody);
res.send(JSON.stringify(json));
});
});
找到问题所在了,是因为用的express框架的原因,不过谢谢回答啦
只要一解析支付结果就报错