公司需求:android APP内调起微信支付
先是在微信的官网上下载了微信支付的demo,修改好相应的参数,管理平台也设置了相应的包名、签名,打包成release版本的apk,运行到手机上,第一次可以正常调起微信支付,也可以支付成功,但是第二次之后,每次都返回-1,换手机后,也是第一次可以调起支付成功,以后每次都返回-1.
然后到处百度查看博客,卸载微信重新安装就可以再次调起微信支付流程成功。
难道只有卸载微信重新安装这种方法可行吗?有没有其它办法每次都可以正常调起微信支付的呢?
(调起微信支付控件时上送参数都是动态的,非写死的参数)
看了社区微信支付官方的回答:
1)你签名中的key,也就是你的API密钥key,这个参数要你们自己到商户平台设置的,设置的规则是32位数字与字母大小写的组合的随机数,不能设置成签名串和参数appsecrete,你们有正确设置吗???
2)检查开放平台对应的包名与签名是否有正确设置。
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 这里有详细的设置说明。
3)调用支付使用的noncestr这个参数必须和商家服务器调用统一下单接口返回的那个noncestr一致
4)从预支付订单返回的数据 ,没有重新签名,也会引起这个问题。
5)重新安装微信后试试。
1-4点都排除了,如果1-4点有问题,为什么第一次可以调用成功呢?
第5,可以,但是每次都需要卸载微信重新安装才行,不知道如何解决这个问题,也不知道为什么会出现这个问题?
@微信支付技术助手,请帮忙协助解决下吧,万分感激
你这个问题解决了吗?我现在也遇到了同样的问题,而且官方提及的这些都排除了,还是这样的问题
关于您说的:
1)你签名中的key,也就是你的API密钥key,这个参数要你们自己到商户平台设置的,设置的规则是32位数字与字母大小写的组合的随机数,不能设置成签名串和参数appsecrete,你们有正确设置吗???
请问这个是下面这个吗?
request.sign
上面说的设置步骤是客户端需要做的操作吗?
你们是服务商模式的吗,如果你们是服务商模式,是需要在统一下单的时候传sub_appid的
@ 支付技术助手4 官 是服务商模式,下单的时候传sub_appid了,还有哪方面的可能性导致这样问题的呢?