HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程。该服务支持客户端和服务端两种开发形式,具体可以参考官方文档

上次,我们分享和总结了有关com.huawei.hmf.tasks.Task/应用服务器验证,验证购买token 失败等问题。今天小编再次将这段时间开发者们较为关注的一些集成应用内支付服务过程中的问题进行了汇总,并提出解决方案。大家按需取用吧!

目录

沙盒帐号已正确配置,却无法进入沙盒环境

哪些场景下会收到订阅关键事件通知cancel

InAppPurchaseData中的payOrderId 和orderId有什么区别?

如何理解新订阅在下一个周期才生效?

集成智慧屏帐号、应用内支付等功能,必须在华为智慧屏上进行调试吗?

1. 沙盒帐号正确配置了,但仍无法进入沙盒环境

沙盒环境测试允许开发者在接入应用内支付服务联调过程中无需真实支付即可完成端到端的测试。开发者可以在AppGallery Connect中配置测试帐号,并允许这些帐号执行沙盒测试。如果已经进入沙盒环境会有如下页面提示:

配置沙盒环境的必要条件:

一般而言,开发者需要配置沙盒测试环境帐号和沙盒测试版本。如果测试帐号正确配置了,那么就是沙盒测试版本有问题,比如更改了versionName,没有更改versionCode。

如果出现没有进入沙盒环境的问题,则可以调用isSandBoxActivated接口,打印出以下字段值:

通过以上方法,我们便可以分析出没有进入沙盒环境的具体原因。更多内容还可以参考官网

2. 哪些场景下会收到订阅关键事件通知cancle?

出现订阅事件cancle事件,一般有以下两种场景。

  1. 调用订阅撤销接口:在收到用户申诉误购买该订阅型商品或不需要该订阅型商品的情况下,开发者可以调用应用内支付服务器提供的撤销订阅接口终止服务,购买的订阅型商品立即消失,同时这笔订阅费用会立即发起返还

具体可访问官网

  1. 切换订阅立即生效:用户原订阅的剩余金额将折算成新订阅的天数,延长新订阅的有效期。目前这种切换效果的触发场景是原订阅的续费周期和即将更换的订阅续费周期相同。

具体可访问官网

  1. 两者区别:调用撤销接口会立刻进行退费;切换订阅立即生效场景会将当前订阅剩余的权益值转移到下个订阅产品中,不会形成退费。

3. InAppPurchaseData中的payOrderId 和orderId有什么区别?

  1. payOrderId是华为订单号,也就是支付成功后,华为侧生成的订单号。每一笔支付成功的订单都会生成唯一的订单号。

  2. orderId 是商户请求号,每次调用支付收银台接口,都会由华为服务器生成唯一的商户请求号,代表着每一次请求。

因此,如果调用华为收银台接口就会生成OrderId,而PayOrderId是支付成功才会生成的。

4. 如何理解新订阅在下一个周期才生效?

原订阅设置为到期状态,新订阅为待生效状态。新订阅会在原订阅的失效日期开始扣费并生效。目前这种切换效果的触发场景为:原订阅的续费周期和即将更换的订阅续费周期不同。

具体可访问官网

举个例子!

用户在2月22日购买订阅周期为1个月的A产品30元,3月10日购买订阅周期为3个月的B产品80元,那么可得知:

1)2月22日会扣A产品的30元,3月10日重新签约B产品,B产品暂不扣费。

2)A产品会被设定为到期状态,即A产品3月22日到期且不再扣费。

3)B产品在3月22日生效并扣费,下次扣费时间为6月22日。

5. 集成智慧屏帐号、应用内支付等功能,必须在华为智慧屏上进行调试吗?

智慧屏测试依赖HMS Core TV APK,如果没有该APK,那么对应集成的相关功能将无法使用。一般来说,华为智慧屏会预装该系统应用。这时有的开发者会想,能否在手机或者其他品牌电视上进行智慧屏帐号、应用内支付的功能测试?答案是否定的,原因有二:

  1. 由于华为安全和隐私规范,原则上该APK不对外暴露。

  2. HMS Core 部分能力依赖华为系统,那么在其他品牌电视上可能无法使用。6.2.0.300版本后,华为手机也无法正常使用。

欲了解更多HMS Core应用内支付服务详情,请参阅应用内支付服务官网

了解更多详情>>

访问华为开发者联盟官网

获取开发指导文档

华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

