❤️Android Google 支付遇到的问题❤️

7,609 阅读9分钟

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动

🔥 作者

作者:帅次

作者简介:CSDN博客专家,欢迎点赞、收藏、评论

粉丝福利: 公众号「帅次」一个分享Android 体系技术·相关知识·面试题库·技术互助·干货·资讯·高薪职位·教程的地方。

🔥 Google 支付失败

我们发现要显示的任何SKU,检查您的互联网连接并确保您的Google Developer Console设置正确。

应用未通过审核或应用内商品ID传入有误,要先测内部测试版(bate、alpha)通过,再正式测支付。

💥 无法购买您要的商品

  • 1.测试版 APK 请上传至 Alpha/Beta 任一渠道,并且登入加入测试的测试者帐号,下载 APK 后再进行测试。模拟器跟本地安装的测试结果是无法验证的。

    在"APK"页面里,有一个“选择使用网址”,把这个网址给你的测试人员,让你的测试人员用他的google账号点进去,点那个“成为测试人员”(前提是你把他加进了测试人员列表), 只有这样才能测试商品支付。

  • 2.请确认应用的 Manifest 中是否有添加正确的权限 (com.android.vending.BILLING)

    1. 保证 versionCode 和版本号与你上传的apk的包的一样。
  • 4.请确认测试用户都已添加至许可测试的区块

    1. 保证后台和你传入的购买商品的 id 一致,请确认打包apk的包名以及签名皆一致。
  • 6.打开手机的账号管理,把测试账号放在第一个位置,或者干脆删除其他非测试账号。

  • 7.可能封闭式测试、内部测试同时开启造成测试用户乱序。

  • 8.检查账号所在地是不是在开启地区/国家范围内(正常情况不需要)

  • 9.其他可能性包括连结内购服务的装置不支援最新的 IAB version 3,可能只支援 IAB version 2,这方面也请多加确认。(谷歌技术团队提醒)

💥 [DF-AA-01]

从服务器检索信息时出错

  • 1.谷歌服务未开启;

  • 2.网络连接不到谷歌。

解决方案:设置 -> 应用设置 -> 授权管理 -> 自启动管理 -> 打开 Google 服务框架

💥 [DF-AA-20]

从服务器检索信息时出错

  • 1.应用没有在Google Play商店发布,至少是alpha版本;

  • 2.应用或者开发者账号被封。

请点击:Goole Pay支付接入

💥 支付失败、无法支付、购买无效

  • 1.新增国家/地区,但是汇率未刷新。(刷新汇率即可,下面问题同样有效)

  • 2.依照以下步骤清除装置上的缓存试试看是否问题仍持续发生。

  1. 打开设备的主设置应用。
  2. 点按应用应用管理器(显示选项可能因设备而异)。
  3. 点按 Google Play 商店
  4. 点按存储
  5. 依次点按清除缓存 > 确定
  6. 依次点按清除数据 > 确定
  7. 点按后退箭头以返回主菜单。
  8. 选择下载内容内容下载管理器
  9. 依次点按清除缓存 > 确定
  10. 依次点按清除数据 > 确定
  11. 重新启动应用。

💥 =我们这边出了点错误,请重试。

  • 1、回传值是 5 且又遭遇 this version of the application is not configured for billing 的错误讯息,请同时确认以下排解资讯:
  1. AndroidManifest 文件中一定要包含 "com.android.vending.BILLING" 权限。
  2. APK 是在发布模式下构建的。
  3. APK 已使用发行证书签名 (重要提示:应用程式如果通过 Google Play 应用签名计划,仅在您直接从 Google Play 商店下载时才有效)。
  4. APK 至少要上传到 Play 控制台的 Alpha / Beta 测试轨道,且生效时间大约需要 24-48 小时。
  5. 欲测试的应用内商品必须上传到 Play 控制台 且其状态均需要为 "有效"。
  6. 测试帐号须正确添加至 Play 控制台的「许可测试」页面上。

onPurchasesUpdated方法中,BillingResult.getResponseCode() == BillingClient.BillingResponseCode.DEVELOPER_ERROR

  • 2、因 Android Studio 提示A newer version of com.android.billingclient:billing than 3.0.0 is available: 3.0.3,我就将支付升级,结果无法识别api

官方文档上是:

    implementation 'com.android.billingclient:billing:3.0.0

解决方式:

    //将3.0.3改为3.0.0
    implementation 'com.android.billingclient:billing:3.0.3'
    //如此即可
    implementation 'com.android.billingclient:billing:3.0.0'

原因:谷歌还不支持3.0.3使用时谷歌自己会报错

官方文档不一定都对,例如:facebook官方文档的版本一直是:

    implementation 'com.facebook.android:facebook-android-sdk:[5,6)'

实际上已经过去无数版本目前的版本是:

    implementation 'com.facebook.android:facebook-android-sdk:9.1.1'

所以接入SDK还是结合文档加实际情况多方面考虑排查问题。

💥 支付返回CODE(BillingResponseCode)

