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. 选择Key-Value Store

    [IT168 专稿]在之前的文章中,给大家介绍了<Redis快速入门:Key-Value存储系统简介>,今天进一步给大家介绍为什么选择Key-Value Store.Key-Value S ...

  2. 从HDFS的写入和读取中,我发现了点东西

    摘要:从HDFS的写入和读取中,我们能学习到什么? 本文分享自华为云社区<从HDFS的写入和读取中,我们能学习到什么>,作者: breakDawn . 最近开发过程涉及了一些和文件读取有关 ...

  3. dp:找零问题

    C代表币的种类,n代表钱数 #include<iostream> using namespace std; #define C 4 void main( ) { int coin[4]={ ...

  4. Error running 'App': Command line is too long. Shorten command line for App or also for Spring Boot default configuration.

    找到标签 <component name="PropertiesComponent">.在标签里加一行  : <property name="dynam ...

  5. 比较一下 Java 和 JavaSciprt?

    JavaScript 与 Java 是两个公司开发的不同的两个产品.Java 是原 Sun Microsystems 公司推出的面向对象的程序设计语言,特别适合于互联网应用程序 开发:而 JavaSc ...

  6. Pycharm连接MySQL步骤及注意点

    1.数据库连接修改MySQL: 默认:MySQLDB #MySQLDB只支持Python2,暂不支持python3,所以要修改, 修改成:pymysql,在每个项目中都需要先导入pymysql模块, ...

  7. Serial 与 Parallel GC 之间的不同之处?

    Serial 与 Parallel 在 GC 执行的时候都会引起 stop-the-world.它们之间主要 不同 serial 收集器是默认的复制收集器,执行 GC 的时候只有一个线程,而 para ...

  8. python面向对象--快速入门

    1面向对象基本用法 1.1基本格式 class 类名: def __init__(self,x): self.x = x def 方法名字 (self): #函数在类里称为方法,self就是固定参数, ...

  9. Linux用户无法使用sudo命令

    新建的用无法使用sudo命令,出现这样的提示: xiaojing is not in the sudoers file. This incident will be reported 原来是新建的用户 ...

  10. ubuntu 安装 mysql mariadb

    本教程面向Ubuntu服务器,适用于Ubuntu的任何LTS版本,包括Ubuntu 14.04,Ubuntu 16.04,Ubuntu 18.04,甚至非LTS版本(如Ubuntu 17.10和其他基 ...