自动续期订阅说明
订阅是指用户在购买自动续期订阅商品后,可以在一段时间访问App的增值功能或内容,并且会在订阅周期结束后自动续期(自动购买下一期服务)的能力。如果期间用户取消订阅,则订阅在当期结束后将不再自动续期。

配置自动续期订阅商品
订阅组
自动续期订阅商品由订阅组来管理维护,所以在创建自动续期订阅商品前,需要先创建订阅组,并在创建自动续期订阅商品时指定商品所在的订阅组。
- 订阅组用于承载同类型商品的管理,一个订阅组可以包含多个自动续期订阅商品。
- 同一个订阅组只有一个商品是处于生效状态。当商品处于生效状态时,开发者需要为用户发放权益。
订阅组机制为开发者提供了便捷方式,让商品服务大致相同但有细微差别的需求得以快速实现。
续费周期
当前自动续期订阅商品的续费周期可选值有1周、30天、31天、1个月、2个月、3个月、6个月和12个月,具体配置方法请参见配置自动续期订阅商品。
保留期
当用户的订阅因取消、续期扣费失败等原因而失效时,该订阅将进入最长180天的保留期。在此期间,用户无法使用订阅服务。不过,如果用户在保留期内恢复订阅,即可立即恢复使用该订阅的所有权益。
订阅状态及变更
订阅状态
| 订阅状态 | 是否生效 | 说明 |
|---|---|---|
| 待生效 | 否 | 订阅还未开始生效,用户暂时还无法享受该自动续期订阅商品的服务(该状态订阅不支持查询)。 当用户在订阅组内进行切换订阅时,如果切换到一个下周期生效的订阅,则原订阅会变为将到期状态,而新切换的商品为待生效状态。用户可在原商品的订阅详情页内查看新切换商品的开始时间。 |
| 生效中 | 是 | 续期:将在当前订阅周期结束后自动续期。 将到期:在当前订阅周期结束后不会自动续期。 |
| 已到期 | 否 | 最近一次的续期扣费没有成功、用户取消订阅、用户不同意涨价或者是扣款账户发生了异常等均可导致订阅进入该状态。此外,该订阅会进入保留期。 |
| 尝试扣费 | 否 | 订阅快要到期或到期一段时间内系统会自动按一定周期尝试扣费续期。 |
| 撤销 | 否 | 撤销订阅成功,订阅权益会立即取消(用户及开发者无权限操作)。 |
订阅状态变更
用户在成功购买自动续期订阅商品后,订阅会变为续期状态。当发生如下操作时,订阅的状态会随之改变。
| 状态变更 | 说明 |
|---|---|
| 取消订阅 | 对已购自动续期订阅商品进行取消操作。取消成功,则订阅将不会进行下一周期的续费,但不影响当期订阅的使用。 说明: 此场景下开发者服务器会收到AUTO_RENEW_DISABLED的服务端关键事件通知。 |
| 恢复订阅 | 对于处于到期、已到期的订阅,用户可以恢复订阅,以再次享受订阅对应的服务。 说明: 此场景下开发者服务器会收到AUTO_RENEW_ENABLED或者RESTORE的服务端关键事件通知。 |
| 切换订阅 | 对已购自动续期订阅商品,进行同一个订阅组不同自动续期订阅商品的切换操作,有如下两种切换效果: - 立即生效的切换订阅(原订阅无保留期):用户原订阅的剩余金额将折算成新订阅的天数,延长新订阅的有效期。目前这种切换效果的触发场景为: 1. 订阅升级:新订阅的订阅等级高于原订阅 2. 新订阅与原订阅的订阅等级相同,且原订阅的续费周期和新订阅的续费周期相同 说明: 此场景下开发者服务器会收到UPGRADE的服务端关键事件通知。 订阅折算计算过程可参考IAP kit常见问题-自动续期订阅商品,A切换B且立即生效时,新订阅有效期的组成。 - 下周期生效的切换订阅:原订阅设置为将到期状态,新订阅为待生效状态,新订阅会在原订阅的失效日期开始扣费并生效。目前这种切换效果的触发场景为: 1. 订阅降级:新订阅的订阅等级低于原订阅 2. 新订阅与原订阅的订阅等级相同,且原订阅的续费周期和新订阅的续费周期不同 说明: 此场景下开发者服务器会收到DOWNGRADE的服务端关键事件通知。 |
具体订阅状态的变化如下:

让用户管理订阅
应用可以通过iap.showManagedSubscriptions接口跳转到订阅页或订阅详情页,让用户管理订阅。用户亦可通过"设置">"华为账号">"付款与账单">"订阅"路径进入订阅页管理订阅。包括查看订阅、取消订阅、切换订阅、恢复订阅等。

订阅续期处理
订阅的下一个续期价格(包括原价、涨价和降价)是在续期前10天确定的。对于订阅周期为1周的自动续期订阅商品,在当期续期成功后即开始确认下一次续期的价格,如果在确认价格后调整价格,那么下一次续期时仍然按照原价格进行,再下一期则按新的价格进行续期。
在订阅周期结束前24小时,IAP服务器会尝试向用户发起扣款以完成自动续期订阅商品的续期。若扣费失败,IAP服务器会在一定期限内重新尝试扣费,从而恢复订阅。

因扣费失败而失效的订阅,系统将进入为期60天的自动扣费重试。
提供优惠
为了提供更有吸引力的自动续期订阅商品购买和挽留,自动续期订阅商品提供了三种促销类型。
-
推介促销(新用户促销)
适用于自动续期订阅商品的促销价格。开发者可以指定优惠持续时间和类型(免费试用、按周期扣费),可用于吸引新用户。
推介促销规则:
- 用户对每个订阅组至多享受一次推介促销。如果一个订阅组里的多个商品均配置了推介促销活动,在用户尝试切换该订阅组的其他商品时,用户只能享受在该订阅组第一次遇到的推介促销。当切换订阅时在该订阅组再次遇到推介促销,将不再享有推介促销资格。
- 推介促销价享受的触发方式是新订阅、恢复订阅、切换订阅三种情况。推介促销的享受资格不受订阅方式影响,无论是新发起的订阅,恢复订阅,还是切换订阅等,均遵从“用户对每个订阅组至多享受一次推介促销”的原则,只要没有享受过该订阅组的推介促销,就可以享受推介促销。
-
优惠促销(自定义人群促销)
可以针对用户群体、优惠地域进行自定义选择,支持开发者进行个性化的优惠活动配置。开发者可以在发起购买前,查询该商品的优惠活动信息,在最终发起购买时,将优惠活动信息传递到华为应用内支付,最终将优惠活动信息展示给用户。
优惠促销规则:
- 当用户同时符合优惠促销和推介促销时,优惠促销的优先级高于推介促销。
- 当用户历史上享受过优惠促销,仍具备享受推介促销的资格。
- 优惠促销无使用次数限制。
当前优惠促销涉及生成优惠签名购买参数处理,推荐具备服务器的开发者接入使用。
-
挽留促销(退订挽留促销,即将开放)
适用于自动续期订阅商品的促销价格。开发者可以指定优惠持续时间、类型(免费试用、按周期扣费)和多次享受优惠的间隔(从优惠结束时间起算),可用于挽留即将取消订阅的用户。开发者配置自动续期订阅商品的挽留促销后,用户在订阅管理界面取消订阅且满足挽留促销使用条件时,会弹出挽留弹框,用户可以选择享受挽留促销并继续订阅或者仍要取消订阅。当用户选择享受挽留促销则下周期续期时挽留促销生效,享受挽留促销价。
挽留促销规则:
- 用户使用了挽留促销,在续期前取消订阅,则挽留促销未生效。若该场景下用户恢复订阅,当前订阅周期内无法再次使用挽留促销,需完成续期后才可使用挽留促销。
- 开发者设置了挽留促销的使用间隔,当前时间与用户最近一次已享受挽留促销周期结束时间的间隔达到要求后,挽留促销才可再次使用。
- 挽留促销无使用次数限制,但以下场景不可使用。
- 用户正在享受或者下周期即将享受推介促销、优惠促销时,挽留促销不可使用。
- 用户正在享受或者下周期即将享受挽留促销时,挽留促销不可再次使用。
- 开发者设置了商品涨价且用户尚未同意涨价时,挽留促销不可使用。

