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

接入,hms,core,应用,支付,服务,过程,一些,常见问题,总结 · 浏览次数 : 259

小编点评

**问题1:开发者联盟支付卡片中的支付公钥区别** * **支付公钥路径:**开发者联盟支付卡片中的支付公钥路径为 `developer_union>管理中心>支付>获取支付信息`。 * **应用内支付中配置的支付公钥路径:**应用内支付中配置的支付公钥路径为 `打开项目 >左侧导航栏“盈利 > 应用内支付服务”`。 **问题2:华为应用内支付回调请求为空** * **原因分析:**用户在支付成功后,华为支付服务器向华为IAP服务器发送支付成功回调,但回调请求为空字符串。 * **解决方案:**建议开发者检查华为IAP服务器的日志,分析回调请求内容。 **问题3:9月份提交的结算申请还没到账,请问收益结算什么时候到账?** * **原因分析:**用户在9月份提交的结算申请,目前还没到账,因为结算单中的结算状态显示是在“付款中”。 * **解决方案:**建议开发者确认订单是否已成功支付,并确保所有必要信息正确填写。 **问题4:HUAWEI IAP更新了URL,并提高了对TLS版本和密码套件的要求,如何更换域名?** * **解决方案:**请参考官方发布的服务器多语言演示demo,将对应区域的旧域名替换为最新的域名。 **问题5:华为订阅返回数据中的expirationDate字段如何理解?** * **原因分析:**`expirationDate`字段表示订阅的有效截止时间。 * **解决方案:** expirationDate 字段与用户到期后下次扣费的时间相关联,但它们不是同等的。

正文

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

往期文章:常见问题总结(2)中分享总结了有关无法拉起支付页面的常见问题,本文将对近期开发者们较为关注的一些集成应用内支付服务过程中的问题进行汇总,并提出解决方案。

问题1:开发者联盟支付卡片中的支付公钥(路径:开发者联盟>管理中心>支付>获取支付信息)和应用内支付中配置的公钥(路径:打开项目 >左侧导航栏“盈利 > 应用内支付服务”)有什么区别吗?

问题根因:

为了防止返回结果被篡改,提高安全性和可靠性,支付结果必须要对签名字符串使用IAP公钥进行验签,由于VR支付目前还使用2.0的支付接口,所以仍然会使用开发者联盟支付卡片中的支付公钥。

应用内支付中配置的公钥(路径:打开项目 >左侧导航栏“盈利 > 应用内支付服务”,若“IAP”页签显示未生成IAP支付公钥,点击“设置”生成IAP支付公钥。)主要用于4.0的支付接口,而4.0的接口是目前常用接口。

问题2:华为应用内支付回调请求为空,没有任何有效用户信息。

问题背景:

用户订阅了会员包年,但后台没有自动发货,点击了订单中的【补发】按钮,重新发起了支付回调,但数据无效,然后开发者CP改成了测试接口,打印出了所有华为支付回调的请求内容,发现请求正文为空字符串,没有任何有效用户信息。

“我是在支付报表点击的补单按钮。移动端接入的HMS版本是6.4.0.301。你说HMS4.0的订单,我们不会收到支付成功回调,但我这边点补发收到了一个空白回调,这是正常的吗?另外,我们的订阅回调接口之前是发生异常也返回200,所以可能在华为IAP服务器这边认为应用方已经发货了,这种情况,用户客户端再启动应用还能触发补单吗?”

原因分析:

根据官方的FAQ文档,对于HMS4.0订单,点击补发,触发华为支付服务器向华为IAP服务器发送支付成功回调,您不会接到支付成功回调。

在支付报表点击的补单按钮,收不到支付成功的回调通知,如果点击补发,收到一个消息体为空的的回调,并不能作为依据对问题进行分析定位,所以可以忽略。

解决方案:

补单分为客户端补单和服务端补单,只有消耗性商品才有补单流程,客户端补单需要您在客户端中触发补单,比如应用启动的时候;如果有异常,会返回返回-1,60051,1等错误码场景,从而需要触发补单机制;具体可以参考文档

