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

HarmonyOS鸿蒙Next中【HMS Core】应用内支付FAQ 6-unknownException、订单编号传入 【关键字】

  • 应用内支付
  • 报错

【问题描述1】

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

【解决方案】

  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

【问题描述2】

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

【解决方案】

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

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

    可以根据支付后拿到的最新的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时不存在。


更多关于HarmonyOS鸿蒙Next中【HMS Core】应用内支付FAQ 6-unknownException、订单编号传入的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中【HMS Core】应用内支付FAQ 6-unknownException、订单编号传入的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,使用HMS Core进行应用内支付时,如果遇到unknownException错误,通常是由于订单编号(Order ID)未正确传入或格式错误导致的。请确保在调用支付接口时,订单编号符合以下要求:

  1. 订单编号必须唯一,不能重复使用。
  2. 订单编号长度应在6到64个字符之间,仅支持字母、数字和下划线。
  3. 订单编号不能为空或包含特殊字符。

如果问题仍然存在,建议检查网络连接、HMS Core版本以及支付接口的调用参数是否正确。

回到顶部