问题现象

集成华为HMS SDK应用内支付的相关能力时,参考华为提供的文档,对支付订单进行校验,结果总是报错如下:

{"responseCode":"6","responseMessage":"Token is expired or invalid"}

问题定位

联系华为官方技术客服(地址:https://developer.huawei.com/...)沟通定位了下,建议从以下几点排查,给项目组同事分享下~~~

  • 如果服务器开发使用的是Java、PHP、C#、Python、Node.js、Golang、Ruby和Perl等几种语言,可以参考华为提供的示例代码自行排查下。

文档地址为:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Examples-V5/server-sample-code-0000001050145549-V5

  • 向华为服务器请求时需要使用AccessToken进行鉴权,需要使用客户端模式获取AccessToken,千万不要弄错!!!

文档:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/open-platform-oauth-0000001053629189-V5#ZH-CN_TOPIC_0000001053629189__section12493191334711

在这里插入图片描述

  • 获取AccessToken的请求参数时,需要使用华为后台的appid、app secret(我这边就是这个原因导致的,app secret拿错了),有图有真相~具体获取方式参考如下:

在这里插入图片描述

  • 检查客户端inAppPurchaseData(包含appid信息)获取的待校验purchaseToken和服务器请求获取AccessToken使用的appid(上面第三条说到的)是否是同一个。

原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201411111503110370?fid=18

原作者:Mayism


华为开发者论坛
352 声望56 粉丝

华为开发者论坛是一个为开发者提供信息传播、开发交流、技术分享的交流空间。开发者可以在此获取技术干货、华为源码开放、HMS最新活动等信息,欢迎大家来交流分享!


引用和评论

0 条评论