public @interface BillingResponseCode {
    int SERVICE_TIMEOUT = -3;//服务超时
    int FEATURE_NOT_SUPPORTED = -2;//不支持功能
    int SERVICE_DISCONNECTED = -1;//服务单元已断开
    int OK = 0;//成功
    int USER_CANCELED = 1;//用户按上一步或取消对话框
    int SERVICE_UNAVAILABLE = 2;//网络连接断开
    int BILLING_UNAVAILABLE = 3;//所请求的类型不支持 Google Play 结算服务 AIDL 版本
    int ITEM_UNAVAILABLE = 4;//请求的商品已不再出售。
    int DEVELOPER_ERROR = 5;//提供给 API 的参数无效。此错误也可能说明应用未针对结算服务正确签名或设置,或者在其清单中缺少必要的权限。
    int ERROR = 6;//API 操作期间出现严重错误
    int ITEM_ALREADY_OWNED = 7;//未能购买,因为已经拥有此商品
    int ITEM_NOT_OWNED = 8;//未能消费,因为尚未拥有此商品
}

💥 无法用于此购买交易 

如果买家所用付款方式无效(如使用过期的信用卡、交易金额超出运营商代扣额度上限等),也会导致交易失败。买家需要改用其他有效的付款方式,才能购买您的应用或应用内商品。

💥 检查付款是否通过

如果您的付款没有正确通过,您将不会收到您尝试购买的应用内购买。检查它是否通过网络上的 Play 商店应用或 Google Play:

🌀 使用 Play 商店应用:

  • 1.在您的 Android 手机或平板电脑上,打开 Google Play 商店应用谷歌播放。

  • 2.点按菜单菜单 接着 帐户。

  • 3.点击购买历史记录以查看您的订单。

🌀 使用网络浏览器:

  • 1.在您的计算机上,转到您的Google Play 帐户。

  • 2.向下滚动到购买历史记录。

  • 3.寻找应用内购买。

💥 重启设备

有时重启设备有助于解决应用内购买问题。重新启动:

  • 1.在您的移动设备上,按住电源按钮。

  • 2.点击关机或重启(根据您的设备,此文本可能会有所不同)。

  • 3.如果需要,再次按住电源按钮以重新打开设备。

  • 4.等待设备启动备份。

  • 5.重新打开应用程序或游戏并检查应用程序内购买是否已交付。

💥 更新 Play 商店应用

当您运行最新版本的 Play 商店时,应用内购买效果最佳。要更新应用程序:

  • 1.在你的 Android 手机或平板电脑上,打开 Google Play 商店应用谷歌播放。

  • 2.点击菜单菜单 接着 设置 设置 接着 Build version或Play Store version。构建版本或 Play 商店版本通常位于设置列表的底部。

  • 3.该应用程序将更新,或通知您您的版本是最新的。

💥 确保日期和时间正确

如果你最近更改了设备上的日期和时间,请确保日期和时间正确:

  • 1.在 Android 手机或平板电脑上,打开设备的“设置”应用设置。

  • 2.点按日期和时间。

  • 3.查找"自动日期和时间"和"自动时区"并检查它们是否已打开或关闭。然后按照下面的相关步骤操作。 

🌀 如果关闭"自动日期和时间"和"自动时区"

  • 1.打开日期和时间以及时区设置。

  • 2.等待几分钟,然后检查您的问题是否已解决。

  • 3.如果不是,请尝试重新启动设备并再次检查。

🌀 如果打开"自动日期和时间"和"自动时区"

如果这两个设置都打开,则日期和时间可能不是您的问题。检查您的连接并重新启动您的设备,或尝试其他故障排除步骤。

🔥 Google Play 接受的付款方式注意事项

💥 信用卡或借记卡

注意:通过 Google Play 接受的卡片类型可能会有所不同。如果您的卡在您认为应该时无法使用,请联系您的银行或发卡机构寻求帮助。使用信用卡或借记卡时,您可能会注意到帐户上的临时授权。

💥 手机计费

注意: 当您注册手机帐单时,您可能会在手机上看到以"DCB"或"DCB_Association"开头的 SMS(文本消息)。该消息会自动生成并发送,以完成您 Google Play 帐户的手机帐单注册。 

🌀 手机计费疑难解答

如果您没有看到运营商代扣选项,请记住:

  • 手机帐单仅可使用 Google Play 商店应用程序进行。它在计算机或移动浏览器上的 Google Play 网站上不可用。

  • 您在运营商处的帐户必须信誉良好。

  • 如果您使用带有双 SIM 卡的设备,请确保将正确的 SIM 卡放入插槽 1,并将插槽 2 留空。

  • 移动电话计费在有 root 权限的设备上不可用。

  • 某些移动电话运营商不能用于支付订阅费用。

🌀 请咨询您的运营商以确保:

  • 您没有超过运营商的每月支出限额。

  • 您的设备和服务计划允许购买高级内容。

  • 您的设备可以使用手机计费。

🌀 取消的购买

未成功获得运营商授权的购买将立即取消。如需有关不成功的移动电话账单购买的帮助,请联系您的移动服务提供商。

💥 电子钱包

你可以使用 Touch 'n Go Wallet 在 Google Play 上购买应用程序和数字内容。您需要有足够余额的 已注册Touch 'n Go 钱包帐户才能在 Google Play 上使用此服务。

💥 查找您可以使用的付款方式

可用的付款方式因国家/地区而异。

点击查找所在国家支付情况

🔥 Google Play详情的介绍文字更改颜色

答:在编辑文字时,加入 html 的色彩编码。例如:<font color="blue">你的文字 </font>

参考链接:快去找吧