華為應用內支付無法拉起


對接華為HMS Core SDK 應用內支付(In-App Purchases,IAP)(4.0.4.300及更高版本)后,有時候會遇到華為IAP支付無法拉起的情況。

問題現象

發起支付后界面一閃而過某個界面,但是沒有拉起支付收銀台界面。

定位手段

  • 查看HMS SDK返回的錯誤碼,根據官網錯誤碼描述自檢。

  • 配套抓取客戶端全量日志,日志搜索過濾hms_pay關鍵詞,查看異常報錯信息。

常見易錯點

普通商品(消耗/非消耗商品)沒有激活

華為AGC后台創建商品后,默認是失效狀態的,沒有激活的商品是無法拉起支付的。

在這里插入圖片描述

  • 錯誤碼:HMS Core SDK返回給客戶端的錯誤碼: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 = Product info cannot be found.
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:Product info cannot be found.
2020-09-30 14:48:52.851 21970-17650/? E/hms_pay: hms_pay    createOrder fail, returnCode: 6

訂閱型商品沒有激活

  • 錯誤碼:HMS Core SDK返回給客戶端的錯誤碼:-1,通用失敗錯誤碼。

  • 錯誤信息:搜索關鍵詞hms_pay后,獲取的日志信息如下

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

商品ID填寫錯誤

createPurchaseIntent支付接口中需要填寫待支付商品ID,如果該商品ID沒有在AGC后台配置,自然是無法拉起支付的。

  • 錯誤碼:HMS Core SDK返回給客戶端的錯誤碼:60003,商品信息錯誤。

  • 錯誤信息:搜索關鍵詞hms_pay后,獲取的日志信息如下

2020-09-30 15:07:59.438 21970-19979/? E/hms_pay: hms_pay    [Network-Request]parse createOrder, responseCode = 6, subErrCode = 214, responseMessage = Product info cannot be found.
2020-09-30 15:07:59.439 21970-19979/? I/hms_pay: hms_pay    baseBiz result:: get result Success
2020-09-30 15:07:59.447 21970-19979/? I/hms_pay: hms_pay    createOrder onResponse responseCode:6,responseMessage:Product info cannot be found.
2020-09-30 15:07:59.448 21970-19979/? E/hms_pay: hms_pay    createOrder fail, returnCode: 6

普通商品的商品類型字段(setPriceType)錯誤

在這里插入圖片描述

華為AGC后台支持創建:消耗型商品、非消耗型商品和訂閱型商品三種類型。createPurchaseIntent支付接口請求中除了填寫商品ID,還需要填寫該商品的類型setPriceType字段,如果該字段與后台配置的不一致,也無法拉起支付。

  • 錯誤碼:HMS Core SDK返回客戶端的錯誤碼:60006,查詢商品類型與PMS定義不符。

  • 錯誤信息:搜索關鍵詞hms_pay后,獲取的日志信息如下

2020-09-30 15:05:08.560 21970-18765/? E/hms_pay: hms_pay    [Network-Request]parse createOrder, responseCode = 6, subErrCode = 216, responseMessage = Product type doesn't match that in pms.
2020-09-30 15:05:08.560 21970-18765/? I/hms_pay: hms_pay    baseBiz result:: get result Success
2020-09-30 15:05:08.561 21970-18765/? I/hms_pay: hms_pay    createOrder onResponse responseCode:6,responseMessage:Product type doesn't match that in pms.
2020-09-30 15:05:08.561 21970-18765/? E/hms_pay: hms_pay    createOrder fail, returnCode: 6

訂閱型商品類型字段(setPriceType)錯誤

  • 錯誤碼:HMS Core SDK返回給客戶端的錯誤碼:-1,通用失敗錯誤碼。

  • 錯誤信息:搜索關鍵詞hms_pay后,獲取的日志信息如下

2020-09-30 15:24:48.019 21970-23368/? E/hms_pay: hms_pay    [Network-Request]parse createOrder, responseCode = 6, subErrCode = , responseMessage = App doesn't exist from pms.
2020-09-30 15:24:48.019 21970-23368/? I/hms_pay: hms_pay    baseBiz result:: get result Success
2020-09-30 15:24:48.019 21970-23368/? I/hms_pay: hms_pay    createOrder onResponse responseCode:6,responseMessage:App doesn't exist from pms.
2020-09-30 15:24:48.020 21970-23368/? E/hms_pay: hms_pay    createOrder fail, returnCode: 6

欲了解更多詳情,請參見:

IAP客戶端錯誤碼:https://developer.huawei.com/consumer/cn/doc/HMSCore-References-V5/client-error-code-0000001050746111-V5


原文鏈接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202377231906580214&fid=18
作者:鼓樓趙又廷


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM