HarmonyOS鸿蒙Next中如何解决IAP购买接口报1001860002错误码问题
HarmonyOS鸿蒙Next中如何解决IAP购买接口报1001860002错误码问题
问题现象
本地使用调试证书打包测试IAP购买没有问题,使用正式证书打包后,IAP购买接口报1001860002错误码。
背景知识
IAP Kit购买接口iap.createPurchase
常见错误码及描述:
错误码ID | 错误信息 |
---|---|
401 | Parameter error. |
1001860000 | The operation was canceled by the user. |
1001860001 | System internal error. |
1001860002 | The application is not authorized. |
1001860003 | Invalid product information. |
1001860004 | Too frequent API calls. |
1001860005 | Network connection error. |
1001860007 | The app to which the product belongs is not released in a specified location. |
1001860051 | Failed to purchase a product because the user already owns the product. |
1001860054 | The country or region of the signed-in HUAWEI ID does not support IAP. |
1001860056 | The user is not allowed to make purchase. |
1001860059 | Invalid promotional offer id. |
1001860060 | Invalid purchase signature. |
定位思路
根据错误码1001860002应用未被授权访问接口看,可能有两种原因:
- 应用的IAP服务开关未打开。
- 应用的签名证书指纹配置有误。
由于调试证书打包测试IAP购买是正常的,说明应用IAP服务开关是打开的,基本可以确定是切换正式证书打包,未将正式证书签名指纹配置到AGC导致。目前需要在AGC配置应用签名证书指纹的服务有:
- Account Kit(华为账号服务)
- Device Security Kit(设备安全服务)
- Game Service Kit(游戏服务)
- Health Service Kit(运动健康服务)
- IAP Kit(应用内支付服务)
- Map Kit(地图服务)
- Payment Kit(华为支付服务)
- Wallet Kit(钱包服务)
解决方案
按如下步骤在AGC配置应用正式签名证书的指纹信息:
- 登录AppGallery Connect,点击“我的项目”。
- 在项目列表中找到您的项目,在项目中点击您的应用/元服务。
- 在“项目设置 > 常规”页面的“应用”区域,点击“SHA256证书/公钥指纹”后的“添加公钥指纹(HarmonyOS API 9及以上)”。
- 在“选择SHA256公钥指纹”窗口,选择应用/元服务使用的证书对应的指纹,点击“确认”。
验证购买接口是否正常:
buy(id: string, type: iap.ProductType) {
let createPurchaseParam: iap.PurchaseParameter = {
productId: id,
productType: type,
}
iap.createPurchase(this.context, createPurchaseParam).then(async (result) => {
Logger.info('Succeeded in creating purchase.');
}).catch((err: BusinessError) => {
const msg: string = `Failed to create purchase. Code is ${err.code}, message is ${err.message}`;
Logger.error(msg);
})
}
接口调用成功,拉起收银台效果:
更多关于HarmonyOS鸿蒙Next中如何解决IAP购买接口报1001860002错误码问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,IAP购买接口报1001860002错误码通常与支付环境配置或参数错误有关
首先,确保应用已正确配置支付能力,并在AppGallery Connect中完成相关设置。
其次,检查请求参数是否完整且符合规范,特别是商品ID、价格、货币类型等。
最后,确认设备网络环境正常,且用户已登录华为账号。
若问题仍存在,可参考官方文档排查具体原因。
更多关于HarmonyOS鸿蒙Next中如何解决IAP购买接口报1001860002错误码问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
根据错误码1001860002和应用场景分析,问题确实是由于正式证书SHA256指纹未在AGC配置导致的。以下是具体解决方案:
1. 获取正式证书指纹
-
使用keytool命令获取正式签名证书的SHA256指纹:
keytool -list -v -keystore your_release_keystore.jks -alias your_alias
2. 在AGC配置指纹
- 登录AppGallery Connect
- 进入项目 > 应用 > 项目设置 > 常规
- 在"应用"区域的"SHA256证书/公钥指纹"处添加正式证书指纹
- 确保选择的是"HarmonyOS API 9及以上"选项
3. 验证配置
- 重新打包应用
- 测试IAP购买功能
- 检查是否还会出现1001860002错误
注意点
- 该配置变更需要10-15分钟生效
- 确保AGC中配置的指纹与打包使用的正式证书完全一致
- 如果使用多个环境(如测试/生产),需要为每个环境配置对应的证书指纹
配置完成后,IAP服务应该能正常调用。如果问题仍然存在,请检查证书指纹是否配置正确以及是否已正确关联到IAP服务。