问题现象:
集成华为HMS SDK的IAP服务,客户端使用createPurchaseIntent支付接口成功购买了某商品,发货成功后调用华为的消耗接口consumeOwnedPurchase一直失败,错误码-1。
问题分析思路
- 看IAP[官网文档]错误码说明:
按照文档要求调用了该接口,该接口返回该笔订单,看官网说明,这笔订单没有消耗,需要调用消耗。
该错误码说明还是没有解决为啥我调用消耗接口返回-1的问题,目测文档中说明的是支付接口返回-1的场景,需要看这笔订单是否掉单,如果掉单,需要补单。
- 通过日志hms_pay关键词检查为啥消耗接口返回-1。
这里结合之前和华为技术支持沟通的经验,日志中过滤搜索了下hms_pay这个关键词(标红加粗,是重点),果然发现了有用信息:
信息清晰明了,检查了我的代码,确实这个字段超长度了~~~~
小结
后续遇到华为HMS IAP相关错误码异常,可以先文档错误码,然后hms_pay关键词看华为的提示信息啦,新技能分享给大家~~拿走不谢
作者:AppGallery Connect