3191关注10055浏览
商户系统和微信支付系统主要交互:
1、小程序内调用登录接口,获取到用户的openid,api参见公共api
2、商户server调用支付统一下单,api参见公共api
3、商户server调用再次签名,api参见公共api
4、商户server接收支付通知,api参见公共api
5、商户server查询支付结果,api参见公共api
根据文档进行的开发,目前在开发环境中,付款也能走通,成功。
但是以上的第4步,商户server接收支付通知,在付款成功后,商户server接收不到支付的通知,
目前用的是 wx.requestPayment 的回调,进行的支付的确认,为了更高的可靠性,想用
notiry_url做二次确认。
在 第2步,商户server调用支付统一下单的时候,设置了
notify_url: https://1bzmr3y9.qcloud.la/weapp/pay_notify
这个url上,对get和post请求,均做了 console.log() 打印,自己用工具测试,均有打印结果 但是支付完成后,无法收到,微信支付服务器的 回调,请问如何排查此问题
调用wx.requestPayment(OBJECT)发起微信支付,成功返回
{errMsg: "requestPayment:ok"}
附上部分代码
payNotify.js
```js
async function get(ctx, next) {
ctx.state.data = 'this is pay notify get'
console.log('payNotify get ,ctx = ', ctx)
}
async function post(ctx, next) {
ctx.state.data = 'this is pay notify post'
console.log('payNotify post ,ctx = ', ctx)
}
module.exports = {
get,
post
}
```
routes/index.js
```js
// --- 微信支付服务器 回调 商户服务器 ---
router.get('/pay_notify', controllers.payNotify.get)
router.post('/pay_notify', controllers.payNotify.post)
```
统一下单 xml
```xml
<xml>
<appid>wxxxxxxxxxxxxxxxx</appid>
<body>微信支付</b
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
Everly
17人对此回答表示赞同
在https://1bzmr3y9.qcloud.la/weapp/pay_notify这个接口的一开始就写入一些日志,看看有没有东西
展开173回复分享发布于 5年前评论(3)
收起评论
-
安守本分
13人对此回答表示赞同
展开131回复分享发布于 5年前评论(1)
收起评论
-
Sarah 2019-01-28 13:21
还没解决,目前在赶项目进度,网上大多是php的例子,nodejs的少,用的官方小程序开发环境,不知道是不是开发服务器的关系,这个问题,应该具有普遍性,大神
回复
-
主贴在哪
整理了一下截图回复,都放到主贴里去了。
如果有,证明微信回调执行过,接下来再做排查