我已经集成了华为IAP SDK 4.0.4.300,但是我总是无法启动华为应用内购买(IAP)。初始化支付请求时,支付页面不显示。我已经检查了常用产品(消耗品/非消耗品)已被激活。你能帮我解决这个问题吗,非常感谢。
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
[Network-Request]parse createOrder, responseCode = 6, subErrCode = 214, responseMessage = 找不到产品信息。2020-09-30 14:48:52.850 21970-17650/? I/hms_pay: hms_pay baseBiz result:: get result Success 2020-09-30 14:48:52.850 21970-17650/? I/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