当前位置: 首页 > 后端技术 > Java

[FAQ]接入华为应用内支付服务常见问题

时间:2023-04-01 16:59:50 Java

HMSCore应用内购买(IAP)为应用提供便捷的应用内支付体验和简单的接入流程。开发者应用集成IAPSDK后,调用IAPSDK接口,启动IAP收银,即可实现应用内支付。通过应用内支付服务,用户可以在应用内购买各种类型的虚拟商品,包括一次性物品(包括消耗品和非消耗品)和订阅物品。小编总结了这段时间开发者比较关注的在集成应用内支付服务的过程中遇到的一些问题,并根据需要给出解决方案供大家使用。问题1、同一个订阅组,连续包月未到期,连续包月切换为包年连续包月,在华为帐号中心管理订阅页面取消连续包月。为什么连续包年也取消了?原因分析:由连续包月转为连续包年,产品不(待)效。如果此时取消连续包月产品,则发送连续包月取消通知事件。由于此时包年还未生效,所以暂时不发送连续年的Unsubscribe事件。问题2、华为智能手表在调用收银界面时提示“此应用需要安装更高版本的HMSCore相关组件后方可使用,是否立即更新?”点击更新,提示更新失败,错误102。原因分析:该错误码一般表示子Kit需要升级,但是手表应用市场上没有相关的子App,所以安装包无法找到。在华为智能手表上集成JSSDK,需要升级的两个主要子套件是JSBKit和IAPKit。目前,JSBKit已经发布到应用市场,IAPKit还在发布计划中。解决方法:如果遇到这个提示,我们可以采用翻墙的方法,即提示用户从手表应用市场手动下载最新的HMSCoreAPK,并根据返回的错误码700111进行处理。问题3:应用内支付服务提供Android和HarmonyOSSDK。支持的功能和设备有什么区别?App可以通过集成IAPSDK实现应用内支付,然后调用IAPSDK接口启动IAP收银。Android和HarmonyOSSDK均提供基础的应用内支付服务,包括订单管理、订阅、查看历史购买记录等;但HarmonyOSSDK目前不支持非PMS支付和延期支付。支持设备方面,HarmonyOSSDK支持华为手机、华为手表、华为平板;除了华为设备,AndroidSDK还支持非华为手机和汽车。详见下表:问题4:SDK接口obtainOwnedPurchasesRecord2.0sdk接口productPay的obtainOwnedPurchasesRecord为什么不能在应用支付4.0及以上版本购买PMS非消耗商品订单?原因分析:应用内支付4.0及以上版本与2.0版本数据不在同一个数据库,暂时无法合并,所以使用新接口的无法查询到之前的订单。解决方法:如果应用中有显示历史数据的需求,可以只显示4.0以后集成版本sdk的数据,比如1月22日集成更新,可以提示该页面只能查询购买数据1月22日之后。(参考)开发者可以整合之前2.x版本的购买数据(从应用服务端获取)和4.0及之后版本的sdk获取的数据(从IAPSDK接口获取)。(推荐)问题5、在华为智能手表上,已经进入沙盒测试环境。拉起收银机后,没有显示支付二维码,提示请求参数错误。原因分析:目前扫码支付方式暂时不支持沙盒测试。比如手表、智慧屏等都是扫码支付,所以会出现相应的错误提示。解决方法:登录非沙箱账号(或删除沙箱账号),触发线上环境进行测试。更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~