HarmonyOS鸿蒙Next中订阅商品类想获取purchaseOrderId,发现时间不返回该参数,这个怎么处理与我方的定单对应上?
HarmonyOS鸿蒙Next中订阅商品类想获取purchaseOrderId,发现时间不返回该参数,这个怎么处理与我方的定单对应上? 【问题描述】:
2.1 测试发现,在有交期内,改变定阅:低价转高价 的 切换,只收到事件 = AUTO_RENEW_ENABLED。这个事件返回purchaseOrderId,可以查询到定单的信息,与我方系统对应上,没问题。
2.2 高价转低价 的 切换,如果先收到事件:AUTO_RENEW_DISABLED续费关闭事件。还再收到:DOWNGRADE,这个事件没有返回购买定单号(purchaseOrderId),查询不到具体的定单。

【需求】:一笔订单中对应的购买订单号。当NotificationType为DID_CHANGE_RENEWAL_STATUS且NotificationSubtype为DOWNGRADE时不返回purchaseOrderId。这个怎么处理与我方的定单对应上?
更多关于HarmonyOS鸿蒙Next中订阅商品类想获取purchaseOrderId,发现时间不返回该参数,这个怎么处理与我方的定单对应上?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
DOWNGRADE:这个事件没有返回orderId。

{ “notificationType”: “DID_CHANGE_RENEWAL_STATUS”, “notificationSubtype”: “DOWNGRADE”, “notificationRequestId”: “5ac8de3bd3da919aeb4ff7c3e56aca0c954fbe30baed8cc63a9ab7968adea309”, “notificationMetaData”: { “environment”: “SANDBOX”, “applicationId”: “6917559389124076569”, “packageName”: “com.more.moreschool”, “type”: 2, “currentProductId”: “20251021000”, “subGroupId”: “FAC7E8FD02854518B6D6C9186302C067”, “subGroupGenerationId”: “7d1e2644a94c7a828ce1ed25c0a89caefa2a207b3cad5477c14e496d849a7a53”, “subscriptionId”: “1764323932931.0F514C44.4763”, “purchaseToken”: “0000019ac9e6bb1f25eb96ca2404dc75950ea1a0c7c2bab6312db94cc21aec9963cab13e0e2278e7x434e.1.4763” }, “notificationVersion”: “v3”, “signedTime”: 1764323936587 }
更多关于HarmonyOS鸿蒙Next中订阅商品类想获取purchaseOrderId,发现时间不返回该参数,这个怎么处理与我方的定单对应上?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
所有订阅变更事件均会返回orderId字段
通过该字段调用queryPurchases接口可获取完整订单信息

然后查找 orderId 找到



这个就有你需要的 purchaseOrderId
参考地址
https://developer.huawei.com/consumer/cn/doc/harmonyos-references/iap-iap#section1147122418532
purchaseOrderId 与 orderId 的映射关系,每次更新currentOrderId 字段
在鸿蒙Next中,若订阅商品返回的purchaseOrderId为空,可使用开发者事务ID(developerTransactionId)或订单ID(orderId)进行关联。这两个参数在支付流程中由应用生成并传递至支付平台,可用于唯一标识交易并与您后台的订单记录进行匹配。
在HarmonyOS Next的订阅商品场景中,当收到DOWNGRADE通知时,确实不会直接返回purchaseOrderId。要与你方系统订单对应,建议通过以下方式处理:
-
关联关键参数:
DOWNGRADE通知中会包含subscriptionId(订阅商品ID)和purchaseToken。这两个参数是唯一标识一次订阅购买的关键信息。你方系统在最初处理订阅购买(或续费、升级)成功时,应已将subscriptionId和对应的purchaseToken与你方内部订单号进行绑定存储。 -
查询订单详情:当你收到
DOWNGRADE通知后,可以使用通知中的subscriptionId和purchaseToken,调用HarmonyOS IAP服务端的“获取订阅信息”或“验证购买Token”等相关查询接口。从查询返回的完整订阅详情中,可以获取到与该次降级操作关联的、最近一次有效的purchaseOrderId或其他订单标识信息。 -
逻辑对应:通过上述查询得到的
purchaseOrderId,即可关联到你方系统中已存储的对应订单记录,从而完成业务层面的订单状态同步或后续处理。
核心思路是:利用DOWNGRADE通知中提供的subscriptionId和purchaseToken作为查询条件,向IAP服务端请求更详细的订阅及订单信息,进而完成与你方订单系统的关联。


