收藏
回答

微信支付结果返回得数据格式是怎么样的

官方文档说是xml格式,我的理解是微信通过post请求我设置得接收通知得地址,请求体携带xml字符串,我调用微信统一下单接口那一步确实可以解析出来,但是接受微信得支付结果那一步却解析不出xml,我服务器用nodejs写得,解析xml数据用的是xml2js模块,下面是我调用统一下单接口的解析处理,打印出来确实没问题:


这里则是支付结果的xml解析处理:

不知道问题是不是出在我app.post这个路由上面,是不是不应该用回调的httpreq进行解析,搞了一上午没搞明白


回答关注问题邀请回答
收藏

2 个回答

  • 的米_DiMi
    的米_DiMi
    2019-06-22

    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));
    });
    });


    2019-06-22
    赞同
    回复 1
    • L.
      L.
      2019-06-23

      找到问题所在了,是因为用的express框架的原因,不过谢谢回答啦

      2019-06-23
      回复
  • L.
    L.
    2019-06-22

    只要一解析支付结果就报错


    2019-06-22
    赞同
    回复
登录 后发表内容