华为内购IAP SDK 4.0.4.300启动失败,支付页面不显示

问题描述

我已经集成了Huawei IAP SDK 4.0.4.300,但是我总是无法启动HUAWEI in-app Purchases(IAP)。当一个支付请求被初始化时,支付页面没有显示。并且我检查了普通产品(消耗品/非消耗品)是否已激活。 你能帮我解决这个问题吗,非常感谢。

解决方法

可能有多种原因导致此 IAP 问题。第一:

• 检查 HMS Core SDK 返回的结果代码,并执行 参考官方文档进行检查。 • 捕获所有应用 记录并搜索关键字hms_pay定位故障。

然后检查以下区域:

  1. 登录 HW AppGallery Connect 并检查 IAP 产品是否已激活:您可以在 AppGallery Connect 中创建消耗品、非消耗品和订阅。在 AppGallery Connect 中创建产品时,默认情况下不会激活该产品。用户无法为未激活的产品付费。 enter image description here

  2. 还要检查在 HW AppGallery Connect 中设置的产品 ID 和在您的代码中设置的产品 ID,并确保它们相互匹配:要支付的产品的 ID 需要在 createPurchaseIntent API 中传递。如果尚未在 AppGallery Connect 中配置产品 ID,或者它们与您代码中的产品 ID 不匹配,则不会传递任何 ID,因此无法启动 IAP。 enter image description here

enter image description here

  1. 检查 IAP 产品项的所有设置,确保它们都到位:例如价格,如果有多种语言,请确保为所有语言设置

enter image description here

  1. 一些错误返回码和日志示例供您参考:

    • 结果代码:60003(表示产品信息不正确)

    • 搜索关键字 hms_pay。会发现如下日志信息:

2020-09-30 14:48:52.850 21970-17650/? E/hms_pay: hms_pay
[Network-Request]parse createOrder,responseCode = 6,subErrCode = 214,responseMessage = 无法找到产品信息。 2020-09-30 14:48:52.850 21970-17650/? I/hms_pay: hms_pay baseBiz 结果:: 得到 结果 成功 2020-09-30 14:48:52.850 21970-17650/?我/hms_pay: hms_pay createOrder onResponse responseCode:6,responseMessage:无法找到产品信息。 2020-09-30 14:48:52.851 21970-17650/? E/hms_pay: hms_pay
createOrder 失败,返回代码:6

订阅未激活

•   Result code: -1 (indicating common failure)
•    Search for the keyword hms_pay. The following log information will be found:

2020-09-30 15:20:38.940 21970-22803/? E/hms_pay: hms_pay    [Network-Request]parse createOrder,subErrCode = 221,responseMessage = product status must 0(online)
2020-09-30 15:20:38.940 21970-22803/? I/hms_pay: hms_pay    baseBiz result:: get result Success
2020-09-30 15:20:38.943 21970-22803/? I/hms_pay: hms_pay    getCurrentTime error,content is inValid
2020-09-30 15:20:38.945 21970-22803/? I/hms_pay: hms_pay    no InAppPurchaseData
2020-09-30 15:20:38.946 21970-22803/? E/hms_pay: hms_pay    SubscribeRequestInterceptor createOrder,errorCode: 6

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...