智能客服
你问我答,随时在线为你解决问题
近期我们在接入华为应用内支付IAP SDK,官方指导文档上说明了支付流程:
在支付完成后,需要调用consumeOwnedPurchase接口对商品进行消耗,但我测试时,消耗接口一直报错 60001,提示purchaseToken为空,报错日志如下:
2022-04-01 09:58:47.915 31470-7487/? I/hms_pay: [I/IAP_APK[6.4.0.352]/hms_pay 31470:29860 LogUtil.java:4] hms_pay ConsumePurchaseRequest onRequest, purchaseToken is null or empty.
2022-04-01 09:58:47.915 31470-7487/? I/hms_pay: [I/IAP_APK[6.4.0.352]/hms_pay 31470:29860 LogUtil.java:4] hms_pay returnCode: 60001, message: purchaseToken is null or empty
这里还原下我们的测试步骤和代码逻辑。
1. 先在后台创建一个消耗商品,调用createPurchaseIntent接口发起购买并支付成功后,不对商品进行消耗。

后来参照文档的示例代码,在遇到60051错误码时,先调用obtainOwnedPurchases接口,查询所有的未消耗商品的订单。

通过接口查询到了未消耗商品订单,核实已发货后,再调用consumeOwnedPurchase接口进行商品消耗。

文档参考链接:
我要发帖子