HarmonyOS鸿蒙Next中Subscription服务验证购买Token失败,{"responseCode":"8","responseMessage":"IAP_RESPONSE_RESULT_ITEM_NOT_OWNED"}

HarmonyOS鸿蒙Next中Subscription服务验证购买Token失败,{“responseCode”:“8”,“responseMessage”:“IAP_RESPONSE_RESULT_ITEM_NOT_OWNED”} 问题描述

接入华为应用内支付服务SDK,购买订阅型商品后,切换订阅到不同周期商品,此时收到了关键事件通知,我拿里面的subscriptionId和purchaseToken去请求验证,但是报错{“responseCode”:“8”,“responseMessage”:“IAP_RESPONSE_RESULT_ITEM_NOT_OWNED”}。

我参考了网上的帖子:

https://developer.huawei.com/consumer/cn/forum/topic/0202637120689120192?fid=0101271690375130218

说是subscriptionId订阅ID用错了,但是我反复检查了几遍,确定请求参数没问题。

问题分析和解决

找到华为技术支持(可以提交工单https://developer.huawei.com/consumer/cn/support/feedback),对方告诉我,切换订阅有两种场景:

我测试的是切换订阅不同周期商品,即等到当前订阅周期结束后,切换后的商品才会生效。

当切换操作完成后,收到的关键事件通知类型是4和5,未产生扣费,此时只需要关注状态即可,不需要做支付验证发货等操作的。如果在切换后收到关键事件通知,拿通知数据里面的新的订阅ID去做token校验,就会报出我遇到的这个错误,这个是正常的,因为新的订阅ID当前还未生效。

等到当前订阅商品周期结束后,切换订阅产生扣费,商品生效,这时候也会收到关键事件通知,且事件类型是7,然后就可以按照支付流程正常处理了。

PS:

切换订阅的文档介绍:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/subscription-functions-0000001050130264

通知事件的类型的介绍:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/api-notifications-about-subscription-events-0000001050706084#ZH-CN_TOPIC_0000001050706084__table2818954


更多关于HarmonyOS鸿蒙Next中Subscription服务验证购买Token失败,{"responseCode":"8","responseMessage":"IAP_RESPONSE_RESULT_ITEM_NOT_OWNED"}的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中Subscription服务验证购买Token失败,{"responseCode":"8","responseMessage":"IAP_RESPONSE_RESULT_ITEM_NOT_OWNED"}的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,遇到Subscription服务验证购买Token失败,返回错误代码8和错误信息IAP_RESPONSE_RESULT_ITEM_NOT_OWNED,通常表示用户尚未拥有该订阅项。可能原因包括:

  • 购买未完成:用户未完成购买流程,导致订阅项未生效。
  • 订阅已过期:用户的订阅已过期或未续订。
  • Token无效:提供的Token已过期或无效,无法验证购买状态。

解决方案

  • 检查购买流程是否完整,确保用户已成功购买。
  • 验证Token的有效性,确保其未过期。
  • 提示用户重新订阅或续订。

如问题持续,建议联系华为IAP技术支持获取进一步帮助。

回到顶部