【HMS Core】应用内支付FAQ 6-unknownException、订单编号传入

发布时间 2023-04-10 17:20:46作者: 华为开发者论坛

 【关键字】

应用内支付、报错

 

【问题描述1】

收到华为的支付回调通知后,通过通知里面的purchaseToken,调用Order服务验证购买Token时报错

cke_4065.png

【解决方案】

1、报错“6-unknownException”有可能是因为请求头里带的认证token有问题,请检查Authorization字段

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

2、如步骤一无法解决,可检查下“APPAT”参数是否真确

具体可以参考示例代码:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/obtain-application-level-at-0000001051066052

cke_1262.png

 

 

【问题描述2】

华为的支付回调通知,是否可以把用户自己的订单编号传过来?

【解决方案】

1、首先需要确定商品是消耗型商品还是订阅性商品,因为只有订阅商品有orderid,而订单没有orderid

2、如果用户购买的商品是消耗型商品

cke_2086.png

可以根据支付后拿到的最新的purchaseToken,表示该商品和该用户的对应关系。可以通过{rootUrl}/applications/purchases/tokens/verify 接口对拿到的最新的purchaseToken进行解析,具体可以参考文档:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/api-order-verify-purchase-token-0000001050746113;

3、如果用户购买的商品是订阅型商品

根据官方文档,订单ID是唯一标识一笔需要收费的收据,由华为应用内支付服务器在创建订单以及订阅型商品续费时生成。

每一笔新的收据都会使用不同的orderId。当通知类型为NEW_RENEWAL_PREF时不存在。

cke_2876.png

 

 

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh