curl -X POST "${BASE_URL}/api/v2/subscription/createSchedule" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{
"merchant_id": "48290713",
"plan_id": "DDR73019482",
"type": 6,
"schedule_name": "Usage charge",
"amount": "10.00",
"start_date": "2030-01-15"
}'{
"code": 0,
"message": "ok",
"data": {
"schedule_id": 947281,
"schedule_no": "s1893452400000462",
"status": 2,
"plan_id": "DDR73019482"
}
}向 By agreement DDR 推送扣费计划
按扣费计划类型填写
必须提供 merchant_id、plan_id、type、amount 和 start_date。目标 DDR 须已激活并绑定支付方式,且允许添加新的扣费计划。
| type | 计划类型 | 额外必填参数 |
|---|---|---|
| 1 | 按成功期数 | day_of_debit、end_terms |
| 2 | 按累计金额 | day_of_debit、total_amount |
| 3 | 持续至取消 | day_of_debit |
| 4 | 按结束日期 | day_of_debit、end_date,结束日不得早于 start_date |
| 6 | 一次性 | 不要求 day_of_debit |
季度、半年、年度频率须提供 day_of_debit_dtstart。自定义频率须提供 process_type=12、custom_cycle_type 和 custom_cycle,并与 RRULE 一致。起算日期、首次扣费日期及完整取值限制见字段说明。
仅可向已激活且已绑定支付方式的 By agreement DDR 添加扣费计划,使用该 DDR 的支付方式。若存在任何 Paused 扣费计划(包括 Deposit 押金),须先恢复或取消;若存在 Active 的非 Deposit 扣费计划,须待其结束或取消后再添加。非标准 RRULE 须提供 process_type=12、custom_cycle_type 及 custom_cycle。start_date 不得早于 DDR 起算日;实际首次扣费日期不得早于服务业务时区的明天,并须符合 DDR 的起算日及频率规则。请同时保留响应的 plan_id 和 schedule_no。
所有示例均为格式示例,客户、订单、卡及账户数据须替换为测试环境获准使用的数据。BASE_URL 为服务根域名,不附加 /api/v2;ACCESS_TOKEN 为 /oauth/token 返回的 access_token。日期示例为 2030 年,执行时请改为满足当前日期限制的实际日期。
curl -X POST "${BASE_URL}/api/v2/subscription/createSchedule" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{
"merchant_id": "48290713",
"plan_id": "DDR73019482",
"type": 6,
"schedule_name": "Usage charge",
"amount": "10.00",
"start_date": "2030-01-15"
}'{
"code": 0,
"message": "ok",
"data": {
"schedule_id": 947281,
"schedule_no": "s1893452400000462",
"status": 2,
"plan_id": "DDR73019482"
}
}授权
OAuth2 client_credentials 授权。access_token 到期后重新获取。
请求体
向已激活且已绑定支付方式的 By agreement DDR 添加扣费计划,使用该 DDR 的支付方式。存在任何 Paused 扣费计划(包括 Deposit 押金)时须先恢复或取消;存在 Active 的非 Deposit 扣费计划时须待其结束或取消后再添加。非标准 RRULE 须同时提供 process_type=12、custom_cycle_type 及 custom_cycle。
业务标识,由 BillBuddy 分配。
1 - 20DDR 订阅 ID。
1 - 50扣费计划类型:1 按成功期数;2 按累计金额;3 持续至取消;4 按结束日期;6 One-off。不允许 5 或 7。
1, 2, 3, 4, 6 单次或每期金额。 金额以主货币单位计,例如 10.50 表示 AUD 10.50,最多两位小数。接受数值或数字字符串,最小 0.01、最大 9999999.99,两种类型遵守相同范围限制。
0.01 <= x <= 9999999.99必须是以下数值的倍数 0.01扣费计划起始日期 YYYY-MM-DD。不得早于 DDR 的起算日。可传过去日期;实际首次扣费不得早于服务业务时区的明天,并须符合 DDR 起算日及 RRULE 日期规则。
1扣费计划名称。 省略时使用 DDR 的 plan_name。
255目标累计金额,以主货币单位计,最多两位小数,最小为 0.01,接受数值或数字字符串。type=2 时必填且不能为 null。服务按目标金额推算期数。
x >= 0.01必须是以下数值的倍数 0.01RFC 5545 RRULE 扣费规则。type=1/2/3/4 时必填且不能为 null;type=6(一次性)可省略。频率写法见接入说明。
255仅自定义频率时传 12。其他频率由 RRULE 推断,请省略此字段。
12, null process_type=12 时必填。1 天、2 周、3 月、4 年;须与 RRULE 的 FREQ 对应。非 Custom 模式不得填写非空的自定义周期参数。 当 process_type 为 12 时必填,且不能为 null。
1, 2, 3, 4, null process_type=12 时必填,正整数且必须等于 RRULE 的 INTERVAL。以天为单位时最小 5,其他单位最小 1。 当 process_type 为 12 时必填,且不能为 null。
x >= 1首次扣费锚点。季度、半年、年度频率必填,推荐 YYYY-MM-DD;必须严格晚于对应 start_date,且在其后一个计费周期内(3/6/12 个月,按月底截断)。也支持 MM-DD,此时须为合法月日,不适用上述完整日期窗口限制。
^(\d{4}-)?\d{2}-\d{2}$结束日期,建议使用 YYYY-MM-DD。type=4 时必填且不能为 null;提供时不得早于同一段的 start_date。
成功扣费期数,正整数,最小为 1。type=1 时必填且不能为 null。
x >= 1