1

考虑到这个hms-iap-serverdemo GitHub repo ,我正在尝试在我们的后端服务器中验证订阅购买。

我正在尝试使用应用 ID 和应用密码连接基于 OAuth 2.0 的身份验证服务器。我从 AppGallery Connect → 我的应用程序 → 应用程序信息中获取了 ID 和密码。身份验证服务器返回 base64 编码的令牌。当我尝试验证此订阅购买时,我收到来自服务器的 ResponseCode:6 ResponseMessage:Token is expired or invalid InappPurchaseData 错误。

申请状态目前为草稿。这就是我收到此错误的原因吗?我相信客户端 ID 和客户端密码是正确的。或者是其他东西。我不知道。你有想法吗?

谢谢

4

1 回答 1

0

ResponseCode:6 ResponseMessage:Token 已过期或无效 InappPurchaseData

可能的原因如下:

  1. 检查token是否无效。token有效期为1小时。如果令牌过期,获取新令牌以确保令牌有效。

检查AT是否无效,是否只获取到缓存中的AT。如果AT无效,清除缓存,重新获取AT。一般使用token接口重新获取应用级AT。

应用级AT的获取方法请参见文档

  1. 令牌格式不正确。

根据文档:App-level access token: Authorization: Basic Base64(APPAT:atvalue)

  • 示例:应用级访问令牌是thisIsAppAtValue,那么APPAT:atvalueAPPAT:thisIsAppAtValue

因此,将Base64中的APPAT: atvalue (APPAT:atvalue)替换为"APPAT:thisIsAppAtValue"以生成值QVBQQVQ6dGhpc0lzQXBwQXRWYWx1ZQ==

请求头中Authorization的值如下:Basic QVBQQVQ6dGhpc0lzQXBwQXRWYWx1ZQ==

  1. 站点请求不正确。

根据您的位置切换到合适的站点,然后重试。

中国:https ://subscr-drcn.iap.hicloud.com

德国:https ://subscr-dre.iap.hicloud.com

新加坡:https ://subscr-dra.iap.hicloud.com

俄罗斯:https ://subscr-drru.iap.hicloud.com

于 2022-01-29T06:46:54.923 回答