【FAQ】接入华为应用内支付服务常见问题解答
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程。开发者的应用集成 IAP SDK 后,调用 IAP SDK 接口,启动 IAP 收银台,即可实现应用内支付。
通过应用内支付服务,用户可以在应用内购买各种类型的虚拟商品,包括一次性商品(包括消耗型商品和非消耗型商品)和订阅型商品。小编将这段时间开发者们较为关注的一些集成应用内支付服务过程中的问题进行了汇总,并给出了解决方法,大家按需取用。
问题一、同一订阅组,连续包月未到期,切换到连续包年,在华为帐号中心管理订阅页面中取消订阅连续包月,为何连续包年订阅也会被一同取消?
原因分析:
从连续包月切换至连续包年后,产品处于未(待)生效状态,如果此时取消掉连续包月产品,那么会发送连续包月订阅取消通知事件,由于此时包年未生效,暂不会发送连续包年的取消订阅事件。
问题二、在华为智能手表上,调用收银台接口,提示“此应用需安装 HMS Core 相关组件的更高版本才能使用。是否立即更新”,点击更新,提示更新失败,错误 102。
原因分析:
该错误码一般表示子 Kit 需要升级,但是手表应用市场没有相关的子应用上架,所以找不到安装包。在华为智能手表上集成 JS SDK,需要升级的主要两个子 Kit 分别是 JSB Kit,IAP Kit。目前 JSB Kit 已上架到应用市场,IAP Kit 尚在上架排期中。
解决方法:
如果遇到该提示,我们可以使用规避方案,即提示用户去手动到手表应用市场下载最新的 HMS Core APK,根据返回的700111错误码进行处理。
问题三、应用内支付服务提供 Android 和 HarmonyOS SDK,支持的功能和设备有什么区别?
App 通过集成 IAP SDK,再调用 IAP SDK 接口启动 IAP 收银台,即可实现应用内支付。Android 和 HarmonyOS SDK 都提供基础的应用内支付服务,包括订单管理、订阅、查看历史购买记录等;但 HarmonyOS SDK 目前不支持非 PMS 支付和延迟付款支付。在支持的设备方面,HarmonyOS SDK 支持华为手机、华为手表和华为平板;Android SDK 除了华为设备以外,还支持非华为手机和车机。
具体可参考下表:
问题四、为什么应用内支付 4.0 以上版本 SDK 接口 obtainOwnedPurchasesRecord 无法查询到 2.0 sdk 接口 productPay 购买的 PMS 非消耗性商品订单?
原因分析:
应用内支付 4.0 以上版本和 2.0 版本数据不在同一个数据库上,且暂时无法合并,所以使用新接口的无法查询到之前的订单。
解决方法:
如果应用上有展示历史数据的需求,可以仅展示集成 4.0 之后版本 sdk 的数据,如 22 年 1 月份集成更新,则可提示本页面只可查询 22 年 1 月份之后的购买数据。(参考)
开发者可将之前 2.x 版本下单的购买数据(从应用服务侧获取)和 4.0 之后版本 sdk(从 IAP SDK 接口)获取到的数据进行整合处理。(推荐)
问题五、 华为智慧手表上,已经进入到沙盒测试环境中,拉起收银台后支付二维码不显示,提示请求参数错误。
原因分析:
目前扫码类的支付方式都暂时不支持沙盒测试,比如手表,智慧屏等都是通过扫码方式进行支付的,所以会出现相应错误提示。
解决方法:
登录非沙盒帐号(或者删除沙盒帐号),触发现网环境进行测试。
了解更多详情>>
获取开发指导文档
关注我们,第一时间了解 HMS Core 最新技术资讯~
版权声明: 本文为 InfoQ 作者【HMS Core】的原创文章。
原文链接:【http://xie.infoq.cn/article/d62f9ca7af0c8ac4ab4037009】。文章转载请联系作者。
评论