【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接口)获取到的数据进行整合处理。(推荐)
问题五、 华为智慧手表上,已经进入到沙盒测试环境中,拉起收银台后支付二维码不显示,提示请求参数错误。

原因分析:
目前扫码类的支付方式都暂时不支持沙盒测试,比如手表,智慧屏等都是通过扫码方式进行支付的,所以会出现相应错误提示。
解决方法:
登录非沙盒帐号(或者删除沙盒帐号),触发现网环境进行测试。
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
【FAQ】接入华为应用内支付服务常见问题解答的更多相关文章
- 接入华为应用内支付,验证购买Token接口,返回“rights invalid”
有海外开发者向我们提问:我在应用中集成了华为应用内支付SDK(测试购买订阅型商品),按照文档说明,在服务器去请求验证购买Token接口的时候返回了{"responseCode":& ...
- 【FAQ】应用内支付服务无法拉起支付页面常见原因分析和解决方法
华为应用内支付服务(In-App Purchases)通过简便的接入流程为用户提供良好的应用内支付体验,然而在实际接入过程中,有一些开发者反馈测试时会无法正常拉起支付页面,下文将详细分析问题出现的5种 ...
- 【FAQ】接入HMS Core应用内支付服务过程中一些常见问题总结
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即 ...
- 【FAQ】干货满满,接入HMS Core应用内支付服务过程中一些常见问题总结(2)来啦
HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.该服务支持客户端和服务端两种开发形式,具体可以参考官方文档 上次,我们分享和总 ...
- 【FAQ】华为帐号服务报错 907135701的常见原因总结和解决方法
很多开发者在接入华为帐号服务时,经常会出现907135701的报错.根据官网文档说明,错误码907135701表示: 这个错误码在安卓和鸿蒙上都会出现,导致该报错的原因有很多,开发者可以按照下面几点进 ...
- SDK接入(2)之Android Google Play内支付(in-app Billing)接入
SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...
- SDK接入(3)之iOS内支付(In-App Purchase)接入
SDK接入(3)之iOS内支付(In-App Purchase)接入 继整理了Android平台的SDK接入过程.再来分享下iOS平台的内支付(In-App Purchase)接入,作为笔者在游戏开发 ...
- IOS IAP APP内支付 Java服务端代码
IOS IAP APP内支付 Java服务端代码 场景:作为后台需要为app提供服务,在ios中,app内进行支付购买时需要进行二次验证. 基础:可以参考上一篇转载的博文In-App Purcha ...
- Google play billing(Google play 内支付) 上篇
写在前面: 最近Google貌似又被全面封杀了,幸好在此之前,把Google play billing弄完了,现在写篇 博客来做下记录.这篇博客一是自己做个记录,二是帮助其他有需要的人.因为现在基本登 ...
随机推荐
- 【黑马pink老师的H5/CSS课程】(一)基本介绍
视频P4~P6 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动 1.网页 1.1 什么是网页 网站是网页的集合,网页是构成网站的基本元素,常用html格式文件 1. ...
- sql-DDL-约束
约束 对表中的数据进行限定,保证数据的正确性.有效性和完整性. 6个约束 1. 主键约束Primary Key: 唯一,不能为null -- 主键约束.和唯一约束不能同时设置 1. 含义:非空且唯一 ...
- 【python量化】将Transformer模型用于股票价格预测
本篇文章主要教大家如何搭建一个基于Transformer的简单预测模型,并将其用于股票价格预测当中.原代码在文末进行获取.小熊猫的python第二世界 1.Transformer模型 Transfor ...
- 【跟着大佬学JavaScript】之节流
前言 js的典型的场景 监听页面的scroll事件 拖拽事件 监听鼠标的 mousemove 事件 ... 这些事件会频繁触发会影响性能,如果使用节流,降低频次,保留了用户体验,又提升了执行速度,节省 ...
- JAVA中计算两个日期时间的差值竟然也有这么多门道
上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看.题目很简单: 给定一个日期,然后计算下距离今天相差的天数. 本以为这么个问题就是用来活跃面试氛围的,但是结果却让人大跌眼 ...
- 编译安装Python出现“pip is configured with locations that require TLS/SSL, however the ssl.....”
ubuntu: sudo apt-get install libssl-dev Cenos: sudo yum install openssl-devel 重新编译: ./configure --en ...
- 线程池ThreadPoolExector核心ctl, execute, addWorker, reject源码分析
线程池核心方法execute()解析: public void execute(Runnable command) {//#1 if (command == null) throw new NullP ...
- CF1700C Helping the Nature
题目大意: 给出一个长度为 n 的序列 a,每次可以进行三种操作中的一种: 选择i,将 a_1,a_2,...,a_i减1. 选择i,将 a_i,a_i+1,...,a_n减1. 将所有 a_i加1. ...
- 记一次删除k8s namespace无法删除的问题
在用longhorn工具做k8s存储卷动态预配的时候,需要修改longhorn.yaml的一个默认参数,修改完成需要重新加载longhorn.yaml,结果重新加载出错了,修改的参数没有生效,于是执行 ...
- std::hash<std::pair<int, int> >
标题是搞笑的 ! 这个问题只需要 since C++11 问题:怎么让 unordered_map 支持使用 pair 作为 key? 如果你能把两个东西压到一个基本类型里那么就不用解决这个问题了 . ...