美文网首页Android
Android微信支付不回调

Android微信支付不回调

作者: 无风烟囱 | 来源:发表于2018-07-02 19:07 被阅读559次

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

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

    项目的流程 

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

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

    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

    并在清单文件中配置

    <activity android:name="包全路径"

                    android:exported="true"

                    android:launchMode="singleTop"/>

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

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

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

    **

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

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

    相关文章

      网友评论

        本文标题:Android微信支付不回调

        本文链接:https://www.haomeiwen.com/subject/ksxldttx.html