微信遇到的一些问题

这两天项目又用到微信,这次半路接手,发现之前的代码调不起来微信,后台是重新申请的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” )
微信遇到的一些问题