【问题标题】:Fail to launch HUAWEI In-App Purchase ( IAP SDK 4.0.4.300) and the payment page is not displayed华为内购(IAP SDK 4.0.4.300)启动失败,支付页面不显示
【发布时间】:2021-02-12 08:47:56
【问题描述】:
我已经集成了华为IAP SDK 4.0.4.300,但是我总是无法启动华为应用内购买(IAP)。初始化支付请求时,支付页面不显示。我已经检查了常用产品(消耗品/非消耗品)已被激活。
你能帮我解决这个问题吗,非常感谢。
【问题讨论】:
-
-
您可以根据这个docs排除故障。如果问题仍然没有解决,请提供具体的日志供我们纠正。 :)
标签:
huawei-mobile-services
huawei-developers
appgallery
appgallery-connect
【解决方案1】:
可能有多种原因导致此 IAP 问题。第一:
• 查看HMS Core SDK返回的结果码,并执行
参考官方文档进行检查。 • 捕获所有应用
日志并搜索关键字hms_pay定位故障。
然后检查以下区域:
-
登录HW AppGallery Connect,查看IAP产品是否激活:您可以在AppGallery Connect中创建消耗品、非消耗品和订阅。当您在AppGallery Connect中创建产品时,该产品默认未激活。用户不能为未激活的产品付费。
-
还要检查HW AppGallery Connect中设置的产品ID和代码中设置的产品ID,确保它们相互匹配:需要在createPurchaseIntent API中传递要支付的产品ID。如果 AppGallery Connect 中没有配置产品 ID,或者如果它们与您的代码中的产品 ID 不匹配,则不会传递任何 ID,因此无法启动 IAP。
- 检查 IAP 产品项目的所有设置,确保它们全部到位:例如价格,如果有多种语言,请确保您设置了所有语言
-
一些错误返回码和日志示例供大家参考:
• 结果代码:60003(表示产品信息不正确)
• 搜索关键字 hms_pay。将找到以下日志信息:
2020-09-30 14:48:52.850 21970-17650/? E/hms_pay: hms_pay
[网络请求]解析 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 失败,returnCode: 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, responseCode = 6, 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