您的位置:首页 > 移动开发 > 微信开发

微信遇到的一些问题

2018-01-19 17:06 239 查看
这两天项目又用到微信,这次半路接手,发现之前的代码调不起来微信,后台是重新申请的appid并审核通过的,试了好几次都不行,就是没反应,网上有说还是参数值不对,但是和后台对了对,没有错,partnerId,appId都没错,该传的也传了,这些都是后台返回的。前端也可以签名,但是推荐是后台返回。

最后问题解决,发现的问题有如下几个:

1,如果是后台返回的签名sign,后台需要进行两次签名,第一次是生成prepayId,需要的那个签名。



统一下单API

第一次签名,后台说他用的这个api,只不过这次不传sign,注意第一次还要拼接上key(key设置路径:微信商户平台(pay.weixin.qq.com)–>账户设置–>API安全–>密钥设置)。获取sign后还是用这个api获取prepayId,这时要把刚才的sign参数传上。

第二次签名,这步很重要,这是遇到的第一个问题,后台需要再次签名然后返回给app才对



2,WXPayEntryActivity 这个类必须放在根目录下,比如你的包名是“com.xxx.xxx”,那么这个类需要放在“com.xxx.xxx.wxapi”里才行,否则进不了onResp回调

3、发现一直返回-2,支付页面一闪而过,直接进入到了WXPayEntryActivity ,连续点击几次后,还是一样,退出app发现,微信支付页面出现了,就好像被遮住了一样,还可以支付。这个问题是因为我同时调用了两次api.sendReq(req),为了看是否为true,唉,自己给自己挖坑。



把上面的删掉就行了

4、如果要跳转到自己的结果页,在WXPayEntryActivity 的onResp里判断code就行了,一定判断code,DEMO里省事直接显示了dialog,把dialog删了判断code ==0再跳转到自己的页面吧,可以在清单里将WXPayEntryActivity主题设置为透明不显示就行了( android:theme=”@android:style/Theme.Translucent” )

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  微信支付