問題現象
集成華為HMS SDK應用內支付的相關能力時,參考華為提供的文檔,對支付訂單進行校驗,結果總是報錯如下:
{"responseCode":"6","responseMessage":"Token is expired or invalid"}
問題定位
聯系華為官方技術客服(地址:https://developer.huawei.com/consumer/cn/support/feedback/#/)溝通定位了下,建議從以下幾點排查,給項目組同事分享下~~~
- 如果服務器開發使用的是Java、PHP、C#、Python、Node.js、Golang、Ruby和Perl等幾種語言,可以參考華為提供的示例代碼自行排查下。
- 向華為服務器請求時需要使用AccessToken進行鑒權,需要使用客戶端模式獲取AccessToken,千萬不要弄錯!!!
- 獲取AccessToken的請求參數時,需要使用華為后台的appid、app secret(我這邊就是這個原因導致的,app secret拿錯了),有圖有真相~具體獲取方式參考如下:
- 檢查客戶端inAppPurchaseData(包含appid信息)獲取的待校驗purchaseToken和服務器請求獲取AccessToken使用的appid(上面第三條說到的)是否是同一個。
原文鏈接:https://developer.huawei.com/consumer/cn/forum/topic/0201411111503110370?fid=18
原作者:Mayism