周期扣款是根据周期性的方式进行扣款的,因此可以通过period_rule_params(周期管控规则参数)设置。
一、周期规则参数说明
1、period_type(必传):周期扣款类型,枚举值为DAY和MONTH。
2、period(必传):与period_type结合,为周期扣款的单位时间。
如period_type为DAY,period=90,则扣款周期为90天。
3、execute_time(必传):首次扣款执行时间,精确到日,格式为yyyy-MM-dd。
4、single_amount(必传):单次扣款最大金额,即每次发起扣款时限制的最大金额每次发起扣款时限制的最大金额
5、total_amount(选填):总金额限制,即商户多次扣款的累计金额不允许超过此金额。
6、total_payments(选填):总扣款次数,即商户成功扣款的次数不能超过此次数限制(扣款失败不计入)。
二、注意事项 1、周期为天
period_type=DAY,扣款周期按天计
(1)周期扣款最短周期为7天,因此设置周期为日时,period参数值最少为7天。
(2)周期为日时,execute_time可以设置为任意一天,对每月的29-31不进行限制。
2、周期为月
period_type=MONTH,扣款周期按自然月计。
自然月是指,不论这个月有多少天,周期都计算到月份中的同一日期。
例如1月3日到2月3日为一个自然月,1月3日到4月3日为三个自然月。
(1)周期为月时,execute_time设置时间不允许传28日之后的日期(即可以传1-28日,但是29-31不可设置)。
以此避免有些月份可能不存在对应日期的情况(如闰年的2月只有28年)。
3、扣款时间
根据execute_time和周期时间决定每次的扣款时间,每次扣款允许商户在约定日期之前3天开始扣款。
案例:period_type=MONTH,period=1,execute_time=2020-02-01。
(1)首次扣款时间范围为2020-02-01、2020-01-31、2020-01-30、2020-01-29。
(2)下一周期扣款时间范围为2020-03-01、2020-02-29、2020-02-28、2020-02-27。
(3)首次扣款时间不受接口请求时间(timestamp)影响,execute_time=2020-02-01,timestamp为2020-04-01也是没有关系的。
(4)扣款时间希望为每月的最后几天,可如示例通过设置execute_time为每月的1号,可提前3天发起扣款。
(5)如果扣款接口请求时间(timestamp)为2020-03-01 23:59:59,请求到支付宝时已经为该月的2号,实际是无法扣款成功的,具体是否扣款成功,时间是以扣到款的时间为准的,而不是接口请求的时间。
如果出现扣款期间内失败,或者忘记扣款等,可通过【alipay.user.agreement.executionplan.modify(周期性扣款协议执行计划修改接口)】延迟扣款时间。
4、扣款金额
周期扣款对用户额度限制:对每个用户的单笔扣款不超过 100 元,当日扣款不超过 1000 元,当月扣款不超过 30000 元。
(1)single_amount:参数值不大于100 元。
(2)total_amount:根据业务需要周期计算最大扣款金额。
如周期为1个月,需扣款1年(即12次),因此total_amount参数值不大于12*100=1200,具体根据自己需求计算。
5、扣款次数
(1)一个周期内只能成功扣款一次。
(2)由于周期扣款默认没有设置有效期,因此不限制扣款总次数。
(3)设置total_payments,如果商户已经达到total_payments的扣款次数,周期扣款是不会自动解约的,但是(total_payments+1次)调用扣款接口,会报错:ACQ.CYCLE_PAY_TOTAL_TIMES_EXCEED(周期扣款的总次数超过签约时限制)。
6、撤销及退款逻辑
周期扣款一个周期内只能扣一次款大,但是扣款后会使用到撤销接口或者退款接口。
(1)【alipay.trade.cancel】交易撤销后,当期内还可以发起一次扣款。
(2)【alipay.trade.refund】交易退款则不允许再次发起扣款。
7、签约次数
同一个商户下,同一个用户最多可签约10套周期扣款协议。
必传external_agreement_no(外部商户签约号)和sign_scene(协议签约场景)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。