【发布时间】:2020-10-31 10:05:42
【问题描述】:
我正在使用华为 In App SDK 实现 InApp 购买(订阅)。
一切都很好,除了针对华为服务器的令牌验证。
我的代码和这里的类似:https://developer.huawei.com/consumer/en/doc/development/HMS-References/iap-api-order-service-purchase-token-verification-v4
我正在使用这样获得的访问令牌:https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/38054564 - 顺便说一句,获取访问令牌的相同代码已经与华为推送 SDK 一起使用。
为了验证,我的代码使用以下数据向https://orders-dre.iap.hicloud.com/applications/purchases/tokens/verify 发送请求:
{
"purchaseToken":"00000175799be0e659fc74cb06...5.8.5650",
"productId":"annual"
}
响应返回为:
{"responseCode":"6","responseMessage":"rights invalid"}
此处的常见问题解答https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/iap-FAQ 建议:
"建议您检查获取AccessToken的app ID是否与请求中purchaseToken关联的app ID相同"。
现在我只有一个项目/一组客户端 ID/客户端密钥,因此根据定义,它与应用 ID 匹配。
可能出了什么问题?
PS - 测试订阅会发生这种情况,即由设置为测试帐户的用户帐户购买。
【问题讨论】: