com.alipay.api.domain.PeriodRuleParams Maven / Gradle / Ivy
package com.alipay.api.domain;
import com.alipay.api.AlipayObject;
import com.alipay.api.internal.mapping.ApiField;
/**
* 周期扣款规则参数。使用周期扣款产品时需要传入,限定了发起扣款的周期、金额等。
*
* @author auto create
* @since 1.0, 2024-11-18 15:48:33
*/
public class PeriodRuleParams extends AlipayObject {
private static final long serialVersionUID = 4351292788175543131L;
/**
* 首次执行时间execute_time是周期扣款产品必填,即商户发起首次扣款的时间。精确到日,格式为yyyy-MM-dd
结合其他必填的扣款周期参数,会确定商户以后的扣款计划。发起扣款的时间需符合这里的扣款计划。
*/
@ApiField("execute_time")
private String executeTime;
/**
* 周期数period是周期扣款产品必填。与另一参数period_type组合使用确定扣款周期,例如period_type为DAY,period=90,则扣款周期为90天。
*/
@ApiField("period")
private Long period;
/**
* 周期类型period_type是周期扣款产品必填,枚举值为DAY和MONTH。
DAY即扣款周期按天计,MONTH代表扣款周期按自然月。
与另一参数period组合使用确定扣款周期,例如period_type为DAY,period=30,则扣款周期为30天;period_type为MONTH,period=3,则扣款周期为3个自然月。
自然月是指,不论这个月有多少天,周期都计算到月份中的同一日期。例如1月3日到2月3日为一个自然月,1月3日到4月3日为三个自然月。注意周期类型使用MONTH的时候,计划扣款时间execute_time不允许传28日之后的日期(可以传28日),以此避免有些月份可能不存在对应日期的情况。
*/
@ApiField("period_type")
private String periodType;
/**
* 周期扣中场景化规则信息,例如影音会员续费、保险等场景特殊规则字段
*/
@ApiField("scene_rule_params")
private SceneRuleParams sceneRuleParams;
/**
* 单次扣款最大金额single_amount是周期扣款产品必填,即每次发起扣款时限制的最大金额,单位为元。商户每次发起扣款都不允许大于此金额。
*/
@ApiField("single_amount")
private String singleAmount;
/**
* 总金额限制,单位为元。如果传入此参数,商户多次扣款的累计金额不允许超过此金额。
*/
@ApiField("total_amount")
private String totalAmount;
/**
* 总扣款次数。如果传入此参数,则商户成功扣款的次数不能超过此次数限制(扣款失败不计入)。
*/
@ApiField("total_payments")
private Long totalPayments;
public String getExecuteTime() {
return this.executeTime;
}
public void setExecuteTime(String executeTime) {
this.executeTime = executeTime;
}
public Long getPeriod() {
return this.period;
}
public void setPeriod(Long period) {
this.period = period;
}
public String getPeriodType() {
return this.periodType;
}
public void setPeriodType(String periodType) {
this.periodType = periodType;
}
public SceneRuleParams getSceneRuleParams() {
return this.sceneRuleParams;
}
public void setSceneRuleParams(SceneRuleParams sceneRuleParams) {
this.sceneRuleParams = sceneRuleParams;
}
public String getSingleAmount() {
return this.singleAmount;
}
public void setSingleAmount(String singleAmount) {
this.singleAmount = singleAmount;
}
public String getTotalAmount() {
return this.totalAmount;
}
public void setTotalAmount(String totalAmount) {
this.totalAmount = totalAmount;
}
public Long getTotalPayments() {
return this.totalPayments;
}
public void setTotalPayments(Long totalPayments) {
this.totalPayments = totalPayments;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy