【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit(2)

embedded/2024/9/24 3:46:16/

1.问题描述:

应用内支付IAP Kit和Payment Kit的区别以及适用场景?

解决方案:

IAP Kit是四方支付,仅支持在线虚拟商品,如会员,游戏钻石等,双框架支持全球,目前单框架暂时只支持国内。

Payment kit是三方支付机构的方式,支持多样化的支付场景,主要支持实物商品,如具体的手机,电脑等,仅支持国内。

2.问题描述:

支付过程中出现1001860001原因浅析

解决方案:

下面列举几条针对近期引发1001860001错误码的的可能原因和解决方案,供开发者参考;
 
问题一:订阅后到期不续定的情况,再次订阅显示错误,报错1001860001: System internal error.
 
问题分析:订阅后到期不续定的情况,可以再次购买订阅型商品,如果再次订阅显示错误,有可能是在购买环节出了问题,根据CP提供的日志分析发现报1001860001错误码:BusinessError 1001860001: System internal error. product status must 0(online);调用购买接口的时候,建议可以检查一下在应用中购买显示错误的订阅型商品,在所对应的PMS商品管理系统中是不是没有激活删掉或者下线了;通过检查发现,是PMS中配置的订阅型商品没有激活,点击激活按钮,商品生效后,不再报错,可以正常购买;
 
问题二:cp订阅到期后再次订阅,报错报错1001860001: System internal error.
 
问题分析:根据CP提供的日志分析发现报错BusinessError 1001860001: System internal error. IAP_RESPONSE_RESULT_NOT_SHIP_CONFIRM;需在应用中调用finishPurchase接口确认发货,以此通知IAP服务器更新商品的发货状态,完成购买流程。调用finishPurchase接口确认发货后,不再报错;
 
 
问题三:用测试机接入iap支付,在查询商品时返回异常1001860001,异常后appgallery connect并无异常订单
 
问题分析:CP提供的日志显示检测环境没有报异常,但在查询商品(queryProducts)时报错了,并没有走到支付流程中;日志上面反馈调用接口applicationID可能没配置,需要确认下client_id 和 app_id 是否正确配置,可参考以下链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/iap-config-app-identity-info-0000001603004574
按照文档要求配置在HarmonyOS应用“entry/src/main/module.json5”的module节点增加如下client_id和app_id属性配置后,问题解决;

3.问题描述:

应用内支付如何发起退款?

解决方案:

目前单框架不支持API调用方式退款。退款分以下2种情况:
(1)用户联系华为方进行退款
(2)用户联系商户退款
针对(1),用户可以拨打华为客服热线咨询退款。华为业务运营会联系到您然后由您决定是否给用户退款,以及退款具体金额,部分退款还是全额退款(针对订阅型商品使用部分权益可能会涉及到部分退款)
针对(2),通常来说开发者对接华为方业务运营,给业务运营发邮件退款详细事宜,业务运营再来管理台操作退款申请。
如果没有对接华为方业务运营,按照之前双框架可以通过邮箱通知联运运营人员。您可以发送邮件至jointoperation@huawei.com(先前双框架联运应用退款专用邮箱),包含华为订单号,应用名称/课程名,退款金额 退款原因等信息。

4.问题描述:

通过iap.queryEnvironmentStatus检查环境时,无法拉起华为账号的登录页面,会报错1001860050。

解决方案:

可以集成帐号接口引导登录,或者引导用户去帐号中心登录。


http://www.ppmy.cn/embedded/42230.html

相关文章

【C#】.net core 6.0 在program时间格式统一json格式化,并列举program默认写法和简化写法

欢迎来到《小5讲堂》 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景Main入口简化写法统一时间格式相关文章 背景 在.NET Core 6.0中&…

5.20作业

TCP多进程并发 #include <header.h> #define SER_PORT 8888 #define SER_IP "192.168.125.192" void handle(int signum) {if(signumSIGCHLD){while(waitpid(-1,NULL,WNOHANG)>0);} } int main(int argc, const char *argv[]) {//将子进程的SIGCHLD&#xf…

《深入掌握以太坊核心技术》--01以太坊简介

《深入掌握以太坊核心技术》--01以太坊简介 区块链&#xff08;公链&#xff09;发展以太坊核心特性发展阶段特点组成部分重要概念货币 以太坊和图灵完备去中心化应用代币&#xff08;Token&#xff09;名词解释 区块链&#xff08;公链&#xff09;发展 区块链 1.0&#xff1…

使用 ASM 修改字段类型,解决闪退问题

问题 我的问题是什么&#xff1f; 在桥接类 UnityBridgeActivity 中处理不同 unity 版本调用 mUnityPlayer.destroy(); 闪退问题。 闪退日志如&#xff1a; 闪退日志说在 UnityBridgeActivity中找不到类型为 UnityPlayer 的属性 mUnityPlayer。 我们知道&#xff0c;Android…

【React】 打包扫描出现高风险文件 YUI 版本太低 JSEncrypt

漏洞定位 扫出漏洞的情况&#xff0c;多是在说下面几个工具&#xff1a; jquery js-cookie jsencrypt 参考链接 YUI:2.9.0 (Link) http://www.cvedetails.com/cve/CVE-2012-5883/ 1.于是在打包后的代码中搜索 YUI&#xff08;不区分大小写&#xff0c;不进行全字匹配&…

Flutter 中的 SnackBar 小部件:全面指南

Flutter 中的 SnackBar 小部件&#xff1a;全面指南 在 Flutter 应用中&#xff0c;用户体验的每个细节都至关重要&#xff0c;包括如何向用户展示信息和反馈。SnackBar 是 Material Design 规范中的一个组件&#xff0c;用于在屏幕底部提供一个简短的消息提示&#xff0c;它不…

预训练BERT

预训练BERT 1.使用字典和分词工具2.数据集操作 1.使用字典和分词工具 2.数据集操作

Qml:qml写个登录

import QtQuick import QtQuick.Controls import QtQuick.Controls.Basic /* 1 核心控件和窗口布局和登录事件处理文本说明&#xff1a;登录系统用户名&#xff1a;username密码: password登录按钮: submit登录事件处理onClicked 2 样式优化、背景渐变、图标自动替换2.1 窗口背…