对于订阅型商品,一般我们使用的是订阅关键事件的通知,请参考文档

关于订阅回调接口之前是发生异常时也返回200,可能在华为IAP服务器这边认为应用方已经发货了的情况,不存在这种情况,如果有这种情况,请提供对应的订单号,我们将对该订单进行分析。

问题3:我9月份提交的结算申请,现在还没到账,请问收益结算什么时候到账?

问题背景:

CP反馈9月份提交的结算申请,结算单中的结算状态显示都是在"付款中",但是现在还没到账,不知道具体是卡在什么地方。

原因分析:

根据官方文档,如对结算数据无异议,点击“确认结算单”提交结算申请,并核对申付金额及收款银行等信息无误后,点击“提交”,提交后将无法取消。如需多个结算单合并开票,请确认同一个合同、同一业务类型相同的结算单方可进行合并开票。

解决方案:

也就是说,只要确认结算单了,付款状态都是在付款中,但是CP需要先开票(也可以合并开票)才能结算,按照确认的结算单金额开具发票,合并开票需将所选结算单中的“结算汇总信息-结算金额”加总,注意金额与发票金额要完全一致,不能有差异。

具体详情请您参考开发者联盟关于自主结算指南的官方文档进行相关操作。

4. 联盟官方文档,AppGallery站点老域名以及使用的加密套件将会逐渐下线,是否有更详细的操作文档可供开发者参考?

问题背景:

根据官方文档说明,为了增强您的应用的安全性和可靠性,HUAWEI IAP更新了URL,并提高了对TLS版本和密码套件的要求。出于安全考虑,从2023年4月起,HUAWEI IAP将不再支持1.2以下的TLS版本和规定之外的加密套件支持。AppGallery站点使用的老域名后续也会下线。

解决方案:

目前暂时没有相关指导文档,这些是标准的网络套件和协议,但是可以参考官方发布的服务器多语言演示demo。

详情可以参考官方Demo

替换域名的具体操作请参见官方示例代码,将对应区域的旧域名替换为最新的域名。例如,需要上架中国站点APPGallery 应用市场,Order服务验证购买token接口需要将之前的 https://orders-at-dre.iap.dbankcloud.com 替换为中国站点:https://orders-drcn.iap.cloud.huawei.com.cn

详情请参考开发者联盟官方文档

5. 华为订阅返回数据中的expirationDate字段,和用户到期后下次扣费的时间是一致的吗?

问题背景:

“我想问一下华为订阅返回数据中expirationDate字段,和用户到期后下次扣费的时间是一致的吗?用户 2021年12月5日付费年订阅产品,实际于2022年12月4日进行了自动续费扣款,但是华为在2021年支付成功后返回的字所expirationDate,转换时间戳后是2022年12月8日到期,请问是华为针对订阅产品会提前扣费吗?还是expirationDate并不等同于下次扣款时间 ? 如果需要知道精确的下次扣款时间, 应该取什么字段呢?”

原因分析:

如下是官方文档对InAppPurchaseData中的expirationDate字段的解释说明:

根据IAP的的扣费规则,会提前24小时开始尝试扣费,用户是在2021年12月5日付费年订阅产品到期,那么在订阅周期结束前24小时,即12月4号扣费是没有问题的,华为IAP会尝试向用户发起扣款以完成订阅型商品的续期。若扣费失败,华为IAP会在一定期限内重复尝试扣费,若失败次数过多,最终会停止重试。

解决方案:

expirationDate字段并不等同于下次扣款时间,而是当前订阅的过期时间,IAP支付服务器当前没有返回下次扣款时间,也不会有精准的扣款时间,一般都是显示订阅的续期时间或者会比续期时间稍长,但是不会相差很大。

如果订阅的续期时间和实际显示的expirationDate相差很大,需要CP提供订单号或者订阅id等数据进

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

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

