订阅场景示例
通过 创建 接口的不同参数配置,您可以自定义不同的订阅场景。在进一步了解不同订阅场景之前,首先您需要了解下 周期扣款逻辑。
周期扣费逻辑
您可以通过配置 创建 接口中的以下参数管理订阅的周期和扣费逻辑:
字段名 | 描述 |
subscriptionStartTime | 周期的开始时间,允许设置为过去的时间,但不能早于发起订阅申请前的一个周期。 |
subscriptionEndTime | 周期结束的时间。 |
paymentAmount | 每个订阅周期的扣款金额。 |
periodRule.periodType | 订阅周期的类型,可以为 |
periodRule.periodCount | 周期类型的数量,例如 period.periodType 为 |
trials.trialStartPeriod | 试用期开始的期数。 |
trials.trialAmount | 试用期每期的扣款金额。 |
trials.trialEndPeriod | 试用期结束的期数,不传默认与 trials.trialStartPeriod 的值相同。 |
表 1. 订阅创建接口关键参数
假设 subscriptionStartTime 为 2023-08-01T08:00:00+8:00
,periodType 为 MONTH
,periodCount 为 1
,即订阅周期为一个月,则订阅周期及扣费说明如下:
订阅期数 | 周期开始时间 | 扣款时间 |
第 1 期 | 2023-08-01T08:00:00+8:00 | 为授权完成时间 |
第 2 期 | 2023-09-01T08:00:00+8:00 | 2023-08-31T08:00:00+8:00 到 2023-09-01T08:00:00+8:00 之间 |
第 3 期 | 2023-10-01T08:00:00+8:00 | 2023-09-30T08:00:00+8:00 到 2023-10-01T08:00:00+8:00 之间 |
第 4 期 | 2023-11-01T08:00:00+8:00 | 2023-10-31T08:00:00+8:00 到 2023-11-01T08:00:00+8:00 之间 |
... | ... | ... |
表 2. 订阅周期及扣费规则样例说明
在扣款成功或者失败之后,Alipay 会通过 支付结果通知 接口向您发送异步通知,告知您支付结果。
【注意】
- 第一次扣费是在买家订阅授权完成时执行,第一次扣费时若失败,会导致订阅授权失败,该订阅不会生效。建议您重新发起订阅请求。
- 如果第一期扣款成功,则 Alipay 会从第二期开始在每个周期开始前 24 小时开始发起扣款,直至扣款成功或者 24 小时结束。
- 如果在第二期收到了扣款失败的通知,则您无法主动为本期发起扣款请求,您需要调用 取消 接口取消买家后续的订阅服务。
场景示例
以下为常用场景说明及传参示例。
普通订阅
场景说明:买家按固定订阅周期支付固定的周期订阅金额。
扣费说明:订阅授权成功后,立即扣款,并且后续每隔一个周期扣款一次。
如下示例以订阅周期为一个月,周期支付金额为 1100 PHP 进行举例说明:
{
"...": "...",
"paymentAmount": {
"currency": "PHP",
"value": "1100"
},
"periodRule": {
"periodCount": 1,
"periodType": "MONTH"
},
"subscriptionStartTime": "2023-08-01T08:00:00+8:00"
}
订阅期数 | 周期开始时间 | 扣款时间 | 支付金额 |
第 1 期 | 2023-08-01T08:00:00+8:00 (即 subscriptionStartTime) | 为授权完成时间 | 1100 PHP |
第 2 期 | 2023-09-01T08:00:00+8:00 | 2023-08-31T08:00:00+8:00 到 2023-09-01T08:00:00+8:00 之间 | 1100 PHP |
第 3 期 | 2023-10-01T08:00:00+8:00 | 2023-09-30T08:00:00+8:00 到 2023-10-01T08:00:00+8:00 之间 | 1100 PHP |
第 4 期 | 2023-11-01T08:00:00+8:00 | 2023-10-31T08:00:00+8:00 到 2023-11-01T08:00:00+8:00 之间 | 1100 PHP |
.... |
表 3. 普通订阅场景示例
预售场景
场景说明:当您新品发售时,可以使用订阅预售能力。设置买家授权时扣款,未来固定的时间点开始享受订阅服务。
扣费说明:订阅发起成功后,立即扣款。但服务在未来时间开始生效,后续每隔一个周期扣款一次。
如下示例以提前一周预售、订阅周期为一个月,周期支付金额为 1100 PHP 进行举例说明:
{
"...": "...",
"paymentAmount": {
"currency": "PHP",
"value": "1100"
},
"period": {
"periodCount": 1,
"periodType": "MONTH"
},
"subscriptionStartTime": "2023-08-08T08:00:00+8:00"
}
订阅期数 | 周期开始时间 | 扣款时间 | 扣款金额 |
- (预售期间) | - | 2023-08-01T08:00:00+8:00 (即授权完成时间) | 1100 PHP |
第 1 期 | 2023-08-08T08:00:00+8:00 (即 subscriptionStartTime) | - | - |
第 2 期 | 2023-09-08T08:00:00+8:00 | 2023-09-07T08:00:00+8:00 到 2023-09-08T08:00:00+8:00 之间 | 1100 PHP |
第 3 期 | 2023-10-08T08:00:00+8:00 | 2023-10-07T08:00:00+8:00 到 2023-10-08T08:00:00+8:00 之间 | 1100 PHP |
第 4 期 | 2023-11-08T08:00:00+8:00 | 2023-11-07T08:00:00+8:00 到 2023-11-08T08:00:00+8:00 之间 | 1100 PHP |
.... |
表 4. 预售订阅场景示例
首期优惠
场景说明:买家首期可享用优惠订阅价格,后续订阅周期支付金额为原价。
扣费说明:订阅发起成功后,立即扣款。首期订阅费用优惠,后续每个周期按原价扣款。
如下示例以首期优惠减半、订阅周期为一个月,周期支付金额为 1100 PHP 进行举例说明:
{
"...": "...",
"paymentAmount": {
"currency": "PHP",
"value": "1100"
},
"period": {
"periodCount": 1,
"periodType": "MONTH"
},
"subscriptionStartTime": "2023-08-01T08:00:00+8:00",
"trials": [
{
"trialStartPeriod": 1,
"trialAmount": {
"currency": "PHP",
"value": "550"
},
"trialEndPeriod": 1
}
]
}
订阅期数 | 周期开始时间 | 扣款时间 | 扣款金额 |
第 1 期 | 2023-08-01T08:00:00+8:00 (即 subscriptionStartTime) | 为授权完成时间 | 550 PHP |
第 2 期 | 2023-09-01T08:00:00+8:00 | 2023-08-31T08:00:00+8:00 到 2023-09-01T08:00:00+8:00 之间 | 1100 PHP |
第 3 期 | 2023-10-01T08:00:00+8:00 | 2023-09-30T08:00:00+8:00 到 2023-10-01T08:00:00+8:00 之间 | 1100 PHP |
第 4 期 | 2023-11-01T08:00:00+8:00 | 2023-10-31T08:00:00+8:00 到 2023-11-01T08:00:00+8:00 之间 | 1100 PHP |
.... |
表 5. 首期优惠订阅场景示例
七天试用
场景说明:买家前七天可免费试用订阅产品,七天后订阅金额恢复原价。
扣费说明:订阅首期 subscriptionStartTime 设置为过去的时间(具体见下表),首期不扣费。买家试用七天后开始扣费,且每个周期按原价扣款。
如下示例以前七天免费试用、订阅周期为一个月,周期支付金额为 1100 PHP 进行举例说明:
{
"...": "...",
"paymentAmount": {
"currency": "PHP",
"value": "1100"
},
"period": {
"periodCount": 1,
"periodType": "MONTH"
},
"subscriptionStartTime": "2023-07-08T08:00:00+8:00",
"trials": [
{
"trialStartPeriod": 1,
"trialAmount": {
"currency": "PHP",
"value": "0"
},
"trialEndPeriod": 1
}
]
}
订阅期数 | 周期开始时间 | 扣款时间 | 扣款金额 |
- | 2023-07-08T08:00:00+8:00 (subscriptionStartTime 设置为过去时间) | - | - |
第 1 期(试用期) | 2023-08-01T08:00:00+8:00 (买家实际试用开始时间) | 为授权完成时间 | 0 PHP |
第 2 期 | 2023-08-08T08:00:00+8:00 | 2023-08-07T08:00:00+8:00 到 2023-08-08T08:00:00+8:00 之间 | 1100 PHP |
第 3 期 | 2023-09-08T08:00:00+8:00 | 2023-09-07T08:00:00+8:00 到 2023-09-08T08:00:00+8:00 之间 | 1100 PHP |
第 4 期 | 2023-10-08T08:00:00+8:00 | 2023-10-07T08:00:00+8:00 到 2023-10-08T08:00:00+8:00 之间 | 1100 PHP |
.... |
表 6. 七天使用订阅场景示例