content: package com.alipay.api.domain;
  
  import com.alipay.api.AlipayObject;
  import com.alipay.api.internal.mapping.ApiField;
  
  /**
   * 签约参数，支付后签约场景使用
   *
   * @author auto create
   * @since 1.0, 2023-07-12 11:08:49
   */
  public class AgreementSignParams extends AlipayObject {
  
  	private static final long serialVersionUID = 3771738844759699692L;
  
  	/**
  	 * 商户在芝麻端申请的appId
  	 */
  	@ApiField("buckle_app_id")
  	private String buckleAppId;
  
  	/**
  	 * 商户在芝麻端申请的merchantId
  	 */
  	@ApiField("buckle_merchant_id")
  	private String buckleMerchantId;
  
  	/**
  	 * 商户签约号，代扣协议中标示用户的唯一签约号（确保在商户系统中唯一）。
  格式规则：支持大写小写字母和数字，最长32位。
  商户系统按需传入，如果同一用户在同一产品码、同一签约场景下，签订了多份代扣协议，那么需要指定并传入该值。
  	 */
  	@ApiField("external_agreement_no")
  	private String externalAgreementNo;
  
  	/**
  	 * 用户在商户网站的登录账号，用于在签约页面展示，如果为空，则不展示
  	 */
  	@ApiField("external_logon_id")
  	private String externalLogonId;
  
  	/**
  	 * 个人签约产品码，商户和支付宝签约时确定。
  	 */
  	@ApiField("personal_product_code")
  	private String personalProductCode;
  
  	/**
  	 * 签约营销参数，此值为json格式；具体的key需与营销约定
  	 */
  	@ApiField("promo_params")
  	private String promoParams;
  
  	/**
  	 * 协议签约场景，商户和支付宝签约时确定。
  当传入商户签约号external_agreement_no时，场景不能为默认值DEFAULT|DEFAULT。
  	 */
  	@ApiField("sign_scene")
  	private String signScene;
  
  	/**
  	 * 当前用户签约请求的协议有效周期。
  整形数字加上时间单位的协议有效期，从发起签约请求的时间开始算起。
  目前支持的时间单位：
  1. d：天
  2. m：月
  如果未传入，默认为长期有效。
  	 */
  	@ApiField("sign_validity_period")
  	private String signValidityPeriod;
  
  	/**
  	 * 此参数用于传递子商户信息，无特殊需求时不用关注。目前商户代扣、海外代扣、淘旅行信用住产品支持传入该参数（在销售方案中“是否允许自定义子商户信息”需要选是）。
  	 */
  	@ApiField("sub_merchant")
  	private SignMerchantParams subMerchant;
  
  	/**
  	 * 签约第三方主体类型。对于三方协议，表示当前用户和哪一类的第三方主体进行签约。默认为PARTNER。
  	 */
  	@ApiField("third_party_type")
  	private String thirdPartyType;
  
  	public String getBuckleAppId() {
  		return this.buckleAppId;
  	}
  	public void setBuckleAppId(String buckleAppId) {
  		this.buckleAppId = buckleAppId;
  	}
  
  	public String getBuckleMerchantId() {
  		return this.buckleMerchantId;
  	}
  	public void setBuckleMerchantId(String buckleMerchantId) {
  		this.buckleMerchantId = buckleMerchantId;
  	}
  
  	public String getExternalAgreementNo() {
  		return this.externalAgreementNo;
  	}
  	public void setExternalAgreementNo(String externalAgreementNo) {
  		this.externalAgreementNo = externalAgreementNo;
  	}
  
  	public String getExternalLogonId() {
  		return this.externalLogonId;
  	}
  	public void setExternalLogonId(String externalLogonId) {
  		this.externalLogonId = externalLogonId;
  	}
  
  	public String getPersonalProductCode() {
  		return this.personalProductCode;
  	}
  	public void setPersonalProductCode(String personalProductCode) {
  		this.personalProductCode = personalProductCode;
  	}
  
  	public String getPromoParams() {
  		return this.promoParams;
  	}
  	public void setPromoParams(String promoParams) {
  		this.promoParams = promoParams;
  	}
  
  	public String getSignScene() {
  		return this.signScene;
  	}
  	public void setSignScene(String signScene) {
  		this.signScene = signScene;
  	}
  
  	public String getSignValidityPeriod() {
  		return this.signValidityPeriod;
  	}
  	public void setSignValidityPeriod(String signValidityPeriod) {
  		this.signValidityPeriod = signValidityPeriod;
  	}
  
  	public SignMerchantParams getSubMerchant() {
  		return this.subMerchant;
  	}
  	public void setSubMerchant(SignMerchantParams subMerchant) {
  		this.subMerchant = subMerchant;
  	}
  
  	public String getThirdPartyType() {
  		return this.thirdPartyType;
  	}
  	public void setThirdPartyType(String thirdPartyType) {
  		this.thirdPartyType = thirdPartyType;
  	}
  
  }
  