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. 如何在MySQL中增加一列

    如果想在一个已经建好的表中添加一列,可以使用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(255) not null; 这 ...

  2. Shell:常见错误总结(一)

    Blog:博客园 个人 译自BashPitfalls 本文总结了编写Shell脚本中的常见错误. for f in $(ls *.mp3) 最常犯的错之一就是编写这样的循环: for f in $(l ...

  3. 通过webgoat-xxe、jwt学习Java代码审计

    WebGoat-JWT JWT Tokens 01 概念 本课程将介绍如何使用JSON Web Token(JWT)进行身份验证,以及在使用JWT时需要注意的常见陷阱. 目标 教授如何安全地实现令牌的 ...

  4. Vue中import和require的对比

    Vue中import和require的对比 一.前言 ​ vue框架想必是我们前端朋友们必学的知识点,说它难也没有那么难,说简单也没有那么简单,主要技术就是那么几个,可是里面的细节很多,有些时候我们会 ...

  5. BGP的五种报文六种状态

    BGP的五种报文 Open报文:用于协商BGP参数,包括版本号,AS号等信息.在两个路由器之间建立了TCP会话之后开始交换Open信息以确认是否能形成邻居关系,是TCP建立后发送的第一个信息,类似OS ...

  6. 搭建nuget服务器(二):制作nuget包

    生成nuget包可以使用nuget.exe或者下载nuget package explorer工具 nuget package explorer 下载地址:https://github.com/NuG ...

  7. python3 爬虫2--发送请求1

    1urlopen 属于url.request类 我们用urlopen("网址")来发送请求 最基础的发送请求如下 from urllib.request import urlope ...

  8. 手把手带你使用Paint in 3D和Photon撸一个在线涂鸦画板

    Paint in 3D Paint in 3D用于在游戏内和编辑器里绘制所有物体.所有功能已经过深度优化,在WebGL.移动端.VR 以及更多平台用起来都非常好用! 它支持标准管线,以及 LWRP.H ...

  9. KestrelServer详解[3]: 自定义一个迷你版的KestrelServer

    和所有的服务器一样,KestrelServer最终需要解决的是网络传输的问题.在<网络连接的创建>,我们介绍了KestrelServer如何利用连接接听器的建立网络连接,并再次基础上演示了 ...

  10. mybatis是如何分页的,分页插件的原理是什么

    mybatis是如何分页的,分页插件的原理是什么 代码之尖关注 12018.12.28 17:11:12字数 529阅读 19,877 1. SQL 分页 <select id="qu ...