Android应用内购报错:无法找到要购买的商品 求技术支持
应用内购报错:
The item that you were attempting to purchase could not be found 排查方案 问题描述
已在Android和Google Play商店配置应用内购功能,但从Android应用尝试购买商品时,返回错误:The item that you were attempting to purchase could not be found。
已完成的排查操作
- 使用物理设备测试(未使用模拟器)
- 应用处于Alpha/Beta测试阶段,已安装对应NuGet包
- IAB商品已创建、发布且处于激活状态
- 测试账号已设为设备主账号,且已注册为测试人员
- 开发环境版本代码、版本号与Play商店完全一致
- 调试模式下APK已完成签名
Bug信息
- 插件版本号:7.1.0
- 测试设备:实体Samsung A40
- VS版本:17.6.7
- .NET Maui版本:7.0.100
复现步骤
- 在Android和Google Play中完成应用内购功能配置
- 启动应用尝试发起商品购买请求
预期行为
可正常完成商品购买流程
实际行为
触发错误提示:The item that you were attempting to purchase could not be found
代码片段
var purchase = await billing.PurchaseAsync(productId, ItemType.InAppPurchase);
错误截图

额外排查建议
- 严格校验Product ID一致性:确认代码中使用的
productId与Google Play控制台中创建的商品ID完全匹配,注意大小写、特殊字符、空格等细节,不能有任何拼写偏差。 - 等待Play商店缓存同步:商品发布后,Play服务器存在缓存同步延迟,即使控制台显示已激活,也建议等待1-2小时后再测试。
- 核对签名指纹:确保开发环境使用的签名证书SHA-1指纹已添加到Google Play控制台的应用签名设置中(需覆盖上传密钥和应用签名密钥两类)。
- 确认测试账号状态:测试账号需在Play控制台的Alpha/Beta测试列表中,且已通过邀请链接确认加入测试计划。
- 匹配商品类型:检查代码中
ItemType.InAppPurchase与控制台创建的商品类型是否一致,若为订阅类商品需切换为ItemType.Subscription。 - 开启调试日志定位:添加异常捕获日志,获取Billing Library返回的详细错误信息:
try { var purchase = await billing.PurchaseAsync(productId, ItemType.InAppPurchase); } catch (Exception ex) { Console.WriteLine($"购买错误详情: {ex.Message}, 内部异常: {ex.InnerException?.Message}"); } - 检查地区限制:确认测试账号所在地区未被商品的发布地区排除,控制台中需设置该地区为可购买范围。
内容的提问来源于stack exchange,提问作者Sach K
相关产品推荐
相关产品推荐