设置促销时,除了要选择促销类型,还需为每项促销选择以下任一一种付费模式。
- 免费试用: 设置一个免费时间段,让用户在购买初期免费享受一段时间的商品服务。
- 按周期扣费: 设置一个低于商品原价的价格,让用户在购买初期每个周期以低价享受商品权益。
- 提前支付: 设置一个一次性支付特定时限的价格,让用户购买后在该特定的优惠期内以低价享受商品权益,优惠期结束后按商品原价续订。
具体配置方法请参见配置商品信息。
- 用户是否享受优惠促销,取决于开发者传入的优惠ID(详细参数参见生成优惠签名购买参数)。
- 推介促销由IAP服务器判断用户是否可享受并自动使用,开发者可通过iap.queryProducts返回值中SubscriptionInfo的hasEligibilityForIntroOffer字段判断用户是否享受过推介促销。
修改自动续期订阅商品
调整自动续期订阅商品价格
开发者可以为每个自动续期订阅商品降低或提高价格,具体配置可参见修改订阅类商品。
-
降低价格:对所有用户生效,包括已经订阅的用户和新订阅的用户。如果在距离下个续期日10天内调整价格, 则下次续期将按照现有价格再续订一个周期,然后再往后一个周期以新的价格续期。
-
提高价格:当提高自动续期订阅商品价格时,有两种策略可选。
- 为已订阅的用户保留原价,对新订阅的用户使用新的价格。
- 对已订阅的用户生效。IAP服务器会在下一个续期日提前10天通知已订阅的用户商品价格上涨以及新价格的收费日期。如果在距离下个续期日10天内调整价格, 则下次续期将按照现有价格再续订一个周期,然后在下个周期结束提前10天通知已订阅的用户。其他的限制还包括:
- 自动续期订阅商品新的价格需要已订阅用户的同意,如果用户未同意,其订阅不会自动续期,直到用户同意涨价。
- 在价格调整生效后将无法撤销。可以计划新的价格调整从而实现降价,但此前因价格提高而选择停止续订的用户需要重新订阅。
- 如果用户支付了促销价格的自动续期订阅商品且当前周期为以促销价格购买自动续期订阅商品的周期,则用户下一周期将按照原价进行订阅,再在下一个续费周期按照上述规则执行。
处理自动续期订阅商品下架
在处理自动续期订阅商品的下架时,需要考虑对用户的影响。
- 允许存量用户续期,防止新用户订阅:开发者可以通过商品管理下架商品来防止新用户订阅,开发者仍需对存量用户提供订阅权益。
- 新/存量用户均不可用:开发者可以通过提前在商品管理中删除数字商品来防止新用户订阅以及存量用户续期。建议删除数字商品一段时间后再正式停止提供订阅权益,该时间需与其续费周期一致,保障存量用户体验到完整时限的商品服务。例如,对于周期为1个月的自动续期订阅商品,应该提前1个月将该商品删除,确保新用户在此期间无法订阅,且存量用户在停止提供订阅权益之前体验到完整时限权益,不会自动续期(自动购买下一期服务)。
接收订阅关键事件的通知
如果开发者提前配置了通知接收地址,用户购买自动续期订阅商品后,IAP服务器会在订阅场景的某些关键事件发生时调用此接口通知配置的服务器,具体请参见服务端关键事件通知。主要涉及的场景如下:
- 用户第一次订阅成功。
- 已过期的订阅自动续期成功。
- 用户主动恢复一个已过期的自动续期订阅商品。
- 用户调整为相同等级的自动续期订阅商品,如果订阅商品的周期相同,则新订阅立即生效。
- 用户调整为相同等级的自动续期订阅商品,如果订阅商品的周期不相同,则新订阅在下个续期日生效。
- 用户主动取消或App取消一个自动续期订阅商品,已经收费的服务仍然有效,但是后续续期会停止。
- 一个自动续期订阅商品成功续期。
- 一个到期的自动续期订阅商品进入保留期。
若开发者服务器返回结果为非成功响应(请求返回的HTTP状态码不为200),将对本次关键事件的通知进行周期性重发。建议在服务器收到通知后立即返回成功响应,避免通知消息堆积。
多角色应用接入订阅专项说明
用户购买订阅型商品时使用的账号是华为账号,一个华为账号在同一订阅商品上只能同时存在一笔订阅。如果应用存在多角色,可能会存在权益发放错乱的现象。针对这个场景建议的处理方案如下:
- 当用户为角色A购买自动续期订阅商品后,该用户的其他角色只允许购买普通固定周期商品服务(开发者可以通过华为消耗型商品自行实现)。
- 当用户为角色A购买自动续期订阅商品后,再为角色B购买自动续期订阅商品时,开发者可以自行设计将角色A的剩余权益转移给角色B。
- 开发者可以配置多个自动续期订阅商品。如游戏不同区服对应不同角色,每个区服创建独立的自动续期订阅商品。