
【鸿蒙游戏技术分享 第6期】华为鸿蒙游戏无法拉起支付页面,返回1001860001,System internal error
【关键词】
鸿蒙应用内支付,IAP
【问题描述】
集成华为鸿蒙应用内支付服务,调用createPurchase拉起支付界面失败,返回BusinessError 1001860001: System internal error。
【问题分析】
在开发者联盟上查到错误码1001860001对应的描述和解决办法,如下
6.1.png
检查工程“entry/src/main/module.json5”的module节点下client_id、app_id属性的与AGC后台是否一致,是否使用的手动签名,AGC后台是否开启和激活应用内购买服务,以及公钥指纹添加是否正确。
经检查,以上信息均正确,再查看日志。
6.2.png
从日志看是productId不正确导致的。检查代码,productId是有传值的。
把createPurchase接口的入参PurchaseParameter打印出来,发现是productId传的是number类型。
6.3.png
写法大致如下,json字串中productId实际传的是number类型的数据,as PayData仅是告诉编辑器param.productId这个参数是string类型,不会校验数据类型也不会做数据类型转化。
所以pay方法定义的productId参数是string类型,pay接收时仍然不会报错,但实际传输的数据类型是number。
6.4.png
6.5.png
6.6.png
【问题解决】
修改数据类型,问题解决。
更多问题可关注:
鸿蒙游戏官方网站:https://developer.huawei.com/consumer/cn/games/
公开课:华为开发者学堂
