支付回调通知的response有问题
ValueLan opened this issue · comments
valuelan commented
使用咱们的 支付response 和head 微信会连续发通知
Hpyer commented
微信会连续发通知,说明你没把结果输出
let response = app.handlePaidNotify(function (message, fail) {
// 业务逻辑
return true; // 返回 true 告诉微信“我已处理完成”
});
// 这个response对象和 php 版的不一样,需要调用 getContent() 方法获取到框架生成的响应数据
// 返回的是个 Buffer 实例,可以用 toString() 方法转为字符串
let buffer = response.getContent();
// 然后通过web框架(如:koa2)输出,这样微信才能接收到你的处理结果
ctx.body = buffer;
valuelan commented
我确定我已经输出了,而且是用postman 测试过。
我在找找解决方案吧
Hpyer commented
那输出的内容是什么?是否与微信要求的数据格式一致?
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7&index=8
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
</xml>
valuelan commented
我晚点给你看看结果,我用的是忽略插入,问题不大,只是不喜欢没用的请求。
valuelan commented
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xml> <return_code>SUCCESS</return_code> <return_msg /> </xml>
Hpyer commented
2.10.2 版本移除了xml声明部分(<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
这句),再看看~
valuelan commented
多次请求问题依旧存在
valuelan commented
<xml><return_code>SUCCESS</return_code><return_msg/></xml>
这个东西有点蛋疼,我直接用原样输出也会存在
valuelan commented
这个问题终结,应该没什么问题了,可能因为是我的框架返回了 status code 201
Hpyer commented
好吧~我就说这输出应该没什么问题了的~😂