有海内开发者向咱们发问:我在利用中集成了华为利用内领取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/verifyContent-Type: application/json; charset=UTF-8Authorization: Basic QVQ6Q1YzQ1NPbVlBaGwrZUtRWExtMTBVV2pyWXZHTVF4MmYvcVMya1B0ZElLY3UwaFJrdFNTMmxwdk1FQkIyYldXWGt0REVaR3I4UjFUTTRLMVlmNXdwWU80RG04THdXQWxjaFhEYjBMUjBNTUJtWnFYcGFtazc3THN3UnFJbkhHK28xekdqRzNSMg==Accept: application/jsonContent-Length: 143{ "purchaseToken": "00000173741056a37eef310dff9c6a86fec57efafe318ae478e52d9c4261994d64c8f6fc8ea1abbdx5347.5.3089", "productId": "prd1"}
Subscription服务验证购买Token申请示例如下:
POST /sub/applications/v2/purchases/getContent-Type: application/json; charset=UTF-8Authorization: Basic QVQ6Q1YzQ1NPbVlBaGwrZUtRWExtMTBVV2pyWXZHTVF4MmYvcVMya1B0ZElLY3UwaFJrdFNTMmxwdk1FQkIyYldXWGt0REVaR3I4UjFUTTRLMVlmNXdwWU80RG04THdXQWxjaFhEYjBMUjBNTUJtWnFYcGFtazc3THN3UnFJbkhHK28xekdqRzNSMg==Accept: application/jsonContent-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 最新技术资讯~