当前位置:   article > 正文

android 集成微信sdk注意事项,看完这篇不再为微信支付各种问题困扰_微信支付接入开发是一定要有包名吗?

微信支付接入开发是一定要有包名吗?

最近在项目中集成微信支付sdk的时候突然出现了一些问题,在网上查询了很多资料在此总结了几点,希望可以帮助到大家.

1.首先在微信开放者平台注册,申请

   这一步是你集成微信sdk的必要途径,不管你的appid是从后台获取还是申请完后写死在app项目里面的,都要在微信开放者平台申请获取appid,申请appid两个地方需要注意:1包名一定要是你applicationid对应的包名,2.签名一定要是正式版本的md5并且签名中字母尽量小写去掉冒号比如:

2.申请appid后需要在android本地集成支付sdk

这一步没什么好说的,请参照微信开放者文档,按照文件说明集成最新版本的sdk

3.获取appid(我这里的appid从后台获取,一般来说根据业务需求如果你只有一个微信服务商也可以写在本地。如果是多个就要从根据后台返回的appid去注册微信支付以及调起支付页面

调用后台接口获取appid,sign等字段调起微信支付页面,这里也没什么需要特别注意的,按照文档来就行

4.在你app模块下面创建包名为wxapi,并在其内创建WXPayEntryActivity的类

这里特别注意:1.包名以及类名一定要在app模块src目录下并且名字不能错,如果你不放心可以看下你WXPayEntryActivity类的路径是不是 在  应用包名+wxapi路径下,如果不是微信支付回调是监听不到的     2.一定要在WXPayEntryActivity类的oncreate生命周期里面注册微信,不然支付完成也不会回调

5.清单文件里面配置WXPayEntryActivity

到了这一步可以说准备工作已经差不多了,但是你一定要注意检测你的配置是不是这三个:

第一个属性android:name这个很简单就是配置activity的路径,一般创建好activity就自动配置好了这个一般没什么问题

第二个属性:android:exported=“true”,相信做过对app安全漏洞邀请比较高的朋友们都知道这个属性,他表示当前服务是否允许被外部调用,一般默认情况我们都设置false不允许,这里设置true就表示微信需要调用这个activity,因此必须设置true

第三个属性:android:launchMode="singleTop",omg!!!,熟悉activity模式的都知道,activity有四种模式,然而我们很少很少见到有设置singleTop的,这singleTop他表示:如果当前activity位于栈顶就不用重新创建.

ok如果你仅仅配置了这三个属性,那么多恭喜你,集成微信支付sdk就此告一段落。哎,人生总有遗憾的,本大帅也不过如此,

前端时间公司对app进行安全检测了,于是乎对于activity配置加了两个属性:,没错就是一个权限一个固定屏幕的属性。这两个配置进去貌似不影响什么吧,可恶的是就是因为这两个属性支付回调一直不成功

 

所以:每一步一定要按照文档来

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/598841
推荐阅读
相关标签
  

闽ICP备14008679号