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配置应用正式签名证书的指纹信息:

  1. 登录AppGallery Connect,点击“我的项目”。
  2. 在项目列表中找到您的项目,在项目中点击您的应用/元服务。
  3. 在“项目设置 > 常规”页面的“应用”区域,点击“SHA256证书/公钥指纹”后的“添加公钥指纹(HarmonyOS API 9及以上)”。
  4. 在“选择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

2 回复

在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服务。

回到顶部