问题描述

接入华为HMS SDK后,提交审核后,被驳回:使用花币充值时,对支付延时处理不当,导致商品不到账。模拟支付崩溃后(不在界面点击“知道了”,开启后台进程关闭游戏)游戏重启,点击开始,商品不到账。

问题分析
这里我们通过此地址提了工单,得到了华为的技术支持答复:

这种情况我们可以先按照审核提供的模拟方法自测:

在支付完成后,界面不点击“知道了”,直接强杀进程关闭我们应用(这种情况其实本质上模拟的是我们应用客户端没有收到华为的支付成功回调),然后重启应用,查看之前支付成功的商品有没有发货。如果没有发货,说明补单机制有异常,会被驳回。

华为提供了补单接口obtainOwnedPurchases ,需要在适当的时机调用,以解决因为某些网络异常、进程突然死掉等各种异常场景导致的掉单。

可以参考此文档,做掉单的补单处理:

测试复现,我们确实重启后没有发货。

问题解决
核实代码后,发现我们只做了60051错误码的掉单处理,返回错误码-1和应用启动时均没有处理,补充处理后,重新提交审核,问题解决。

原文链接:https://developer.huawei.com/...
原作者:Mayism


华为开发者论坛
352 声望56 粉丝

华为开发者论坛是一个为开发者提供信息传播、开发交流、技术分享的交流空间。开发者可以在此获取技术干货、华为源码开放、HMS最新活动等信息,欢迎大家来交流分享!