问题描述
我已经集成了Huawei IAP SDK 4.0.4.300,但是我总是无法启动HUAWEI in-app Purchases(IAP)。当一个支付请求被初始化时,支付页面没有显示。并且我检查了普通产品(消耗品/非消耗品)是否已激活。 你能帮我解决这个问题吗,非常感谢。
解决方法
可能有多种原因导致此 IAP 问题。第一:
• 检查 HMS Core SDK 返回的结果代码,并执行 参考官方文档进行检查。 • 捕获所有应用 记录并搜索关键字hms_pay定位故障。
然后检查以下区域:
-
登录 HW AppGallery Connect 并检查 IAP 产品是否已激活:您可以在 AppGallery Connect 中创建消耗品、非消耗品和订阅。在 AppGallery Connect 中创建产品时,默认情况下不会激活该产品。用户无法为未激活的产品付费。
-
还要检查在 HW AppGallery Connect 中设置的产品 ID 和在您的代码中设置的产品 ID,并确保它们相互匹配:要支付的产品的 ID 需要在 createPurchaseIntent API 中传递。如果尚未在 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 结果:: 得到
结果 成功 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