有海内开发者向咱们发问:我在利用中集成了华为利用内领取 SDK(测试购买订阅型商品),依照文档阐明,在服务器去申请验证购买 Token 接口的时候返回了 {“responseCode”:”6″,”responseMessage”:”rights invalid”}。此谬误在文档 FAQ 中有提到:倡议优先查看获取 AccessToken 时的 appid 和理论申请参数 purchaseToken 关联的 appid 是否同一个。我只有一组我的项目,一组客户端 ID 及客户端秘钥,因而按理说 appid 应该是雷同的。我不晓得是哪里有问题?我该怎么配置。
问题详情见链接:https://stackoverflow.com/que…
解决方案
- 依据开发者提供的代码显示他的接口用错了,他应用的是 Order 服务购买 Token 校验,应该应用 Subscription 服务验证购买 Token。
Order 服务购买 Token 校验只针对非订阅型商品,包含消耗型商品和非消耗型商品。利用能够调用本接口向华为领取服务器校验领取后果中的购买令牌,确认领取后果的准确性。
Subscription 服务验证购买 Token 只针对订阅型商品。此接口用于校验购买的商品,判断商品是否曾经胜利购买,是否在有效期内。
Order 服务验证购买 Token 申请示例如下:
POST /applications/purchases/tokens/verify
Content-Type: application/json; charset=UTF-8
Authorization: Basic QVQ6Q1YzQ1NPbVlBaGwrZUtRWExtMTBVV2pyWXZHTVF4MmYvcVMya1B0ZElLY3UwaFJrdFNTMmxwdk1FQkIyYldXWGt0REVaR3I4UjFUTTRLMVlmNXdwWU80RG04THdXQWxjaFhEYjBMUjBNTUJtWnFYcGFtazc3THN3UnFJbkhHK28xekdqRzNSMg==
Accept: application/json
Content-Length: 143
{
"purchaseToken": "00000173741056a37eef310dff9c6a86fec57efafe318ae478e52d9c4261994d64c8f6fc8ea1abbdx5347.5.3089",
"productId": "prd1"
}
Subscription 服务验证购买 Token 申请示例如下:
POST /sub/applications/v2/purchases/get
Content-Type: application/json; charset=UTF-8
Authorization: Basic QVQ6Q1YzQ1NPbVlBaGwrZUtRWExtMTBVV2pyWXZHTVF4MmYvcVMya1B0ZElLY3UwaFJrdFNTMmxwdk1FQkIyYldXWGt0REVaR3I4UjFUTTRLMVlmNXdwWU80RG04THdXQWxjaFhEYjBMUjBNTUJtWnFYcGFtazc3THN3UnFJbkhHK28xekdqRzNSMg==
Accept: application/json
Content-Length: 171
{
"purchaseToken": "00000173741056a37eef310dff9c6a86fec57efafe318ae478e52d9c4261994d64c8f6fc8ea1abbdx5347.5.3089",
"subscriptionId": "1581789719266.D40972AC.3089"
}
- 订阅商品的验证如下:
参数 :subscriptionId;purchaseToken
接口 Url: {rootUrl}/sub/applications/v2/purchases/get
rootURL:
中国站点: https://subscr-drcn.iap.hiclo…
德国站点: https://subscr-dre.iap.hiclou…
新加坡站点: https://subscr-dra.iap.hiclou…
俄罗斯站点: https://subscr-drru.iap.hiclo…
AppTouch 德国站点: https://subscr-at-dre.iap.dba…
AppTouch 新加坡站点: https://subscr-at-dra.iap.dba…
上述介绍了 App 集成利用内领取 SDK 后验证购买 Token 接口时返回“rights invalid”的解决方案,那么有人可能要问了,华为利用内领取到底是什么呢?有什么性能?
对于 HMS IAP Kit
华为利用内领取服务(In-App Purchases,IAP)为 APP 提供便捷的利用内领取体验和简便的接入流程。App 通过集成 IAP SDK,再调用 IAP SDK 接口启动 IAP 收银台,即可实现利用内领取。聚合多种领取通道,反对寰球领取,为利用提供便捷的利用内领取体验,通过利用内领取服务,用户能够在利用内购买各种类型的商品或服务,包含一般虚构商品和订阅商品服务,助力开发者的商业变现。
疾速体验华为利用内领取服务教程和开发实例请参见疾速入门指南。
Stack Overflow 与 HMS
作为寰球最大的编程问答社区,Stack Overflow 上每天都会有来自寰球各地不同国家的开发者在下面发问各种编程问题。咱们也在 Stack Overflow 上开了专栏:Stack Overflow 欢送大家在下面发问在集成 HMS Core 过程中遇到的各种编程问题。
欲了解更多详情,请参阅:
华为利用内领取服务官网
利用内领取开发指南
示例代码
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~