更新时间:2023-06-21 10:56:18收藏我的文档设置返回文档周期/商家扣款是根据周期性的方式进行扣款的,因此可以通过 period_rule_params(周期管控规则参数)设置。 周期规则参数说明 参数是否必传参数说明period_type是周期/商家扣款类型,枚举值为 day 和 month。period是与 period_type 结合,为周期/商家扣款的单位时间。如 period_type 为 day,period=90,则扣款周期为 90 天。execute_time是首次扣款执行时间,精确到日,格式为 yyyy-mm-dd。single_amount是单次扣款最大金额,即每次发起扣款时限制的最大金额每次发起扣款时限制的最大金额。total_amount否总金额限制,即商户多次扣款的累计金额不允许超过此金额。total_payments否总扣款次数,即商户成功扣款的次数不能超过此次数限制(扣款失败不计入)注意事项周期为天period_type=day,扣款周期按天计。●周期/商家扣款最短周期为 7 天,因此设置周期为日时,period 参数值最少为 7 天。●周期为日时,execute_time 可以设置为任意一天,对每月的 29-31 不进行限制。 周期为月period_type=month,扣款周期按自然月计。自然月是指,不论这个月有多少天,周期都计算到月份中的同一日期。例如 1 月 3 日到 2 月 3 日为一个自然月,1月3日到4月3日为三个自然月。周期为月时,execute_time 设置时间不允许传28日之后的日期(即可以传1-28日,但是29-31不可设置)。以此避免有些月份可能不存在对应日期的情况(如闰年的2月只有28天)。 扣款时间根据 execute_time 和周期时间决定每次的扣款时间,每次扣款允许商户在约定日期之前5天开始扣款。案例:period_type=month,period=1,execute_time=2020-02-01。●首次扣款时间范围为 2020-01-27~2020-02-01。 按照该模式:商家希望扣款时间为每月的最后几天,可如示例通过设置 execute_time 为每月的1号,可提前5天发起扣款。 注意:如果测试当天时间为29-31号其中一天,建议 execute_time 设置为下个月的1号,可在其前5天发起扣款。●扣款成功后,下一周期/商家扣款时间范围为 2020-03-01 和其前5天。●首次扣款时间必须为当前时间或者大于当前时间。首次扣款时间设置为昨天或者更久以前,调用接口可以签约成功但是无法后续扣款。 如首次扣款时间 execute_time=2020-02-01,timestamp 为 2020-04-01,请求签约成功,但是可能会导致后续扣款由于超过规定扣款时间 2020-02-01,报错 acq.cycle_pay_date_not_match(扣款日期不在签约时的允许范围之内)。●如果扣款接口请求时间(timestamp)为2020-02-01 23:59:59,请求到支付宝时已经为该月的2号,按理应该是无法扣款成功的,扣款时间点超过约定时间。(具体是否扣款成功,时间是以扣到款的时间为准的,而不是接口请求的时间)。 如果出现扣款期间内失败,或者忘记扣款等,可通过 alipay.user.agreement.executionplan.modify(周期性扣款协议执行计划修改接口)延迟扣款时间。 扣款金额周期/商家扣款对用户额度限制:对每个用户的单笔扣款不超过 100 元,当日扣款不超过 1000 元,当月扣款不超过 30000 元。●single_amount:参数值不大于100 元。●total_amount:根据业务需要周期计算最大扣款金额。如周期为1个月,需扣款1年(即12次),因此 total_amount 参数值不大于12*100=1200,具体根据自己需求计算。 扣款次数●一个周期内只能成功扣款一次。●由于周期/商家扣款默认没有设置有效期,因此不限制扣款总次数。●设置 total_payments,如果商户已经达到 total_payments 的扣款次数,周期/商家扣款是不会自动解约的,但是(total_payments 1次)调用扣款接口,会报错 acq.cycle_pay_total_times_exceed(周期/商家扣款的总次数超过签约时限制)。 撤销及退款逻辑周期/商家扣款一个周期内只能扣一次款,但是扣款后若想取消扣款,会使用到撤销接口或者退款接口。●alipay.trade.cancel(统一收单交易撤销接口):交易撤销后,当期内还可以发起一次扣款。●alipay.trade.refund(统一收单交易退款接口):交易退款则不允许再次发起扣款。 签约次数同一个商户下,同一个用户最多可签约 10 套周期/商家扣款协议。必传 external_agreement_no(外部商户签约号)和 sign_scene(协议签约场景)。