自动续期订阅是苹果推出的一项苹果内购服务,当用户在App Store订阅了某项服务后,App Store会在订阅时间快到期之前,自动扣费并帮用户续订该服务。
自动续期订阅的优势
创建自动续期订阅
打开并登录Connect网站
1. 从“我的 App”中,选择您的 App。
2. 在侧边栏的“App 内购买项目”下方,点按“管理”。
**3. ** 滚动至“App 内购买项目”部分,并点按添加按钮(+)。
4. 选择自动续期订阅,并点按“创建”。
**5. ** 添加您 App 内购买项目的参考名称和产品 ID,然后点按“下一步”。
6. 创建时,选择自动续期订阅之后,输入名称
和产品ID
选择订阅群组时,测试组
用于开发时,测试使用;(测试组的订阅时限有效时间短,可用于测试自动订阅,下面会提到)
生产环境时选择创建新订阅群组
,并输入群组名称
7. 创建好订阅群组后,设置订阅时限
和订阅价格
8. 设置订阅群组的本地化版本
订阅群组本地化版本名称显示,对应在App Store
中的订阅显示如下
推介促销优惠
创建推介促销优惠
1. 选择订阅群组 ==> 订阅价格 ==> 查看所有订阅定价
2. 推介促销优惠 ==> +
3. 选择优惠地区 ==> 设置优惠时间区间
推介优惠的三种类型
假设现在的订阅类型为每个月连续订阅,原价为20元/月
**随用随付:**以下设置表示新用户前三个月,每个月可以以10元
的价格订阅
**提前支付:**以下设置表示新用户可以支付30元
,一次性开通三个月的会员(原价为20元/月
,三个月需要支付60元
,所以相当于5折
)
**免费:**以下设置表示新用户前一个月为免费使用
自动续期订阅设置推介促销优惠的时间组合
关于开发
配置Apple服务器订阅通知URL
-
从“我的 App”中,选择您的 App。
-
在侧边栏的“综合”下方,点按“App 信息”。
-
向下滚动至“综合信息”,然后前往“App Store 服务器通知网址(URL)”部分。
-
输入您用于接收 App Store 服务器通知的网址(URL)。
苹果服务器通过HTTP POST
将JSON对象
传递给您的服务器,以进行订阅事件。 App的服务器负责解析,解释和响应所有服务器到服务器的通知。server-to-server
的通知是HTTP POST
。 POST
的正文包含responseBody
中描述的数据元素。苹果服务器会发布由notification_type
字段的值表示的订阅事件的通知。
notification_type字段的订阅状态
CANCEL
- Apple客户支持取消了订阅。检查Cancellation Date以了解订阅取消的日期和时间。
DID_CHANGE_RENEWAL_PREF
- 用户对其订购计划进行了更改,该更改在下一次续订时生效。 当前活动的计划不受影响。
DID_CHANGE_RENEWAL_STATUS
- 订阅续订状态的更改。 检查
JSON
响应中的auto_renew_status_change_date_ms
和auto_renew_status
以了解上一次状态更新的日期和时间以及当前的续订状态。
DID_FAIL_TO_RENEW
- 表示由于计费问题而无法续订的订阅。 如果订阅处于计费宽限期内,请检查
is_in_billing_retry_period
以了解订阅的当前重试状态,并检查grace_period_expires_date
以了解新服务的到期日期。
DID_RECOVER
- 已过期订阅的自动续订成功。 检查
expires_date
,以确定下一个续订日期和时间。
INITIAL_BUY
- 在用户第一次购买订阅时发生。 通过在
App Store
上进行验证,可以在服务器上将Latest_Receipt
作为令牌存储,以随时验证用户的订阅状态。
INTERACTIVE_RENEWAL
- 用户使用您的应用程序界面或在该帐户的“订阅”设置中的
App Store
上以交互方式续订了订阅。 立即提供服务。
RENEWAL
- 已过期订阅的自动续订成功。检查
Subscription Expiration Date
以确定下一个续订日期和时间。
REFUND
- 表示
App Store
已成功退款交易。cancel_date_ms
包含已退款交易的时间戳;original_transaction_id
和product_id
标识原始交易和产品,而cancel_reason
包含原因。
关于连续的状态及含义和处理方式(仅供参考)
关于测试
创建沙盒测试员帐户
1. 打开appstoreconnect.apple.com/
2. 选择用户和访问
3. 创建测试账号
测试账号的电子邮箱可以随便填,不需要验证。例如:xxxx@123.com
测试账号不需要使用时,可以删除
测试自动续期订阅测试时效
假如现在自动续期订阅是一个月订阅一次,当测试账号订阅了一个月的会员成功后,苹果服务器会在五分钟后自动发起server-to-server通知。其他时间按照表格以此类推。
**注意:**每个测试账号,测试每一种续期订阅只能使用一次。比如创建了一个A测试账号,A账号订阅了一个月自动续期订阅之后,苹果服务器只会帮A账号自动续期一次,之后A账号即使再次续订一个月,也不会触发一个月的自动续订。
(如需再次测试一个月自动续期:1、重新创建测试账号 2、可以在设置 --> App Store --> 沙盒账号 --> 管理 --> 重设优惠资格)