本篇文章记录集成 Google Pay 遇到的问题,如果有误欢迎拍砖!
一、Google Pay Console 后台创建的应用不能删除
如果是创建的草稿,右侧会有一个 删除 按钮,这种可以删除。如果应用 处于 已发布、发布中、被拒等状态,则看不到 删除按钮(本人找了设置之类的地方也没有看到删除功能,如果有可以删除,烦劳告知)
二、应用后台部分功能说明
1、应用版本
应用版本分为:正式、Beat、Alpha、内部测试 四个版本,除了 正式版 其它都可以用作开发测试来使用。
2、点击右侧 管理,创建一个内部测试版本
需要先上传一个 release版本的apk(注:这里的apk,需要签名的release包,可以是集成支付的空包) ,不然就会看到上图的提示。
三、选择测试加入的URL不出现
在集成的时候,上传完Apk,点击 管理测试人员 的时候,官网说明需要给测试人员发相应的邀请 链接 当测试人员点击了 链接 并加入之后,才算是可以测试。如下图位置
开始的时候,一直没有这个 选择加入的Url ,搜索了半天也没结果,后来发现,只有当你的应用处于 发布 状态的时候,这个位置才有这个Url 。下图是没有发布的应用
注:其实提示信息也说明了,不过之前一直以为 发布应用 指的是 发布正式版 这里是有一个小误,其实只上传 内测、Beat版本...也是可以的 。
ps:相应信息填写完,Google 需要审核一段时间(我的大概审核了1天的时间),不过此时你的应用状态会变为 审核中 , 审核过,这个Url也就出现了,也就可以发给相应人员,加入测试过程。
四、设置测试人员账号
1、在Google Pay Console 设置测试人员,如下图:
2,账号详情添加可以用于测试的Gmail账号:
经过上面步骤添加完成测试人员,当应用发布以后,将相应的 加入链接 发给测试人员,加入测试即可,点击链接如下图:
五、Google Pay 应用签名问题
将Google Pay Console 中的版本发布到正式版渠道中的时候,遇到一个问题:
发布Apk到Google Pay成功后,使用之前的apk,无法进行支付,页面提示如下:
只有从Google Pay商店下载的应用才可以正常支付,或者下载派生的Apk:
原因:上传apk的时候,接受了谷歌签名计划,发布之后,对apk重新签名,导致的问题。如果已经接受该计划,好像没法取消(如果可以取消,烦劳告知),上传应用的时候需谨慎勾选! (查看是否接收:选择应用--->版本管理--->应用签名)
六、Google Pay 正式版
由于这次项目只使用Google的支付功能,Google Play上架审核比较严格(自己应用的权限获取太多,被拒好几次),后来想到一个办法,在Google Play console 上放一个壳 包名、版本号跟自己项目一样也可以进行支付操作,实际使用一段时间,暂时没发现有什么问题,如果有类似的需求,可以尝试一下,不过需要注意 包名、版本号一致不然无法支付。
七、Google Pay 支付错误码 101(或者连接失败 code = 3)
1, errorCode = 3
/** Billing API version is not supported for the type requested */
int BILLING_UNAVAILABLE = 3;
这种情况是由于你的 Google账号 没有在购买支持的的地区范围(比如:不支持在A地区销售,但是你的Google账号资料在A地区,所以会报上面错误)
解决办法:
- 排查你的Google账号地区,步骤:Google Play商店-->设置--->账号
- 排查你的设备ip所在地区
2, 错误码 101
public static final int BILLING_ERROR_FAILED_TO_INITIALIZE_PURCHASE = 101;
发生场景:在同一设备增加新的Google账号,之前没问题,后来突然报了这个错误
原因:Google Play 缓存问题
解决办法:设置--->应用--->Google Play 清空缓存,退出 Google 账号重新登录!