content: package com.alipay.api.domain;
  
  import java.util.List;
  
  import com.alipay.api.AlipayObject;
  import com.alipay.api.internal.mapping.ApiField;
  import com.alipay.api.internal.mapping.ApiListField;
  
  /**
   * 统一收单交易订单预支付接口
   *
   * @author auto create
   * @since 1.0, 2025-08-19 14:35:28
   */
  public class AlipayTradeOrderPrepayModel extends AlipayObject {
  
  	private static final long serialVersionUID = 5126395479493189352L;
  
  	/**
  	 * 订单附加信息。 如果请求时传递了该参数，将在异步通知、对账单中原样返回，同时会在商户和用户的pc账单详情中作为交易描述展示
  	 */
  	@ApiField("body")
  	private String body;
  
  	/**
  	 * 商户传入业务信息，具体值要和支付宝约定，应用于安全，营销等参数直传场景，格式为json格式
  	 */
  	@ApiField("business_params")
  	private BusinessParams businessParams;
  
  	/**
  	 * 业务扩展参数
  	 */
  	@ApiField("extend_params")
  	private ExtendParams extendParams;
  
  	/**
  	 * 订单包含的商品列表信息.json格式. 其它说明详见：“商品明细说明”
  	 */
  	@ApiListField("goods_detail")
  	@ApiField("goods_detail")
  	private List<GoodsDetail> goodsDetail;
  
  	/**
  	 * 支付成功回跳商家APP地址。
  	 */
  	@ApiField("merchant_return_url")
  	private String merchantReturnUrl;
  
  	/**
  	 * 预支付场景。枚举值： openpay_apmodel
  	 */
  	@ApiField("order_scene")
  	private String orderScene;
  
  	/**
  	 * 商户订单号。 由商家自定义，64个字符以内，仅支持字母、数字、下划线且需保证在商户端不重复。
  	 */
  	@ApiField("out_trade_no")
  	private String outTradeNo;
  
  	/**
  	 * 指定支付机构。如： alipay_hk 支付宝香港钱包
  	 */
  	@ApiField("payment_inst")
  	private String paymentInst;
  
  	/**
  	 * 指定支付方式。
  app_pay：指定机构钱包跳转支付方式；
  agent_pay：智能体SDK支付方式；
  	 */
  	@ApiField("payment_type")
  	private String paymentType;
  
  	/**
  	 * 产品码。 商家和支付宝签约的产品码。 枚举值（点击查看签约情况）
  	 */
  	@ApiField("product_code")
  	private String productCode;
  
  	/**
  	 * 描述分账信息，json格式。
  	 */
  	@ApiField("royalty_info")
  	private RoyaltyInfo royaltyInfo;
  
  	/**
  	 * 卖家支付宝用户ID。 当需要指定收款账号时，通过该参数传入，如果该值为空，则默认为商户签约账号对应的支付宝用户ID。 收款账号优先级规则：门店绑定的收款账户>请求传入的seller_id>商户签约账号对应的支付宝用户ID； 注：直付通和机构间联场景下seller_id无需传入或者保持跟pid一致； 如果传入的seller_id与pid不一致，需要联系支付宝小二配置收款关系；
  	 */
  	@ApiField("seller_id")
  	private String sellerId;
  
  	/**
  	 * 描述结算信息，json格式，详见结算参数说明
  	 */
  	@ApiField("settle_info")
  	private SettleInfo settleInfo;
  
  	/**
  	 * 订单标题。 注意：不可使用特殊字符，如 /，=，& 等。
  	 */
  	@ApiField("subject")
  	private String subject;
  
  	/**
  	 * 订单绝对超时时间。 格式为yyyy-MM-dd HH:mm:ss。 注：time_expire和timeout_express两者只需传入一个或者都不传，如果两者都传，优先使用time_expire。
  	 */
  	@ApiField("time_expire")
  	private String timeExpire;
  
  	/**
  	 * 订单相对超时时间。 从预下单请求时间开始计算。 该笔订单允许的最晚付款时间，逾期将关闭交易。取值范围：1m～15d。m-分钟，h-小时，d-天，1c-当天（1c-当天的情况下，无论交易何时创建，都在0点关闭）。 该参数数值不接受小数点， 如 1.5h，可转换为 90m。 当面付场景默认值为3h； 注： 1. 二维码最长有效期是2小时，不管该参数传递的值是多少，超过2小时后二维码都将失效不能再进行扫码支付。 2. time_expire和timeout_express两者只需传入一个或者都不传，如果两者都传，优先使用time_expire。
  	 */
  	@ApiField("timeout_express")
  	private String timeoutExpress;
  
  	/**
  	 * 订单总金额。 单位为元，精确到小数点后两位，取值范围：[0.01,100000000] 。
  	 */
  	@ApiField("total_amount")
  	private String totalAmount;
  
  	public String getBody() {
  		return this.body;
  	}
  	public void setBody(String body) {
  		this.body = body;
  	}
  
  	public BusinessParams getBusinessParams() {
  		return this.businessParams;
  	}
  	public void setBusinessParams(BusinessParams businessParams) {
  		this.businessParams = businessParams;
  	}
  
  	public ExtendParams getExtendParams() {
  		return this.extendParams;
  	}
  	public void setExtendParams(ExtendParams extendParams) {
  		this.extendParams = extendParams;
  	}
  
  	public List<GoodsDetail> getGoodsDetail() {
  		return this.goodsDetail;
  	}
  	public void setGoodsDetail(List<GoodsDetail> goodsDetail) {
  		this.goodsDetail = goodsDetail;
  	}
  
  	public String getMerchantReturnUrl() {
  		return this.merchantReturnUrl;
  	}
  	public void setMerchantReturnUrl(String merchantReturnUrl) {
  		this.merchantReturnUrl = merchantReturnUrl;
  	}
  
  	public String getOrderScene() {
  		return this.orderScene;
  	}
  	public void setOrderScene(String orderScene) {
  		this.orderScene = orderScene;
  	}
  
  	public String getOutTradeNo() {
  		return this.outTradeNo;
  	}
  	public void setOutTradeNo(String outTradeNo) {
  		this.outTradeNo = outTradeNo;
  	}
  
  	public String getPaymentInst() {
  		return this.paymentInst;
  	}
  	public void setPaymentInst(String paymentInst) {
  		this.paymentInst = paymentInst;
  	}
  
  	public String getPaymentType() {
  		return this.paymentType;
  	}
  	public void setPaymentType(String paymentType) {
  		this.paymentType = paymentType;
  	}
  
  	public String getProductCode() {
  		return this.productCode;
  	}
  	public void setProductCode(String productCode) {
  		this.productCode = productCode;
  	}
  
  	public RoyaltyInfo getRoyaltyInfo() {
  		return this.royaltyInfo;
  	}
  	public void setRoyaltyInfo(RoyaltyInfo royaltyInfo) {
  		this.royaltyInfo = royaltyInfo;
  	}
  
  	public String getSellerId() {
  		return this.sellerId;
  	}
  	public void setSellerId(String sellerId) {
  		this.sellerId = sellerId;
  	}
  
  	public SettleInfo getSettleInfo() {
  		return this.settleInfo;
  	}
  	public void setSettleInfo(SettleInfo settleInfo) {
  		this.settleInfo = settleInfo;
  	}
  
  	public String getSubject() {
  		return this.subject;
  	}
  	public void setSubject(String subject) {
  		this.subject = subject;
  	}
  
  	public String getTimeExpire() {
  		return this.timeExpire;
  	}
  	public void setTimeExpire(String timeExpire) {
  		this.timeExpire = timeExpire;
  	}
  
  	public String getTimeoutExpress() {
  		return this.timeoutExpress;
  	}
  	public void setTimeoutExpress(String timeoutExpress) {
  		this.timeoutExpress = timeoutExpress;
  	}
  
  	public String getTotalAmount() {
  		return this.totalAmount;
  	}
  	public void setTotalAmount(String totalAmount) {
  		this.totalAmount = totalAmount;
  	}
  
  }
  