【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弄完了,现在写篇 博客来做下记录.这篇博客一是自己做个记录,二是帮助其他有需要的人.因为现在基本登 ...
随机推荐
- 解开XAML的邪恶面纱
什么是XAML,首先我们看下它的外观 <Window x:Class="Blend_WPF.WindowStyle" xmlns="http://sc ...
- java反射之-Javabean与Map的互转
1.BeanUntils工具类的准备 /** * @ClassName: BeanUtils * @Description: * @Author: songwp * @Date: 9:02 2022/ ...
- 所有人都说Python 简单易学,为何我觉得难?
来谈谈心 记得刚学Python的时候,几乎所有人都说Python 简单易学,而对于编程零基础,只掌握Word和Excel的人来说,感觉真的好难. 学习之前网上的教材看了,Python的书也看了,包括& ...
- React key究竟有什么作用?深入源码不背概念,五个问题刷新你对于key的认知
壹 ❀ 引 我在[react]什么是fiber?fiber解决了什么问题?从源码角度深入了解fiber运行机制与diff执行一文中介绍了react对于fiber处理的协调与提交两个阶段,而在介绍协调时 ...
- Ubuntu14.04.6配置阿里源
Ubuntu14.04.6配置阿里源 这两天上手 Ubuntu 系统,因为公司用的是 14.04.6 版本,所以有了一些踩坑记录. 起因是安装完系统我需要安装一个搜狗输入法,过程得安装 fcitx,需 ...
- 基于SqlSugar的开发框架循序渐进介绍(11)-- 使用TypeScript和Vue3的Setup语法糖编写页面和组件的总结
随着Vue3和TypeScript的大浪潮不断袭来,越来越多的Vue项目采用了TypeScript的语法来编写代码,而Vue3的JS中的Setup语法糖也越来越广泛的使用,给我们这些以前用弱类型的JS ...
- Go死锁——当Channel遇上Mutex时
背景 用metux lock for循环,在for循环中又 向带缓冲的Channel 写数据时,千万要小心死锁! 最近,我在测试ws长链接网关,平均一个星期会遇到一次服务假死问题,因为并不是所有rou ...
- shell查询prometheus数据
#shell查询prometheus数据 shell使用curl调用HTTP API执行PromQL /api/v1/query查询某一时刻的数据 查询条件PromSQL复杂时, 传入接口/api/v ...
- Hadoop集群搭建(完全分布式版本) VMWARE虚拟机
Hadoop集群搭建(完全分布式版本) VMWARE虚拟机 一.准备工作 三台虚拟机:master.node1.node2 时间同步 ntpdate ntp.aliyun.com 调整时区 cp /u ...
- CF1706A Another String Minimization Problem 题解
题意 给定一个长度为 \(n\) 的序列 \(a\) 以及一个长度为 \(m\) 的字符串 \(s\),初始 \(s\) 均为 \(\text{B}\),第 \(i\) 次操作可以把 \(s_{a_i ...