【FAQ】干货满满,接入HMS Core应用内支付服务过程中一些常见问题总结(2)来啦的更多相关文章

  1. 【FAQ】接入HMS Core应用内支付服务过程中一些常见问题总结

    HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即 ...

  2. 【FAQ】接入HMS Core推送服务过程中一些常见问题总结

    HMS Core 推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道.开发者通过集成推送服务,可以向客户端应用实时推送消息,构筑良好的用户关系,提升用户的感知度和活 ...

  3. 【FAQ】接入华为应用内支付服务常见问题解答

    HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即 ...

  4. 【FAQ】应用内支付服务无法拉起支付页面常见原因分析和解决方法

    华为应用内支付服务(In-App Purchases)通过简便的接入流程为用户提供良好的应用内支付体验,然而在实际接入过程中,有一些开发者反馈测试时会无法正常拉起支付页面,下文将详细分析问题出现的5种 ...

  5. SDK接入(3)之iOS内支付(In-App Purchase)接入

    SDK接入(3)之iOS内支付(In-App Purchase)接入 继整理了Android平台的SDK接入过程.再来分享下iOS平台的内支付(In-App Purchase)接入,作为笔者在游戏开发 ...

  6. 别再问WiFi密码了,HMS Core统一扫码服务让手机一键联网

    现代生活离不开网络.在餐厅.商场等公共场所,手机连接WiFi一直是高频使用场景.虽然公共场所的免费WiFi越来越多,但网络连接过程却很麻烦.有的需要打开网页注册或点击广告链接才能上网,还有的要求下载特 ...

  7. 【FAQ】接入HMS Core推送服务,服务端下发消息常见错误码原因分析及解决方法

    HMS Core推送服务支持开发者使用HTTPS协议接入Push服务端,可以从服务器发送下行消息给终端设备.这篇文章汇总了服务端下发消息最常见的6个错误码,并提供了原因分析和解决方法,有遇到类似问题的 ...

  8. 【FAQ】接入HMS Core地图服务过程中常见问题总结

    HMS Core地图服务(Map Kit)给开发者提供一套地图开发调用的SDK,助力全球开发者实现个性化地图呈现与交互,方便轻松地在应用中集成地图相关的功能,全方位提升用户体验. 在日常工作中,我们会 ...

  9. 【FAQ】应用集成HMS Core部分服务出现“ 6003报错”情况的解决方法来啦

    背景 开发者在应用中集成HMS Core部分服务时,android sdk 以及flutter等跨平台sdk,会出现编译打包后,运行报6003错误码的情况.根据查询可以得知,错误代码 6003 表示证 ...

随机推荐

  1. 【Jenkins】基于Windows系统安装Jenkins

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 一.Jenkins简介 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. Jenkins 支持各种 ...

  2. 使用tc配置后端设备,来限制虚拟机网卡带宽

    如果通过tc来限制虚拟机网卡接收方向带宽呢,实际上使用tc对接收方向限制的不够好,使用tc ingress可以限制接收,但是功能不够多,而且会形成丢包问题.一般是采用将流量重定向到一个虚拟设备ifb上 ...

  3. Java的浅克隆和深克隆

    如何实现对象的克隆 (1)实现 Cloneable 接口并重写 Object 类中的 clone() 方法: (2)实现 Serializable 接口,通过对象的序列化和反序列化实现克隆,可以实现真 ...

  4. 百度Paddle速查_CPU和GPU的mnist预测训练_模型导出_模型导入再预测_导出onnx并预测

    需要做点什么 方便广大烟酒生研究生.人工智障炼丹师算法工程师快速使用百度PaddelPaddle,所以特写此文章,默认使用者已有基本的深度学习概念.数据集概念. 系统环境 python 3.7.4 p ...

  5. Spring Authorization Server 0.2.3发布,放出联合身份DEMO

    很快啊Spring Authorization Server又发新版本了,现在的版本是0.2.3.本次都有什么改动呢?我们来了解一下. 0.2.3版本特性 本次更新的新特性不少. 为公开客户端提供默认 ...

  6. VUE常见问题

    VUE常见问题 对于MVVM的理解 MVVM 是 Model-View-ViewModel 的缩写 Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑 View 代表UI 组件, ...

  7. 【转】pringMVC+Hibernate+Spring 简单的一个整合实例

    ref:http://langgufu.iteye.com/blog/2088355 SpringMVC又一个漂亮的web框架,他与Struts2并驾齐驱,Struts出世早而占据了一定优势,我在博客 ...

  8. 是否可以继承String类?

    String 类是final类,不可以被继承. 补充:继承String本身就是一个错误的行为,对String类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A) ...

  9. switch 是否能作用在 byte 上,是否能作用在 long 上, 是否能作用在 String 上?

    在 Java 5 以前,switch(expr)中,expr 只能是 byte.short.char.int.从 Java 5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 ...

  10. @Autowired 注解 ?

    @Autowired 注解提供了更细粒度的控制,包括在何处以及如何完成自动装配. 它的用法和@Required 一样,修饰 setter 方法.构造器.属性或者具有任意名称 和/或多个参数的 PN 方 ...