与接入HMS Core应用内支付服务过程中一些常见问题总结相似的内容:

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

华为HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程。该服务支持客户端和服务端两种开发形式,具体可以参考官方文档。 往期文章:常见问题总结(2)中分享总结了有关无法拉起支付页面的常见问题,本文将对近期开发者们较为关注的一些集成应

音频编辑服务UI SDK接入指导及常见问题

华为 HMS Core 音频编辑服务(Audio Editor Kit)是华为帮助全球开发者快速构建各类应用音频能力的服务,汇聚了华为在音乐、语音等相关音频领域的先进技术。音频编辑服务为开发者们提供音频基础编辑、AI配音、音源分离、空间渲染、变声、多种音效等丰富的音频处理能力,以及性能优异、简单易用

Web应用怎样获取Access Token?

1.在联盟创建服务器应用 参考文档:开发准备 2.获取用户级Access Token 2.1 获取code 参考文档:接入华为帐号获取凭证 2.1.1 先按照跳转链接进行配置url https://oauth-login.cloud.huawei.com/oauth2/v3/authorize? r

鲸鸿动能流量变现服务中国大陆地区测试流程

一、鲸鸿动能流量变现服务前置说明 1.接入鲸鸿动能平台的应用需在应用市场上架。 2.与华为联运的游戏应用和快游戏禁止接入鲸鸿动能以外的其他广告内容/插件/SDK等。 3.中国大陆地区仅支持企业认证用户使用流量变现服务。 4.支持的设备限制: 5.媒体接入流程: 二、媒体服务平台 数据管理 【首页】或

快速加入Health Kit,一文了解审核流程

HUAWEI Health Kit是为华为生态应用打造的基于华为帐号和用户授权的运动健康数据开放平台。 在获取用户授权后,开发者可以使用Health Kit提供的开放能力获取运动健康数据,基于多种类型数据构建运动健康领域应用与服务,为用户打造丰富、便捷、专业的运动健康场景体验。 当前已有众多伙伴加入

华为运动健康服务Health Kit 6.10.0版本新增功能速览!

华为运动健康服务(HUAWEI Health Kit)6.10.0 版本新增的能力有哪些? 阅读本文寻找答案,一起加入运动健康服务生态大家庭! 一、 支持三方应用查询用户测量的连续血糖数据 符合申请Health Kit服务中开发者申请资质要求的企业开发者,可申请访问用户的心率、压力、血糖等健康数据。

鲸鸿动能广告接入如何高效变现流量?

广告是App开发者最常用的流量变现方法之一,当App拥有一定数量用户时,开发者就需要考虑如何进行流量变现,帮助App实现商业可持续增长。 鲸鸿动能流量变现服务是广告服务依托华为终端强大的平台与数据能力为开发者提供的App流量变现服务,开发者通过该服务可以在自己的App中获取并向用户展示精美的、高价值

推送服务接入指导(HarmonyOS篇)

消息推送作为App运营日常使用的用户促活和召回手段,是与用户建立持续互动和连接的良好方式。[推送服务](https://developer.huawei.com/consumer/cn/hms/huawei-pushkit?ha_source=hms1)(Push Kit)是华为提供的消息推送平台,

集成华为运动健康服务干货总览

在接入华为运动健康服务的过程中你是否遇到过权限申请有困难、功能不会用的情况? 本期超强精华帖,一帖汇总集成华为运动健康服务你可能需要的各类干货,还不赶紧收藏起来!开发有困难,随时可查阅~ 如果你有感兴趣或想进一步了解的内容,欢迎进行留言,或查看华为运动健康文档获取更多详情! 权限申请篇 在申请运动健

【FAQ】集成分析服务的常见问题及解决方案

常见问题一:如何验证Analytics是否上报/接入成功?以及关键日志含义是什么? 在初始化Analytics SDK前添加SDK日志开关如下: HiAnalyticsTools.enableLog (); 2.初始化SDK代码如下: HiAnalyticsInstance instance = H