Android微信支付不回调

一直不喜欢腾讯 以前是 现在是 微信支付更是!

文档跟天书一样 几百年不更新 要不是网上这么多资料 鬼能接上这东西

项目的流程 

本地从服务端获取需要传递给微信的信息->将信息传递给微信&唤起微信支付->微信支付回调页

(跟一般流程不同,我们项目没有让用户选择金额的地方,服务端知道用户需要付款多少,所以比一般步骤少了个流程)

1 :  正常接入

Gradle配置 :  compile'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:1.1.6'

配置好之后 就可以正常使用微信API了

2 : 在使用微信支付的页面进行微信的功能初始化

  IWXAPI msgApi=WXAPIFactory.createWXAPI(mActivity,APP对应的Key);   

  msgApi.registerApp(APP对应的Key);

3: 从服务端获取微信支付所需信息之后唤起微信支付

       PayReq request =new PayReq();

       msgApi.sendReq(request);

       request.appId = "wxf9a83c686757f3d4";

       request.partnerId = "1900000109";

       request.prepayId= "1101000000140415649af9fc314aa427";

       request.packageValue = "Sign=WXPay";

        request.nonceStr= "1101000000140429eb40476f8896f4c9";

       request.timeStamp= "1398746574";

       request.sign= "7FFECB600D7157C5AA49810D2D8F28BC2811827B";

        Log.d("jim","check args "+request.checkArgs());

        Log.d("jim","send return :"+msgApi.sendReq(request));


这里的服务器提供的支付信息,必须和你在微信开发者后台的APP信息一一对应, 不能是用 A应用的Key 服务器给你的是B应用的支付信息 . 否则会无法唤起微信支付 .

4 : 接入上面3步之后,如果签名和包名什么没配置错,基本都可以唤起微信支付了,现在开始处理回调.

你的包名+wxapi+WXPayEntryActivity

并在清单文件中配置

                android:exported="true"

                android:launchMode="singleTop"/>

***一定要特别注意两个设置***

少了这两个设置的话,回调页出不来! 这个配置可以在微信自己的Demo里看到

(这个Demo有毒,反正我没运行起来,只是查东西的会去里面看看)



**

再附加一个情况 :  测试的时候一切正常 换了正式包就有无法唤起微信支付了 (微信后台的签名也改成正式签名了)

原因 : 微信的缓存问题 , 微信卸载再重装,就一切正常了

你可能感兴趣的:(Android微信支付不回调)