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

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

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

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

因扣费失败而失效的订阅,系统将进入为期60天的自动扣费重试。
为了提供更有吸引力的自动续期订阅商品购买和挽留,自动续期订阅商品提供了三种促销类型。
推介促销(新用户促销)
适用于自动续期订阅商品的促销价格。开发者可以指定优惠持续时间和类型(免费试用、按周期扣费),可用于吸引新用户。
推介促销规则:
优惠促销(自定义人群促销)
可以针对用户群体、优惠地域进行自定义选择,支持开发者进行个性化的优惠活动配置。开发者可以在发起购买前,查询该商品的优惠活动信息,在最终发起购买时,将优惠活动信息传递到华为应用内支付,最终将优惠活动信息展示给用户。
优惠促销规则:
挽留促销(退订挽留促销,即将开放)
适用于自动续期订阅商品的促销价格。开发者可以指定优惠持续时间、类型(免费试用、按周期扣费)和多次享受优惠的间隔(从优惠结束时间起算),可用于挽留即将取消订阅的用户。开发者配置自动续期订阅商品的挽留促销后,用户在订阅管理界面取消订阅且满足挽留促销使用条件时,会弹出挽留弹框,用户可以选择享受挽留促销并继续订阅或者仍要取消订阅。当用户选择享受挽留促销则下周期续期时挽留促销生效,享受挽留促销价。
挽留促销规则:

设置促销时,除了要选择促销类型,还需为每项促销选择以下任一一种付费模式。
免费试用: 设置一个免费时间段,让用户在购买初期免费享受一段时间的商品服务。
按周期扣费: 设置一个低于商品原价的价格,让用户在购买初期每个周期以低价享受商品权益。
提前支付: 设置一个一次性支付特定时限的价格,让用户购买后在该特定的优惠期内以低价享受商品权益,优惠期结束后按商品原价续订。
具体配置方法请参见配置商品信息。
用户是否享受优惠促销,取决于开发者传入的优惠ID(详细参数参见生成优惠签名购买参数)。
推介促销由IAP服务器判断用户是否可享受并自动使用,开发者可通过iap.queryProducts返回值中SubscriptionInfo的hasEligibilityForIntroOffer字段判断用户是否享受过推介促销。
开发者可以为每个自动续期订阅商品降低或提高价格,具体配置可参见修改订阅类商品。
降低价格:对所有用户生效,包括已经订阅的用户和新订阅的用户。如果在距离下个续期日10天内调整价格, 则下次续期将按照现有价格再续订一个周期,然后再往后一个周期以新的价格续期。
提高价格:当提高自动续期订阅商品价格时,有两种策略可选。
如果开发者提前配置了通知接收地址,用户购买自动续期订阅商品后,IAP服务器会在订阅场景的某些关键事件发生时调用此接口通知配置的服务器,具体请参见服务端关键事件通知。主要涉及的场景如下:
用户第一次订阅成功。
已过期的订阅自动续期成功。
用户主动恢复一个已过期的自动续期订阅商品。
用户调整为相同等级的自动续期订阅商品,如果订阅商品的周期相同,则新订阅立即生效。
用户调整为相同等级的自动续期订阅商品,如果订阅商品的周期不相同,则新订阅在下个续期日生效。
用户主动取消或App取消一个自动续期订阅商品,已经收费的服务仍然有效,但是后续续期会停止。
一个自动续期订阅商品成功续期。
一个到期的自动续期订阅商品进入保留期。
若开发者服务器返回结果为非成功响应(请求返回的HTTP状态码不为200),将对本次关键事件的通知进行周期性重发。建议在服务器收到通知后立即返回成功响应,避免通知消息堆积。