All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alipay.v3.model.AlipayFundAuthOrderFreezeModel Maven / Gradle / Ivy

There is a newer version: 3.1.6.ALL
Show newest version
/*
 * 支付宝开放平台API
 * 支付宝开放平台v3协议文档
 *
 * The version of the OpenAPI document: 2022-12-23
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.alipay.v3.model;

import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.io.Serializable;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.alipay.v3.JSON;

/**
 * AlipayFundAuthOrderFreezeModel
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class AlipayFundAuthOrderFreezeModel {
  private static final long serialVersionUID = 1L;

  public static final String SERIALIZED_NAME_AMOUNT = "amount";
  @SerializedName(SERIALIZED_NAME_AMOUNT)
  private String amount;

  public static final String SERIALIZED_NAME_AUTH_CODE = "auth_code";
  @SerializedName(SERIALIZED_NAME_AUTH_CODE)
  private String authCode;

  public static final String SERIALIZED_NAME_AUTH_CODE_TYPE = "auth_code_type";
  @SerializedName(SERIALIZED_NAME_AUTH_CODE_TYPE)
  private String authCodeType;

  public static final String SERIALIZED_NAME_BUSINESS_PARAMS = "business_params";
  @SerializedName(SERIALIZED_NAME_BUSINESS_PARAMS)
  private String businessParams;

  public static final String SERIALIZED_NAME_DISABLE_PAY_CHANNELS = "disable_pay_channels";
  @SerializedName(SERIALIZED_NAME_DISABLE_PAY_CHANNELS)
  private String disablePayChannels;

  public static final String SERIALIZED_NAME_ENABLE_PAY_CHANNELS = "enable_pay_channels";
  @SerializedName(SERIALIZED_NAME_ENABLE_PAY_CHANNELS)
  private String enablePayChannels;

  public static final String SERIALIZED_NAME_EXTRA_PARAM = "extra_param";
  @SerializedName(SERIALIZED_NAME_EXTRA_PARAM)
  private String extraParam;

  public static final String SERIALIZED_NAME_IDENTITY_PARAMS = "identity_params";
  @SerializedName(SERIALIZED_NAME_IDENTITY_PARAMS)
  private String identityParams;

  public static final String SERIALIZED_NAME_NOTIFY_URL = "notify_url";
  @SerializedName(SERIALIZED_NAME_NOTIFY_URL)
  private String notifyUrl;

  public static final String SERIALIZED_NAME_ORDER_TITLE = "order_title";
  @SerializedName(SERIALIZED_NAME_ORDER_TITLE)
  private String orderTitle;

  public static final String SERIALIZED_NAME_OUT_ORDER_NO = "out_order_no";
  @SerializedName(SERIALIZED_NAME_OUT_ORDER_NO)
  private String outOrderNo;

  public static final String SERIALIZED_NAME_OUT_REQUEST_NO = "out_request_no";
  @SerializedName(SERIALIZED_NAME_OUT_REQUEST_NO)
  private String outRequestNo;

  public static final String SERIALIZED_NAME_PAY_TIMEOUT = "pay_timeout";
  @SerializedName(SERIALIZED_NAME_PAY_TIMEOUT)
  private String payTimeout;

  public static final String SERIALIZED_NAME_PAYEE_LOGON_ID = "payee_logon_id";
  @SerializedName(SERIALIZED_NAME_PAYEE_LOGON_ID)
  private String payeeLogonId;

  public static final String SERIALIZED_NAME_PAYEE_USER_ID = "payee_user_id";
  @SerializedName(SERIALIZED_NAME_PAYEE_USER_ID)
  private String payeeUserId;

  public static final String SERIALIZED_NAME_PRODUCT_CODE = "product_code";
  @SerializedName(SERIALIZED_NAME_PRODUCT_CODE)
  private String productCode;

  public static final String SERIALIZED_NAME_SCENE_CODE = "scene_code";
  @SerializedName(SERIALIZED_NAME_SCENE_CODE)
  private String sceneCode;

  public static final String SERIALIZED_NAME_SETTLE_CURRENCY = "settle_currency";
  @SerializedName(SERIALIZED_NAME_SETTLE_CURRENCY)
  private String settleCurrency;

  public static final String SERIALIZED_NAME_TERMINAL_PARAMS = "terminal_params";
  @SerializedName(SERIALIZED_NAME_TERMINAL_PARAMS)
  private String terminalParams;

  public static final String SERIALIZED_NAME_TIMEOUT_EXPRESS = "timeout_express";
  @SerializedName(SERIALIZED_NAME_TIMEOUT_EXPRESS)
  private String timeoutExpress;

  public static final String SERIALIZED_NAME_TRANS_CURRENCY = "trans_currency";
  @SerializedName(SERIALIZED_NAME_TRANS_CURRENCY)
  private String transCurrency;

  public AlipayFundAuthOrderFreezeModel() { 
  }

  public AlipayFundAuthOrderFreezeModel amount(String amount) {
    
    this.amount = amount;
    return this;
  }

   /**
   * 需要冻结的金额,单位为:元(人民币),精确到小数点后两位。 取值范围:[0.01,100000000.00]
   * @return amount
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "0.01", value = "需要冻结的金额,单位为:元(人民币),精确到小数点后两位。 取值范围:[0.01,100000000.00]")

  public String getAmount() {
    return amount;
  }


  public void setAmount(String amount) {
    this.amount = amount;
  }


  public AlipayFundAuthOrderFreezeModel authCode(String authCode) {
    
    this.authCode = authCode;
    return this;
  }

   /**
   * 用户付款码。 1.条码场景:25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准; 2.刷脸场景: 1)fp开头的35位字符串; 2)300-700字符的随机字符串; 注:刷脸场景考虑到未来可能拓展更多格式,建议外围不必做规则拦截,由支付宝统一做有效性校验
   * @return authCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "付款码场景:28763443825664394, 刷脸场景1)示例:fp1394da8bfc3e299a2128b8bda17456h84", value = "用户付款码。 1.条码场景:25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准; 2.刷脸场景: 1)fp开头的35位字符串; 2)300-700字符的随机字符串; 注:刷脸场景考虑到未来可能拓展更多格式,建议外围不必做规则拦截,由支付宝统一做有效性校验")

  public String getAuthCode() {
    return authCode;
  }


  public void setAuthCode(String authCode) {
    this.authCode = authCode;
  }


  public AlipayFundAuthOrderFreezeModel authCodeType(String authCodeType) {
    
    this.authCodeType = authCodeType;
    return this;
  }

   /**
   * 付款码类型。 1.条码场景:bar_code 2.刷脸场景:security_code
   * @return authCodeType
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "bar_code", value = "付款码类型。 1.条码场景:bar_code 2.刷脸场景:security_code")

  public String getAuthCodeType() {
    return authCodeType;
  }


  public void setAuthCodeType(String authCodeType) {
    this.authCodeType = authCodeType;
  }


  public AlipayFundAuthOrderFreezeModel businessParams(String businessParams) {
    
    this.businessParams = businessParams;
    return this;
  }

   /**
   * 业务参数,如风控参数outRiskInfo等。
   * @return businessParams
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "{\"outRiskInfo\":\"{\\\"mcCreateTradeTime\\\":\\\"2022-03-11 12:46:09\\\",\\\"extraAccountCertnoLastSix\\\":\\\"000011\\\",\\\"mobileOperatingPlatform\\\":\\\"ios\\\",\\\"sysVersion\\\":\\\"15.4.2\\\",\\\"mcCreateTradeIp\\\":\\\"11.110.111.43\\\"}\"}", value = "业务参数,如风控参数outRiskInfo等。")

  public String getBusinessParams() {
    return businessParams;
  }


  public void setBusinessParams(String businessParams) {
    this.businessParams = businessParams;
  }


  public AlipayFundAuthOrderFreezeModel disablePayChannels(String disablePayChannels) {
    
    this.disablePayChannels = disablePayChannels;
    return this;
  }

   /**
   * 无特殊需要请勿传入;商户可用该参数禁用支付渠道。 传入后用户不可使用列表中的渠道进行支付,目前支持两种禁用渠道:信用卡快捷(OPTIMIZED_MOTO)、信用卡卡通(BIGAMOUNT_CREDIT_CARTOON)。与可用支付渠道不能同时传入
   * @return disablePayChannels
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "[{\"payChannelType\":\"OPTIMIZED_MOTO\"},{\"payChannelType\":\"BIGAMOUNT_CREDIT_CARTOON\"}]", value = "无特殊需要请勿传入;商户可用该参数禁用支付渠道。 传入后用户不可使用列表中的渠道进行支付,目前支持两种禁用渠道:信用卡快捷(OPTIMIZED_MOTO)、信用卡卡通(BIGAMOUNT_CREDIT_CARTOON)。与可用支付渠道不能同时传入")

  public String getDisablePayChannels() {
    return disablePayChannels;
  }


  public void setDisablePayChannels(String disablePayChannels) {
    this.disablePayChannels = disablePayChannels;
  }


  public AlipayFundAuthOrderFreezeModel enablePayChannels(String enablePayChannels) {
    
    this.enablePayChannels = enablePayChannels;
    return this;
  }

   /**
   * 无特殊需要请勿传入;商户可用该参数指定支付渠道。 传入后用户仅能使用列表中的渠道进行支付,目前支持三种渠道,余额宝(MONEY_FUND)、花呗(PCREDIT_PAY)以及芝麻信用(CREDITZHIMA)。与禁用支付渠道不可同时传入
   * @return enablePayChannels
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "[{\"payChannelType\":\"PCREDIT_PAY\"},{\"payChannelType\":\"MONEY_FUND\"}]", value = "无特殊需要请勿传入;商户可用该参数指定支付渠道。 传入后用户仅能使用列表中的渠道进行支付,目前支持三种渠道,余额宝(MONEY_FUND)、花呗(PCREDIT_PAY)以及芝麻信用(CREDITZHIMA)。与禁用支付渠道不可同时传入")

  public String getEnablePayChannels() {
    return enablePayChannels;
  }


  public void setEnablePayChannels(String enablePayChannels) {
    this.enablePayChannels = enablePayChannels;
  }


  public AlipayFundAuthOrderFreezeModel extraParam(String extraParam) {
    
    this.extraParam = extraParam;
    return this;
  }

   /**
   * 业务扩展参数,用于特定业务信息的传递,json格式,key值如下: 1、category,信用类目,信用预授权场景必传,具体类目信息见https://opendocs.alipay.com/open/10719 2、serviceId,信用服务id,信用预授权场景必传,需要联系芝麻客服获取,https://cshall.alipay.com/enterprise/index.htm?sourceId=pc_zhima(右上角“有问题点我”进入咨询) 3、creditExtInfo,信用参数,如有需要请与芝麻约定后传入,信用服务说明见https://opendocs.alipay.com/open/11157/qlsxya
   * @return extraParam
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "{\"category\":\"CHARGE_PILE_CAR\",\"serviceId\":\"2020042800000000000001450466\"}", value = "业务扩展参数,用于特定业务信息的传递,json格式,key值如下: 1、category,信用类目,信用预授权场景必传,具体类目信息见https://opendocs.alipay.com/open/10719 2、serviceId,信用服务id,信用预授权场景必传,需要联系芝麻客服获取,https://cshall.alipay.com/enterprise/index.htm?sourceId=pc_zhima(右上角“有问题点我”进入咨询) 3、creditExtInfo,信用参数,如有需要请与芝麻约定后传入,信用服务说明见https://opendocs.alipay.com/open/11157/qlsxya")

  public String getExtraParam() {
    return extraParam;
  }


  public void setExtraParam(String extraParam) {
    this.extraParam = extraParam;
  }


  public AlipayFundAuthOrderFreezeModel identityParams(String identityParams) {
    
    this.identityParams = identityParams;
    return this;
  }

   /**
   * 用户实名信息参数,包含:姓名+身份证号的hash值、指定用户的uid。商户传入用户实名信息参数,支付宝会对比用户在支付宝端的实名信息。 姓名+身份证号hash值使用SHA256摘要方式与UTF8编码,返回十六进制的字符串。 identity_hash和alipay_user_id都是可选的,如果两个都传,则会先校验identity_hash,然后校验alipay_user_id。其中identity_hash的待加密字样如\"张三4566498798498498498498\"
   * @return identityParams
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "{\"identity_hash\":\"ABCDEFDxxxxxx\",\"alipay_user_id\":\"2088xxx\"}", value = "用户实名信息参数,包含:姓名+身份证号的hash值、指定用户的uid。商户传入用户实名信息参数,支付宝会对比用户在支付宝端的实名信息。 姓名+身份证号hash值使用SHA256摘要方式与UTF8编码,返回十六进制的字符串。 identity_hash和alipay_user_id都是可选的,如果两个都传,则会先校验identity_hash,然后校验alipay_user_id。其中identity_hash的待加密字样如\"张三4566498798498498498498\"")

  public String getIdentityParams() {
    return identityParams;
  }


  public void setIdentityParams(String identityParams) {
    this.identityParams = identityParams;
  }


  public AlipayFundAuthOrderFreezeModel notifyUrl(String notifyUrl) {
    
    this.notifyUrl = notifyUrl;
    return this;
  }

   /**
   * 通知地址
   * @return notifyUrl
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "通知地址")

  public String getNotifyUrl() {
    return notifyUrl;
  }


  public void setNotifyUrl(String notifyUrl) {
    this.notifyUrl = notifyUrl;
  }


  public AlipayFundAuthOrderFreezeModel orderTitle(String orderTitle) {
    
    this.orderTitle = orderTitle;
    return this;
  }

   /**
   * 订单标题。 业务订单的简单描述,如商品名称等
   * @return orderTitle
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "预授权冻结", value = "订单标题。 业务订单的简单描述,如商品名称等")

  public String getOrderTitle() {
    return orderTitle;
  }


  public void setOrderTitle(String orderTitle) {
    this.orderTitle = orderTitle;
  }


  public AlipayFundAuthOrderFreezeModel outOrderNo(String outOrderNo) {
    
    this.outOrderNo = outOrderNo;
    return this;
  }

   /**
   * 商户授权资金订单号。 商家自定义需保证在商户端不重复。仅支持字母、数字、下划线。
   * @return outOrderNo
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "8077735255938023", value = "商户授权资金订单号。 商家自定义需保证在商户端不重复。仅支持字母、数字、下划线。")

  public String getOutOrderNo() {
    return outOrderNo;
  }


  public void setOutOrderNo(String outOrderNo) {
    this.outOrderNo = outOrderNo;
  }


  public AlipayFundAuthOrderFreezeModel outRequestNo(String outRequestNo) {
    
    this.outRequestNo = outRequestNo;
    return this;
  }

   /**
   * 商户本次资金操作的请求流水号,用于标示请求流水的唯一性。 可与out_order_no相同,仅支持字母、数字、下划线。
   * @return outRequestNo
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "8077735255938032", value = "商户本次资金操作的请求流水号,用于标示请求流水的唯一性。 可与out_order_no相同,仅支持字母、数字、下划线。")

  public String getOutRequestNo() {
    return outRequestNo;
  }


  public void setOutRequestNo(String outRequestNo) {
    this.outRequestNo = outRequestNo;
  }


  public AlipayFundAuthOrderFreezeModel payTimeout(String payTimeout) {
    
    this.payTimeout = payTimeout;
    return this;
  }

   /**
   * 预授权订单相对超时时间,从商户请求时间开始计算。 预授权订单允许的最晚授权时间,逾期将关闭该笔订单。取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m。 默认为15m。
   * @return payTimeout
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "2d", value = "预授权订单相对超时时间,从商户请求时间开始计算。 预授权订单允许的最晚授权时间,逾期将关闭该笔订单。取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m。 默认为15m。")

  public String getPayTimeout() {
    return payTimeout;
  }


  public void setPayTimeout(String payTimeout) {
    this.payTimeout = payTimeout;
  }


  public AlipayFundAuthOrderFreezeModel payeeLogonId(String payeeLogonId) {
    
    this.payeeLogonId = payeeLogonId;
    return this;
  }

   /**
   * 收款账户的支付宝登录号(email或手机号)。 如果传入则会校验该登录号对应的账号是否具备当前商户收款权限,如果商户希望用户能够使用花呗,则用户号(payee_user_id)和登录号(payee_logon_id)两者必须传入其一
   * @return payeeLogonId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "159****5620", value = "收款账户的支付宝登录号(email或手机号)。 如果传入则会校验该登录号对应的账号是否具备当前商户收款权限,如果商户希望用户能够使用花呗,则用户号(payee_user_id)和登录号(payee_logon_id)两者必须传入其一")

  public String getPayeeLogonId() {
    return payeeLogonId;
  }


  public void setPayeeLogonId(String payeeLogonId) {
    this.payeeLogonId = payeeLogonId;
  }


  public AlipayFundAuthOrderFreezeModel payeeUserId(String payeeUserId) {
    
    this.payeeUserId = payeeUserId;
    return this;
  }

   /**
   * 收款账户的支付宝用户号。 以2088开头的16位纯数字,如果传入则会校验该账号是否具备当前商户收款权限,如果商户希望用户能够使用花呗,则用户号(payee_user_id)和登录号(payee_logon_id)两者必须传入其一
   * @return payeeUserId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "2088102000275795", value = "收款账户的支付宝用户号。 以2088开头的16位纯数字,如果传入则会校验该账号是否具备当前商户收款权限,如果商户希望用户能够使用花呗,则用户号(payee_user_id)和登录号(payee_logon_id)两者必须传入其一")

  public String getPayeeUserId() {
    return payeeUserId;
  }


  public void setPayeeUserId(String payeeUserId) {
    this.payeeUserId = payeeUserId;
  }


  public AlipayFundAuthOrderFreezeModel productCode(String productCode) {
    
    this.productCode = productCode;
    return this;
  }

   /**
   * 销售产品码。 当面资金预授权固定为 PRE_AUTH
   * @return productCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "PRE_AUTH", value = "销售产品码。 当面资金预授权固定为 PRE_AUTH")

  public String getProductCode() {
    return productCode;
  }


  public void setProductCode(String productCode) {
    this.productCode = productCode;
  }


  public AlipayFundAuthOrderFreezeModel sceneCode(String sceneCode) {
    
    this.sceneCode = sceneCode;
    return this;
  }

   /**
   * 场景码。 刷脸场景下传入HOTEL,其他情况下无需传入
   * @return sceneCode
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "HOTEL", value = "场景码。 刷脸场景下传入HOTEL,其他情况下无需传入")

  public String getSceneCode() {
    return sceneCode;
  }


  public void setSceneCode(String sceneCode) {
    this.sceneCode = sceneCode;
  }


  public AlipayFundAuthOrderFreezeModel settleCurrency(String settleCurrency) {
    
    this.settleCurrency = settleCurrency;
    return this;
  }

   /**
   * 商户指定的结算币种。支持澳元:AUD, 新西兰元:NZD, 台币:TWD, 美元:USD, 欧元:EUR, 英镑:GBP
   * @return settleCurrency
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "USD", value = "商户指定的结算币种。支持澳元:AUD, 新西兰元:NZD, 台币:TWD, 美元:USD, 欧元:EUR, 英镑:GBP")

  public String getSettleCurrency() {
    return settleCurrency;
  }


  public void setSettleCurrency(String settleCurrency) {
    this.settleCurrency = settleCurrency;
  }


  public AlipayFundAuthOrderFreezeModel terminalParams(String terminalParams) {
    
    this.terminalParams = terminalParams;
    return this;
  }

   /**
   * 机具管控sdk加签参数,参数示例 \"terminal_params\":\"{\"terminalType\":\"IOT\",\"signature\":\"QIIAX8DqbFbNf2oe97FI1RSLAycC/tU4GVjer3bN8K4qLtAB\",\"apdidToken\":\"xPA3ptuArwYc3F6Va_pjVwv7Qx7Tg5TJdrA_Jb_moYte9AqGZgEAAA==\",\"hardToken\":\"\",\"time\":\"1539847253\",\"bizCode\":\"11000200040004000121\",\"bizTid\":\"010100F01i1XyacMgpOinHerfdBw1xA9dNDocctlnqhLD8lfODr1A7Q\",\"signedKeys\":\"authCode,totalAmount,apdidToken,hardToken,time,bizCode,bizTid\"}\"
   * @return terminalParams
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "{\"terminalType\":\"IOT\",\"signature\":\"QIIAX8DqbFbNf2oe97FI1RSL\",\"apdidToken\":\"xPA3ptuArwYc3F6Va\",\"signedKeys\":\"auth,apdidToken\"}", value = "机具管控sdk加签参数,参数示例 \"terminal_params\":\"{\"terminalType\":\"IOT\",\"signature\":\"QIIAX8DqbFbNf2oe97FI1RSLAycC/tU4GVjer3bN8K4qLtAB\",\"apdidToken\":\"xPA3ptuArwYc3F6Va_pjVwv7Qx7Tg5TJdrA_Jb_moYte9AqGZgEAAA==\",\"hardToken\":\"\",\"time\":\"1539847253\",\"bizCode\":\"11000200040004000121\",\"bizTid\":\"010100F01i1XyacMgpOinHerfdBw1xA9dNDocctlnqhLD8lfODr1A7Q\",\"signedKeys\":\"authCode,totalAmount,apdidToken,hardToken,time,bizCode,bizTid\"}\"")

  public String getTerminalParams() {
    return terminalParams;
  }


  public void setTerminalParams(String terminalParams) {
    this.terminalParams = terminalParams;
  }


  public AlipayFundAuthOrderFreezeModel timeoutExpress(String timeoutExpress) {
    
    this.timeoutExpress = timeoutExpress;
    return this;
  }

   /**
   * 预授权订单相对超时时间,从商户请求时间开始计算。 预授权订单允许的最晚授权时间,逾期将关闭该笔订单。取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m。 默认为15m。
   * @return timeoutExpress
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "2d", value = "预授权订单相对超时时间,从商户请求时间开始计算。 预授权订单允许的最晚授权时间,逾期将关闭该笔订单。取值范围:1m~15d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m。 默认为15m。")

  public String getTimeoutExpress() {
    return timeoutExpress;
  }


  public void setTimeoutExpress(String timeoutExpress) {
    this.timeoutExpress = timeoutExpress;
  }


  public AlipayFundAuthOrderFreezeModel transCurrency(String transCurrency) {
    
    this.transCurrency = transCurrency;
    return this;
  }

   /**
   * 标价币种,  amount 对应的币种单位。支持澳元:AUD, 新西兰元:NZD, 台币:TWD, 美元:USD, 欧元:EUR, 英镑:GBP
   * @return transCurrency
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "USD", value = "标价币种,  amount 对应的币种单位。支持澳元:AUD, 新西兰元:NZD, 台币:TWD, 美元:USD, 欧元:EUR, 英镑:GBP")

  public String getTransCurrency() {
    return transCurrency;
  }


  public void setTransCurrency(String transCurrency) {
    this.transCurrency = transCurrency;
  }



  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    AlipayFundAuthOrderFreezeModel alipayFundAuthOrderFreezeModel = (AlipayFundAuthOrderFreezeModel) o;
    return Objects.equals(this.amount, alipayFundAuthOrderFreezeModel.amount) &&
        Objects.equals(this.authCode, alipayFundAuthOrderFreezeModel.authCode) &&
        Objects.equals(this.authCodeType, alipayFundAuthOrderFreezeModel.authCodeType) &&
        Objects.equals(this.businessParams, alipayFundAuthOrderFreezeModel.businessParams) &&
        Objects.equals(this.disablePayChannels, alipayFundAuthOrderFreezeModel.disablePayChannels) &&
        Objects.equals(this.enablePayChannels, alipayFundAuthOrderFreezeModel.enablePayChannels) &&
        Objects.equals(this.extraParam, alipayFundAuthOrderFreezeModel.extraParam) &&
        Objects.equals(this.identityParams, alipayFundAuthOrderFreezeModel.identityParams) &&
        Objects.equals(this.notifyUrl, alipayFundAuthOrderFreezeModel.notifyUrl) &&
        Objects.equals(this.orderTitle, alipayFundAuthOrderFreezeModel.orderTitle) &&
        Objects.equals(this.outOrderNo, alipayFundAuthOrderFreezeModel.outOrderNo) &&
        Objects.equals(this.outRequestNo, alipayFundAuthOrderFreezeModel.outRequestNo) &&
        Objects.equals(this.payTimeout, alipayFundAuthOrderFreezeModel.payTimeout) &&
        Objects.equals(this.payeeLogonId, alipayFundAuthOrderFreezeModel.payeeLogonId) &&
        Objects.equals(this.payeeUserId, alipayFundAuthOrderFreezeModel.payeeUserId) &&
        Objects.equals(this.productCode, alipayFundAuthOrderFreezeModel.productCode) &&
        Objects.equals(this.sceneCode, alipayFundAuthOrderFreezeModel.sceneCode) &&
        Objects.equals(this.settleCurrency, alipayFundAuthOrderFreezeModel.settleCurrency) &&
        Objects.equals(this.terminalParams, alipayFundAuthOrderFreezeModel.terminalParams) &&
        Objects.equals(this.timeoutExpress, alipayFundAuthOrderFreezeModel.timeoutExpress) &&
        Objects.equals(this.transCurrency, alipayFundAuthOrderFreezeModel.transCurrency);
  }

  @Override
  public int hashCode() {
    return Objects.hash(amount, authCode, authCodeType, businessParams, disablePayChannels, enablePayChannels, extraParam, identityParams, notifyUrl, orderTitle, outOrderNo, outRequestNo, payTimeout, payeeLogonId, payeeUserId, productCode, sceneCode, settleCurrency, terminalParams, timeoutExpress, transCurrency);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class AlipayFundAuthOrderFreezeModel {\n");
    sb.append("    amount: ").append(toIndentedString(amount)).append("\n");
    sb.append("    authCode: ").append(toIndentedString(authCode)).append("\n");
    sb.append("    authCodeType: ").append(toIndentedString(authCodeType)).append("\n");
    sb.append("    businessParams: ").append(toIndentedString(businessParams)).append("\n");
    sb.append("    disablePayChannels: ").append(toIndentedString(disablePayChannels)).append("\n");
    sb.append("    enablePayChannels: ").append(toIndentedString(enablePayChannels)).append("\n");
    sb.append("    extraParam: ").append(toIndentedString(extraParam)).append("\n");
    sb.append("    identityParams: ").append(toIndentedString(identityParams)).append("\n");
    sb.append("    notifyUrl: ").append(toIndentedString(notifyUrl)).append("\n");
    sb.append("    orderTitle: ").append(toIndentedString(orderTitle)).append("\n");
    sb.append("    outOrderNo: ").append(toIndentedString(outOrderNo)).append("\n");
    sb.append("    outRequestNo: ").append(toIndentedString(outRequestNo)).append("\n");
    sb.append("    payTimeout: ").append(toIndentedString(payTimeout)).append("\n");
    sb.append("    payeeLogonId: ").append(toIndentedString(payeeLogonId)).append("\n");
    sb.append("    payeeUserId: ").append(toIndentedString(payeeUserId)).append("\n");
    sb.append("    productCode: ").append(toIndentedString(productCode)).append("\n");
    sb.append("    sceneCode: ").append(toIndentedString(sceneCode)).append("\n");
    sb.append("    settleCurrency: ").append(toIndentedString(settleCurrency)).append("\n");
    sb.append("    terminalParams: ").append(toIndentedString(terminalParams)).append("\n");
    sb.append("    timeoutExpress: ").append(toIndentedString(timeoutExpress)).append("\n");
    sb.append("    transCurrency: ").append(toIndentedString(transCurrency)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }


  public static HashSet openapiFields;
  public static HashSet openapiRequiredFields;

  static {
    // a set of all properties/fields (JSON key names)
    openapiFields = new HashSet();
    openapiFields.add("amount");
    openapiFields.add("auth_code");
    openapiFields.add("auth_code_type");
    openapiFields.add("business_params");
    openapiFields.add("disable_pay_channels");
    openapiFields.add("enable_pay_channels");
    openapiFields.add("extra_param");
    openapiFields.add("identity_params");
    openapiFields.add("notify_url");
    openapiFields.add("order_title");
    openapiFields.add("out_order_no");
    openapiFields.add("out_request_no");
    openapiFields.add("pay_timeout");
    openapiFields.add("payee_logon_id");
    openapiFields.add("payee_user_id");
    openapiFields.add("product_code");
    openapiFields.add("scene_code");
    openapiFields.add("settle_currency");
    openapiFields.add("terminal_params");
    openapiFields.add("timeout_express");
    openapiFields.add("trans_currency");

    // a set of required properties/fields (JSON key names)
    openapiRequiredFields = new HashSet();
  }

 /**
  * Validates the JSON Object and throws an exception if issues found
  *
  * @param jsonObj JSON Object
  * @throws IOException if the JSON Object is invalid with respect to AlipayFundAuthOrderFreezeModel
  */
  public static void validateJsonObject(JsonObject jsonObj) throws IOException {
      if (jsonObj == null) {
        if (AlipayFundAuthOrderFreezeModel.openapiRequiredFields.isEmpty()) {
          return;
        } else { // has required fields
          throw new IllegalArgumentException(String.format("The required field(s) %s in AlipayFundAuthOrderFreezeModel is not found in the empty JSON string", AlipayFundAuthOrderFreezeModel.openapiRequiredFields.toString()));
        }
      }

      Set> entries = jsonObj.entrySet();
      // check to see if the JSON string contains additional fields
      for (Entry entry : entries) {
        if (!AlipayFundAuthOrderFreezeModel.openapiFields.contains(entry.getKey())) {
          throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlipayFundAuthOrderFreezeModel` properties. JSON: %s", entry.getKey(), jsonObj.toString()));
        }
      }
      if (jsonObj.get("amount") != null && !jsonObj.get("amount").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `amount` to be a primitive type in the JSON string but got `%s`", jsonObj.get("amount").toString()));
      }
      if (jsonObj.get("auth_code") != null && !jsonObj.get("auth_code").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `auth_code` to be a primitive type in the JSON string but got `%s`", jsonObj.get("auth_code").toString()));
      }
      if (jsonObj.get("auth_code_type") != null && !jsonObj.get("auth_code_type").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `auth_code_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("auth_code_type").toString()));
      }
      if (jsonObj.get("business_params") != null && !jsonObj.get("business_params").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `business_params` to be a primitive type in the JSON string but got `%s`", jsonObj.get("business_params").toString()));
      }
      if (jsonObj.get("disable_pay_channels") != null && !jsonObj.get("disable_pay_channels").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `disable_pay_channels` to be a primitive type in the JSON string but got `%s`", jsonObj.get("disable_pay_channels").toString()));
      }
      if (jsonObj.get("enable_pay_channels") != null && !jsonObj.get("enable_pay_channels").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `enable_pay_channels` to be a primitive type in the JSON string but got `%s`", jsonObj.get("enable_pay_channels").toString()));
      }
      if (jsonObj.get("extra_param") != null && !jsonObj.get("extra_param").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `extra_param` to be a primitive type in the JSON string but got `%s`", jsonObj.get("extra_param").toString()));
      }
      if (jsonObj.get("identity_params") != null && !jsonObj.get("identity_params").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `identity_params` to be a primitive type in the JSON string but got `%s`", jsonObj.get("identity_params").toString()));
      }
      if (jsonObj.get("notify_url") != null && !jsonObj.get("notify_url").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `notify_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("notify_url").toString()));
      }
      if (jsonObj.get("order_title") != null && !jsonObj.get("order_title").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `order_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("order_title").toString()));
      }
      if (jsonObj.get("out_order_no") != null && !jsonObj.get("out_order_no").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `out_order_no` to be a primitive type in the JSON string but got `%s`", jsonObj.get("out_order_no").toString()));
      }
      if (jsonObj.get("out_request_no") != null && !jsonObj.get("out_request_no").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `out_request_no` to be a primitive type in the JSON string but got `%s`", jsonObj.get("out_request_no").toString()));
      }
      if (jsonObj.get("pay_timeout") != null && !jsonObj.get("pay_timeout").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `pay_timeout` to be a primitive type in the JSON string but got `%s`", jsonObj.get("pay_timeout").toString()));
      }
      if (jsonObj.get("payee_logon_id") != null && !jsonObj.get("payee_logon_id").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `payee_logon_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("payee_logon_id").toString()));
      }
      if (jsonObj.get("payee_user_id") != null && !jsonObj.get("payee_user_id").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `payee_user_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("payee_user_id").toString()));
      }
      if (jsonObj.get("product_code") != null && !jsonObj.get("product_code").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `product_code` to be a primitive type in the JSON string but got `%s`", jsonObj.get("product_code").toString()));
      }
      if (jsonObj.get("scene_code") != null && !jsonObj.get("scene_code").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `scene_code` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scene_code").toString()));
      }
      if (jsonObj.get("settle_currency") != null && !jsonObj.get("settle_currency").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `settle_currency` to be a primitive type in the JSON string but got `%s`", jsonObj.get("settle_currency").toString()));
      }
      if (jsonObj.get("terminal_params") != null && !jsonObj.get("terminal_params").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `terminal_params` to be a primitive type in the JSON string but got `%s`", jsonObj.get("terminal_params").toString()));
      }
      if (jsonObj.get("timeout_express") != null && !jsonObj.get("timeout_express").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `timeout_express` to be a primitive type in the JSON string but got `%s`", jsonObj.get("timeout_express").toString()));
      }
      if (jsonObj.get("trans_currency") != null && !jsonObj.get("trans_currency").isJsonPrimitive()) {
        throw new IllegalArgumentException(String.format("Expected the field `trans_currency` to be a primitive type in the JSON string but got `%s`", jsonObj.get("trans_currency").toString()));
      }
  }

  public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
    @SuppressWarnings("unchecked")
    @Override
    public  TypeAdapter create(Gson gson, TypeToken type) {
       if (!AlipayFundAuthOrderFreezeModel.class.isAssignableFrom(type.getRawType())) {
         return null; // this class only serializes 'AlipayFundAuthOrderFreezeModel' and its subtypes
       }
       final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
       final TypeAdapter thisAdapter
                        = gson.getDelegateAdapter(this, TypeToken.get(AlipayFundAuthOrderFreezeModel.class));

       return (TypeAdapter) new TypeAdapter() {
           @Override
           public void write(JsonWriter out, AlipayFundAuthOrderFreezeModel value) throws IOException {
             JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
             elementAdapter.write(out, obj);
           }

           @Override
           public AlipayFundAuthOrderFreezeModel read(JsonReader in) throws IOException {
             JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
             validateJsonObject(jsonObj);
             return thisAdapter.fromJsonTree(jsonObj);
           }

       }.nullSafe();
    }
  }

 /**
  * Create an instance of AlipayFundAuthOrderFreezeModel given an JSON string
  *
  * @param jsonString JSON string
  * @return An instance of AlipayFundAuthOrderFreezeModel
  * @throws IOException if the JSON string is invalid with respect to AlipayFundAuthOrderFreezeModel
  */
  public static AlipayFundAuthOrderFreezeModel fromJson(String jsonString) throws IOException {
    return JSON.getGson().fromJson(jsonString, AlipayFundAuthOrderFreezeModel.class);
  }

 /**
  * Convert an instance of AlipayFundAuthOrderFreezeModel to an JSON string
  *
  * @return JSON string
  */
  public String toJson() {
    return JSON.getGson().toJson(this);
  }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy