Google Play应用支付测试失败问题:BILLING UNAVAILABLE

  使用国内账号测试,在拉取商品信息或支付时几乎必然会遇到:BILLING UNAVAILABLE(Debug如下信息确定原因: Log.d(“GoogleCheckout”, “code=” + billingResult.getResponseCode() + " msg=" + billingResult.getDebugMessage());),原因就是当前账号处于谷歌支付不支持的地区,此处具体支持地区名单,国内只可以下载但是无法付款,验证你的账号是否能够进行支付测试,只需要打开GooglePlay,查看底部边栏是否没有图书项,或者点击游戏 → 付费,查看是否只有极少数游戏(正常可以下滑看到很多,在我的play上如果不支持就只有两三个游戏),这一步也是后续作为支付功能是否可用的依据。

  解决方案也很简单:重新注册一个谷歌账号即可,注意不要绑定支付方式,地址最好也不要填(我没填过地址,因此不清楚填入地址是否会被禁用支付)。还有一点需要注意,就是最好不要在同一个设备上登录多个账号,容易被封,我注册完当天就被封掉了,后来申诉给过了。使用新的账号登录后,就可以在play商店看到图书项了,此时可能还会遇到billing unavailable的报错,是因为你的设备登录了多个账号,并且有一个账号是非支持地区,在测试设备上移除不支持的账号,只留刚注册的账号,并且测试app要重新下载安装,有的时候还需要清一下play缓存。基于上面的步骤就可以成功拉取产品信息以及进行支付测试了。

三点提示:

  1. 产品价格最好使用谷歌api queryProductDetailsAsync来动态获取,尽量不要写死,因为不同地区税率不同,最终拉起支付窗口所展示的价格也不同。
  2. 测试时可以去play下载谷歌官方的app:play billing lab,能够修改测试地区来测试不同地区支持情况(但此方法不会解决billing unavailable问题,必须支付可用才能正常使用lab)
  3. 如果是初次想要在国外平台发布app的开发者,最好了解一下国外的信用卡拒付机制:用户发起拒付无论最终裁定结果如何,银行都会向商户(也就是开发者)索要10-100美元的服务费(即使抗辩成功也只是拒绝退款,服务费照收不误),2026年下半年开始谷歌不再帮开发者承担这部分费用。拒付周期一般在半年左右。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值