前天在测试谷歌支付时遇到了一些错误,记录下来:
此版本的应用程序未配置为通过Google Play结算(code5)
需要检查以下几点:
- 将测试账号添加到google play console 设置->许可测试
- versionCode的值与提交到google play后台的版本一致
- google play后台上的包的签名一致
我们遇到了点问题(code5)
可能是以下原因导致的:
- google play版本太低(com.android.billingclient:billing:3.0+ 测试支付时需要google play版本大于20)
- 签名不对
提醒:
从 2021 年 8 月 2 日起,所有新应用都必须使用结算库版本 3 或更高版本。截至 2021 年 11 月 1 日,对现有应用的所有更新都必须使用结算库版本 3 或更新版本。
无法购买您要买的商品(code4)
可能是以下原因造成的:
- 后台没有对应的商品id
- 谷歌后台对应商品状态为无效
- 应用已下架(应用没有审核通过的版本)
附录:谷歌支付错误码
响应代码 | 值 | 说明 |
---|---|---|
BILLING_RESPONSE_RESULT_OK | 0 | 成功 |
BILLING_RESPONSE_RESULT_USER_CANCELED | 1 | 用户按上一步或取消对话框 |
BILLING_RESPONSE_RESULT_SERVICE_UNAVAILABLE | 2 | 网络连接断开 |
BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE | 3 | 所请求的类型不支持 Google Play 结算服务API 版本 |
BILLING_RESPONSE_RESULT_ITEM_UNAVAILABLE | 4 | 请求的商品已不再出售 |
BILLING_RESPONSE_RESULT_DEVELOPER_ERROR | 5 | 提供给 API 的参数无效。此错误也可能说明应用未针对结算服务正确签名或设置,或者在其清单中缺少必要的权限 |
BILLING_RESPONSE_RESULT_ERROR | 6 | API 操作期间出现严重错误 |
BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED | 7 | 未能购买,因为已经拥有此商品 |
BILLING_RESPONSE_RESULT_ITEM_NOT_OWNED | 8 | 未能消费,因为尚未拥有此商品 |
BILLING_RESPONSE_RESULT_SERVICE_TIMEOUT | -3 | 连接超时,且自动重连超过最大值 |
BILLING_RESPONSE_RESULT_FEATURE_NOT_SUPPORTED | -2 | 当前设备上的 Play 商店不支持请求的功能 |
BILLING_RESPONSE_RESULT_SERVICE_DISCONNECTED | -1 | Play 商店服务现在未连接,需要开启加速器或play商店正在更新 |