華為應用內支付服務(In-App Purchases)通過簡便的接入流程為用戶提供良好的應用內支付體驗,然而在實際接入程序中,有一些開發者反饋測驗時會無法正常拉起支付頁面,下文將詳細分析問題出現的5種情形,并給出解決方案,希望給遇到類似問題的開發者提供參考,
情形1:AGC控制臺上API管理中的支付API已打開,創建的商品也生效了,但查看日志發現報錯60002

原因分析:對IAP的請求結果驗簽時需要使用支付公鑰,進行SHA256WithRSA簽名校驗,此公鑰開發者未配置,
解決方法:請仔細檢查以下三點是否設定:
(1)API管理中支付API已打開(注意:用戶在開通IAP服務,半個小時左右才起效)
詳情可參考官方檔案

(2)確保公鑰開關激活打開,且公鑰使用正確


(3)在AGC后臺PMS(商品管理系統)上配置了相應型別的商品,并激活成功

情形2:開發者進入會員中心編輯訂閱頁面,顯示例外,報錯60051

查看官網檔案,錯誤碼60051表示已購買型商品或者訂閱型商品,不能再次購買;
原因分析:
復現問題時我們發現,訂閱完成回傳會員中心有個重繪動作,在重繪前點擊訂閱會例外,重繪后點擊就是正常的,這是因為如果沒有重繪或者重繪不及時,會存在上一次的快取資料,在點擊一個訂閱商品之后,立即再點擊訂閱另一個商品的時候,會把首次訂閱的商品id帶入,但該id并不是最新購買的訂閱商品id,從而造成資料的不匹配,最終導致報錯,無法顯示編輯頁面,
解決方法:
建議開發者對頁面效果重繪時機進行優化處理,避免未重繪就去續費,
情形3:使用華為手機進行支付除錯的時候報錯60003,但PMS系統中商品ID配置未發現問題,

原因分析:首先報錯60003一般是在PMS系統中的商品資訊配置有問題,可以到AGC網站后臺,在我的應用->運營-> 商品管理->商品串列 ,查看對應商品是否存在或者必填的資訊是否正確完整(例如商品名稱,商品ID,價格,商品型別,是否激活),

另外可以檢查商品ID是否在客戶端代碼中填寫正確,是否與AGC后臺的商品ID保持一致,請重點檢查客戶端代碼中傳入的欄位是否有問題,
還有一點需要注意的是在設備上登錄的華為賬號的服務地點是否在IAP覆寫的范圍內,可以通過呼叫Task
解決方案:
經過CP排查發現是客戶端端代碼傳入的商品ID和AGC后臺配置的商品ID不一致,修改后問題已解決,

情形4:呼叫支付拉起收銀臺介面,第一次成功拉起成功支付頁面,然后點擊取消回傳,第二次再繼續呼叫該介面為什么無法拉起支付頁面 ?

原因分析:購買消耗性商品后,必須要先完成商品消耗,之后才能再次購買,否則會報錯60051等錯誤碼,
解決方法:對于消耗性商品進行補單操作
開發者需要在以下這四種場景下觸發補單機制:
· 應用啟動時
· 購買請求回傳-1(OrderStatusCode.ORDER_STATE_FAILED)時
· 購買請求回傳60051(OrderStatusCode.ORDER_PRODUCT_OWNED)時
· 購買請求回傳1(OrderStatusCode.ORDER_STATE_DEFAULT_CODE)時
如果IAP 后臺配置的退款回呼地址錯誤,需要重新配置,具體可參考檔案
除了無法拉起支付頁面的問題以外,如何確認是否進入沙盒環境也是一個常見的問題,
情形5:使用沙盒帳號測驗,沒有彈出沙盒環境端側提示彈框,如何確認是否進入沙盒環境?
原因分析:首先進入沙盒測驗環境,正常情況下會提示以下彈框

但是在滿足了沙盒環境的2個必要條件后,仍然無法提示該對話框,是否表示沒有進入沙盒測驗?
以下是開發者通過isSandboxActivated介面列印出的相關資料

從列印的日志來看:滿足了沙盒環境2個必要條件,
-
當前登錄的華為帳號屬于沙盒帳號
-
VersionCode大于應用市場線上版本(該APK暫未發布應用市場,所以應用市場回傳的版本號為0)
很明顯從結果來看理論上應該進入了沙盒測驗環境,那么有沒有其他方法來確認?
解決方法:是否成功進入沙盒環境,可以通過以下幾種方法排查
a) 查看回傳的購買資料,參考下圖:

如果華為訂單號payOrderId以SandBox開頭,那么表面該筆訂單屬于沙盒測驗產生的訂單,
b)查看支付報表

可以查看支付報表,如果支付報表沒有該筆訂單,說明該訂單來自于沙盒測驗產生的,(注:支付報表資料不是實時更新的,如果當天購買的訂單,為了判斷準確性,可以次日再重繪該報表驗證)
c)清除HMS Core 快取
可以嘗試清除HMSCore快取,端側彈框是根據相應欄位標識進行判斷的,可能是快取原因導致該值未及時重繪,可通過設定 –>應用和服務->應用管理->HMS Core 進行快取清理,
了解更多詳情>>
訪問華為開發者聯盟官網
獲取開發指導檔案
華為移動服務開源倉庫地址:GitHub、Gitee
關注我們,第一時間了解 HMS Core 最新技術資訊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/499933.html
標籤:其他
