【微信统一支付】发起支付, returnCode != SUCCESS, returnMsg = 签名错误

来源:8-2 发起微信支付-后端(下)

三又十二分之四

2019-06-18

情况如下:
使用的测试公众号:
参数配置,mpAppid mchId mckKey已经按照16章改为师兄干货的
图片描述

同时数据库的openid也已经改为公众号借用的,断点测试已经正常获取到了值
图片描述

我找了问答区,有说数据库openid多了空格的,我这不存在,已经正常获取到值了。
有说密钥错的,我也从git密钥里复制了好几遍,也不行~~~
师兄,救救孩子吧!!!

写回答

2回答

廖师兄

2019-06-18

去调用微信接口的地方打断点看看。 BestPayServiceImpl.pay()

0
3
三又十二分之四
回复
廖师兄
payRequest.setOpenid(orderDTO.getBuyerOpenid());写成了payRequest.setOpenid(orderDTO.getOrderId()); 笑cry
2019-06-20
共3条回复

三又十二分之四

提问者

2019-06-20

原因是自己不细心,少写了一行:

//img.mukewang.com/szimg/5d0b021c0001a67f09750862.jpg

导致没获取到mchKey 

//img.mukewang.com/szimg/5d0b02850001bfc608880363.jpg


但是加上setMchkey后,依然为空,不知道是为什么?所以直接用了

//img.mukewang.com/szimg/5d0b02d700012d2509870116.jpg


但是又报了一个错误,openid无效:

//img.mukewang.com/szimg/5d0b034c0001a99117890344.jpg


可是openid是租用来的,怕填错了,还仔细对比了:

//img.mukewang.com/szimg/5d0b037e00019ef408610372.jpg

//img.mukewang.com/szimg/5d0b03dd0001e87907090804.jpg

0
0

Spring Boot双版本(1.5/2.1) 打造企业级微信点餐系统

从0到1开发中小型企业级Java应用,并学会迭代重构技巧

6410 学习 · 5247 问题

查看课程