HarmonyOS鸿蒙Next中集成应用内支付订阅功能,暂停计划未生效前取消暂停计划的关键事件通知
HarmonyOS鸿蒙Next中集成应用内支付订阅功能,暂停计划未生效前取消暂停计划的关键事件通知 背景描述
我们游戏集成了华为应用内支付订阅服务,分别在正式环境和沙盒环境下,测试设置暂停计划,暂停期生效前取消暂停计划,并记录下每次收到订阅关键事件通知的notificationType(通知事件类型),测试结果如下:
问题分析
正式环境下:
- 7月28号14:26首次购买周卡,返回订阅关键事件0。0表示首次购买。
- 7月28号14:32取消订阅,返回订阅关键事件5。5表示订阅停止。
- 7月28号14:33恢复订阅,返回订阅关键事件6,恢复订阅。
- 7月28号14:33设置暂停计划一周,返回订阅关键事件11,11表示设置了暂停续期计划 (包括暂停计划的创建、修改以及在暂停计划生效前的计划终止)。
- 8月2号10:01取消暂停计划,原订阅是7月28号购买的周卡,到期时间是8月4号,暂停计划生效前发生了更改,所以还是返回11。
- 8月3号13:26即到期前一天25小时内自动续期,返回自动续期通知7。
- 之后支付宝中取消自动续费协议,中断续期。
- 8月12号13:26进入帐号保留期,返回订阅关键事件通知9。
这里我有个疑问①:我自己计算商品应该是11号就到期了,实际收到进入帐号保留期通知是12号,是延迟了吗?
沙盒环境下:
- 10月18号10:45首次购买周卡,返回订阅关键事件0。0表示首次购买,与正式环境一致。
- 10月18号10:46取消订阅,返回订阅关键事件5。与正式环境一致。
- 10月18号10:46恢复订阅并自动续期成功,返回订阅通知6和7,与正式环境多返回通知7,沙盒环境下设置如此,正式环境不受影响。
- 10月18号10:46设置暂停计划后又取消暂停,都是返回通知11,表示创建、暂停计划生效前终止。
- 取消暂停十分钟后沙盒每间隔3分钟自动续期一次。没有进入帐号保留期。
这里有问个疑问②:为什么没有进入保留期?
问题解决
咨询华为技术(可提单https://developer.huawei.com/consumer/cn/support/feedback联系),对方针对我的疑问做了答复:
疑问①:进入帐号保留期属于商品过期事件,过期事件和续费扣款不同,不是实时检查到并发送关键事件通知。目前华为会每日检查一次是否过期,所以会有一天左右的时间误差,但是通知里面收到的过期时间是准确的,所以过期时间以通知内的expirationDate为准。(我看通知里面expirationDate时间戳转化时间为2022-8-11 14:26:23)
疑问②:沙盒不支持帐号保留期的测试,因为沙盒是模拟测试,不产生实际支付,没有扣款失败的问题(支付宝取消订阅续期协议也不影响沙盒续期功能)。
更多关于HarmonyOS鸿蒙Next中集成应用内支付订阅功能,暂停计划未生效前取消暂停计划的关键事件通知的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS鸿蒙Next中集成应用内支付订阅功能,暂停计划未生效前取消暂停计划的关键事件通知的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,集成应用内支付订阅功能时,若用户在暂停计划未生效前取消暂停计划,可通过监听支付服务的回调事件来获取关键通知。具体实现中,开发者应注册并处理onCancelPauseSubscription
事件,以便及时更新应用状态或提示用户。这一机制确保了在用户取消暂停计划时,应用能够立即响应并执行相应的业务逻辑。