华为IAP购买token校验报错{responseCode8,responseMessageERROR_INVALID_PAYMENTTOKEN}

问题背景

参考华为官网提供的文档,向华为服务器请求校验支付结果中的购买令牌,确认支付结果的准确性时,结果总是报错:{responseCode 8 , responseMessage ERROR_INVALID_PAYMENTTOKEN},其中请求接口的URL为:{rootUrl}/applications/purchases/tokens/verify。

问题分析与解决

仔细查看文档后发现,可以从以下两方面排查并解决此问题:

  1. 返回错误码8:由于未拥有该商品,消耗或者确认失败。消耗和确认是在购买成功后进行的,如果在未拥有该商品时进行消耗或者确认,将会报此错误。请进一步确认接口传入参数是否正确。

相关错误码请参考文档:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References-V5/server-error-code-0000001050166248-V5

  1. 检查接口中的URL地址{rootUrl}/applications/purchases/tokens/verify是否正确,rootUrl在不同站点有不同的url,其中非AppTouch站点的地址理论上选择任一站点都可以,华为服务器会进行站点间路由,但是非AppTouch的Token如果请求AppTouch站点的url,则会报错确认失败,即本错误码。

 

具体请参见:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References-V5/api-common-statement-0000001050986127-V5

原文链接:developer.huawei.com/consumer/cn…

原作者:Mayism

原文地址:https://www.cnblogs.com/developer-huawei/p/14913651.html