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:
切换订阅的文档介绍:
通知事件的类型的介绍:
更多关于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失败,{"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技术支持获取进一步帮助。