HarmonyOS鸿蒙Next中非自动续期订阅,沙箱第二次购买提示1001860051
HarmonyOS鸿蒙Next中非自动续期订阅,沙箱第二次购买提示1001860051 非自动续期订阅,沙箱第二次购买提示1001860051。。。Failed to purchase a product because the user already owns the product
为什么?
1001860051 由于已经拥有该商品,购买失败。
可能原因
该商品已经购买。
处理步骤
可通过queryPurchases接口确认用户是否购买了该商品。
-
若商品为消耗型商品或非续期订阅商品,检查商品是否发货,确认发货成功之后调用finishPurchase接口完成购买,下次可正常购买。
-
若商品为非消耗型商品或自动续期订阅商品,已经购买则不能再次购买。
参考地址
更多关于HarmonyOS鸿蒙Next中非自动续期订阅,沙箱第二次购买提示1001860051的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
是不是consumable non-consumable的问题。第二个应该只能买一次。,
1001860051 的含义就是 PRODUCT_OWNED,对非自动续期订阅(NONRENEWABLE)来说,常见原因有两个:1)上一单买完后还没正确 finishPurchase,系统仍认为这笔购买未完成;2)该账号当前仍持有这个非续期订阅的有效权益,所以第二次购买被判定为“已拥有”。建议先查 queryPurchases,商品类型传 NONRENEWABLE,看返回的是未完成订单还是当前权益仍有效;如果是未完成,先补发货并 finishPurchase;如果权益本身还在有效期内,那沙箱里第二次买失败反而是符合预期的。这个场景不是走 consumePurchase,重点是确认购买状态和发货完成状态。
错误码1001860051表示由于用户已经拥有该商品,导致购买失败。一般是因为在上一次购买过程中,应用没有正确向应用内支付Kit(IAP Kit)确认发货,导致订单被挂起。需要通过应用日志排查一下问题。
错误码1001860051表示该非自动续期订阅商品在沙箱环境中已有有效订阅记录,因此第二次购买被拒绝。非自动续期订阅同一商品在有效期内不可重复购买,需等待订阅过期或调用消耗接口释放订阅关系后,方可重新发起购买。
在 HarmonyOS Next 的沙箱环境中,非自动续期订阅(Non-renewing Subscription)被 IAP Kit 视为“非消耗型商品”的一种变体。第一次购买成功后,商品会进入“已拥有”状态,在其订阅周期到期之前,系统判定用户已持有该商品,因此再次发起购买会直接拒绝,并返回错误码 1001860051(对应错误信息:用户已拥有该产品)。这是沙箱模拟的正常业务逻辑,与线上表现一致,并非异常。需要等待上一次订阅过期后,才允许重新购买。

