🆕 #2646 【微信支付】增加报关v3接口

This commit is contained in:
leif Yi
2022-05-15 20:34:49 +08:00
committed by GitHub
parent cfb532722a
commit dfec57f200
11 changed files with 1613 additions and 0 deletions

View File

@@ -0,0 +1,125 @@
package com.github.binarywang.wxpay.bean.customs;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @author xifenzhu
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class DeclarationQueryRequest implements Serializable {
private static final long serialVersionUID = -251403491989628142L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:订单类型
* 变量名order_type
* 是否必填:是
* 类型string16
* 描述:
* 4种订单号类型选择一种
* out_trade_no 商户订单号
* transaction_id 微信支付订单号
* sub_order_no 商户子订单号
* sub_order_id 微信子订单号
* 示例值out_trade_no
* </pre>
*/
@SerializedName(value = "order_type")
private String orderType;
/**
* <pre>
* 字段名:订单号
* 变量名order_no
* 是否必填:是
* 类型string32
* 描述:
* 根据订单号类型,传入不同的订单号码
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "order_no")
private String orderNo;
/**
* <pre>
* 字段名:海关
* 变量名customs
* 是否必填:是
* 类型string32
* 描述:
* 海关代码, 枚举值参见参数规定-海关列表https://pay.weixin.qq.com/wiki/doc/api/wxpay/ch/declarecustom_ch/chapter2_3.shtml#menu11
* 示例值SHANGHAI_ZS
* </pre>
*/
@SerializedName(value = "customs")
private String customs;
/**
* <pre>
* 字段名:偏移量
* 变量名offset
* 是否必填:是
* 类型int
* 描述:
* 非0整数该次请求资源的起始位置从0开始计数。调用方选填默认为0
* 示例值0
* </pre>
*/
@SerializedName(value = "offset")
private String offset;
/**
* <pre>
* 字段名:请求最大记录条数
* 变量名limit
* 是否必填:是
* 类型int
* 描述:
* 非0非负的整数该次请求可返回的最大资源条数。调用方选填默认值建议为20
* 示例值20
* </pre>
*/
@SerializedName(value = "limit")
private String limit;
}

View File

@@ -0,0 +1,337 @@
package com.github.binarywang.wxpay.bean.customs;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* @author xifenzhu
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class DeclarationQueryResult implements Serializable {
private static final long serialVersionUID = 7776809282150143165L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:微信支付返回的订单号
* 变量名transaction_id
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值1000320306201511078440737890
* </pre>
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:核验机构
* 变量名verify_department
* 是否必填:是
* 类型string16
* 描述:
* 核验机构代码
* UNIONPAY银联
* NETSUNION网联
* OTHERS其他
* 示例值UNIONPAY
* </pre>
*/
@SerializedName(value = "verify_department")
private String verifyDepartment;
/**
* <pre>
* 字段名:核验机构交易流水号
* 变量名Verify_department_trade_id
* 是否必填:是
* 类型string(64)
* 描述:
* 交易流水号,来自验核机构,如银联记录的交易流水号,供商户报备海关
* 示例值2018112288340107038204310100000
* </pre>
*/
@SerializedName(value = "verify_department_trade_id")
private String verifyDepartmentTradeId;
/**
* <pre>
* 字段名:偏移量
* 变量名offset
* 是否必填:是
* 类型int
* 描述:
* 非0整数该次请求资源的起始位置从0开始计数。调用方选填默认为0
* 示例值0
* </pre>
*/
@SerializedName(value = "offset")
private Integer offset;
/**
* <pre>
* 字段名:请求最大记录条数
* 变量名limit
* 是否必填:是
* 类型int
* 描述:
* 非0非负的整数该次请求可返回的最大资源条数。调用方选填默认值建议为20
* 示例值20
* </pre>
*/
@SerializedName(value = "limit")
private Integer limit;
/**
* <pre>
* 字段名:查询结果总条数
* 变量名total_count
* 是否必填:是
* 类型int
* 描述:
* 查询结果总条数
* 示例值1
* </pre>
*/
@SerializedName(value = "total_count")
private Integer totalCount;
/**
* <pre>
* 字段名:报关数据包
* 变量名data
* 是否必填:是
* 类型array
* 描述:
* 报关单结果数组,具体内容参见下方描述
* 示例值:
* </pre>
*/
@SerializedName(value = "data")
private List<DeclarationData> data;
/**
* 驳回原因详情
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public static class DeclarationData {
/**
* <pre>
* 字段名:商户子订单号
* 变量名sub_order_no
* 是否必填:否
* 类型string32
* 描述:
* 微信子订单号,如有拆单则返回
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_no")
private String subOrderNo;
/**
* <pre>
* 字段名:微信子订单号
* 变量名sub_order_id
* 是否必填:否
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_id")
private String subOrderId;
/**
* <pre>
* 字段名:商户海关备案号
* 变量名merchant_customs_no
* 是否必填:是
* 类型string32
* 描述:
* 商户在海关登记的备案号
* 示例值123456
* </pre>
*/
@SerializedName(value = "mch_customs_no")
private String merchantCustomsNo;
/**
* <pre>
* 字段名:海关
* 变量名customs
* 是否必填:是
* 类型string32
* 描述:
* 海关代码, 枚举值参见参数规定-海关列表https://pay.weixin.qq.com/wiki/doc/api/wxpay/ch/declarecustom_ch/chapter2_3.shtml#menu11
* 示例值SHANGHAI_ZS
* </pre>
*/
@SerializedName(value = "customs")
private String customs;
/**
* <pre>
* 字段名:关税
* 变量名duty
* 是否必填:否
* 类型int
* 描述:
* 关税,以分为单位,非必填项,不会提交给海关
* 示例值888
* </pre>
*/
@SerializedName(value = "duty")
private Integer duty;
/**
* <pre>
* 字段名:货币类型
* 变量名fee_type
* 是否必填:否
* 类型string32
* 描述:
* 微信支付订单支付时使用的币种暂只支持人民币CNY如有拆单则必传
* 示例值CNY
* </pre>
*/
@SerializedName(value = "fee_type")
private String feeType;
/**
* <pre>
* 字段名:子订单金额
* 变量名order_fee
* 是否必填:否
* 类型int
* 描述:
* 子订单金额以分为单位不能超过原订单金额order_fee=transport_fee+product_fee应付金额=物流费+商品价格),如有拆单则必传
* 示例值888
* </pre>
*/
@SerializedName(value = "order_fee")
private Integer orderFee;
/**
* <pre>
* 字段名:物流费用
* 变量名transport_fee
* 是否必填:否
* 类型int
* 描述:
* 物流费用,以分为单位,如有拆单则必传
* 示例值888
* </pre>
*/
@SerializedName(value = "transport_fee")
private Integer transportFee;
/**
* <pre>
* 字段名:商品费用
* 变量名product_fee
* 是否必填:否
* 类型int
* 描述:
* 商品费用,以分为单位,如有拆单则必传
* 示例值888
* </pre>
*/
@SerializedName(value = "product_fee")
private Integer productFee;
/**
* <pre>
* 字段名:报关状态
* 变量名state
* 是否必填:是
* 类型string32
* 描述:
* 申报结果状态码
* PROCESSING申报中
* UNDECLARED未申报
* SUBMITTED已修改未申报
* SUCCESS申报成功
* FAIL申报失败
* EXCEPT海关接口异常
* 示例值PROCESSING
* </pre>
*/
@SerializedName(value = "state")
private String state;
/**
* <pre>
* 字段名:报关结果说明
* 变量名explanation
* 是否必填:是
* 类型string128
* 描述:
* 申报结果说明,如果状态是失败或异常,显示失败原因
* 示例值:支付单已存在并且为非退单状态
* </pre>
*/
@SerializedName(value = "explanation")
private String explanation;
/**
* <pre>
* 字段名:最后更新时间
* 变量名modify_time
* 是否必填:是
* 类型string32
* 描述:
* 最后更新时间,该时间取自微信服务器
* 示例值2015-09-01T10:00:00+08:00
* </pre>
*/
@SerializedName(value = "modify_time")
private String modifyTime;
}
}

View File

@@ -0,0 +1,191 @@
package com.github.binarywang.wxpay.bean.customs;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @author xifenzhu
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class DeclarationRequest implements Serializable {
private static final long serialVersionUID = -170115210896346836L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:商户订单号
* 变量名out_trade_no
* 是否必填:是
* 类型string32
* 描述:
* 商户系统内部订单号要求32个字符内只能是数字、大小写字母_-&#124;*@ ,且在同一个商户号下唯一
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "out_trade_no")
private String outTradeNo;
/**
* <pre>
* 字段名:微信支付返回的订单号
* 变量名transaction_id
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值1000320306201511078440737890
* </pre>
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:海关
* 变量名customs
* 是否必填:是
* 类型string32
* 描述:
* 海关代码, 枚举值参见参数规定-海关列表https://pay.weixin.qq.com/wiki/doc/api/wxpay/ch/declarecustom_ch/chapter2_3.shtml#menu11
* 示例值SHANGHAI_ZS
* </pre>
*/
@SerializedName(value = "customs")
private String customs;
/**
* <pre>
* 字段名:商户海关备案号
* 变量名merchant_customs_no
* 是否必填:是
* 类型string32
* 描述:
* 商户在海关登记的备案号
* 示例值123456
* </pre>
*/
@SerializedName(value = "merchant_customs_no")
private String merchantCustomsNo;
/**
* <pre>
* 字段名:关税
* 变量名duty
* 是否必填:否
* 类型int
* 描述:
* 关税,以分为单位,非必填项,不会提交给海关
* 示例值888
* </pre>
*/
@SerializedName(value = "duty")
private String duty;
/**
* <pre>
* 字段名:商户子订单号
* 变量名sub_order_no
* 是否必填:是
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_no")
private String subOrderNo;
/**
* <pre>
* 字段名:货币类型
* 变量名fee_type
* 是否必填:否
* 类型string32
* 描述:
* 微信支付订单支付时使用的币种暂只支持人民币CNY如有拆单则必传
* 示例值CNY
* </pre>
*/
@SerializedName(value = "fee_type")
private String feeType;
/**
* <pre>
* 字段名:子订单金额
* 变量名order_fee
* 是否必填:否
* 类型int
* 描述:
* 子订单金额以分为单位不能超过原订单金额order_fee=transport_fee+product_fee应付金额=物流费+商品价格),如有拆单则必传
* 示例值888
* </pre>
*/
@SerializedName(value = "order_fee")
private String orderFee;
/**
* <pre>
* 字段名:物流费用
* 变量名transport_fee
* 是否必填:否
* 类型int
* 描述:
* 物流费用,以分为单位,如有拆单则必传
* 示例值888
* </pre>
*/
@SerializedName(value = "transport_fee")
private String transportFee;
/**
* <pre>
* 字段名:商品费用
* 变量名product_fee
* 是否必填:否
* 类型int
* 描述:
* 商品费用,以分为单位,如有拆单则必传
* 示例值888
* </pre>
*/
@SerializedName(value = "product_fee")
private String productFee;
}

View File

@@ -0,0 +1,158 @@
package com.github.binarywang.wxpay.bean.customs;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @author xifengzhu
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class DeclarationResult implements Serializable {
private static final long serialVersionUID = -5895139329545995308L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:商户订单号
* 变量名out_trade_no
* 是否必填:是
* 类型string32
* 描述:
* 商户系统内部订单号要求32个字符内只能是数字、大小写字母_-&#124;*@ ,且在同一个商户号下唯一
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "20150806125346")
private String outTradeNo;
/**
* <pre>
* 字段名:微信支付返回的订单号
* 变量名transaction_id
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值1000320306201511078440737890
* </pre>
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:报关状态
* 变量名state
* 是否必填:是
* 类型string32
* 描述:
* 申报结果状态码
* PROCESSING申报中
* UNDECLARED未申报
* SUBMITTED已修改未申报
* SUCCESS申报成功
* FAIL申报失败
* EXCEPT海关接口异常
* 示例值PROCESSING
* </pre>
*/
@SerializedName(value = "state")
private String state;
/**
* <pre>
* 字段名:商户子订单号
* 变量名sub_order_no
* 是否必填:否
* 类型string32
* 描述:
* 微信子订单号,如有拆单则返回
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_no")
private String subOrderNo;
/**
* <pre>
* 字段名:微信子订单号
* 变量名sub_order_id
* 是否必填:否
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_id")
private String subOrderId;
/**
* <pre>
* 字段名:核验机构
* 变量名verify_department
* 是否必填:是
* 类型string16
* 描述:
* 核验机构代码
* UNIONPAY银联
* NETSUNION网联
* OTHERS其他
* 示例值UNIONPAY
* </pre>
*/
@SerializedName(value = "verify_department")
private String verifyDepartment;
/**
* <pre>
* 字段名:核验机构交易流水号
* 变量名Verify_department_trade_id
* 是否必填:是
* 类型string(64)
* 描述:
* 交易流水号,来自验核机构,如银联记录的交易流水号,供商户报备海关
* 示例值2018112288340107038204310100000
* </pre>
*/
@SerializedName(value = "verify_department_trade_id")
private String verifyDepartmentTradeId;
}

View File

@@ -0,0 +1,136 @@
package com.github.binarywang.wxpay.bean.customs;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @author xifengzhu
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class RedeclareRequest implements Serializable {
private static final long serialVersionUID = -5092107027805161479L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:微信订单号
* 变量名transaction_id
* 是否必填:是
* 类型string32
* 描述:
* out_trade_no, transaction_id二选一传入
* 示例值1000320306201511078440737890
* </pre>
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:商户订单号
* 变量名out_trade_no
* 是否必填:是
* 类型string32
* 描述:
* out_trade_no, transaction_id二选一传入
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "out_trade_no")
private String outTradeNo;
/**
* <pre>
* 字段名:商户子订单号
* 变量名sub_order_no
* 是否必填:是
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_no")
private String subOrderNo;
/**
* <pre>
* 字段名:微信子订单号
* 变量名sub_order_id
* 是否必填:否
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_id")
private String subOrderId;
/**
* <pre>
* 字段名:海关
* 变量名customs
* 是否必填:是
* 类型string32
* 描述:
* 海关代码, 枚举值参见参数规定-海关列表https://pay.weixin.qq.com/wiki/doc/api/wxpay/ch/declarecustom_ch/chapter2_3.shtml#menu11
* 示例值SHANGHAI_ZS
* </pre>
*/
@SerializedName(value = "customs")
private String customs;
/**
* <pre>
* 字段名:商户海关备案号
* 变量名merchant_customs_no
* 是否必填:是
* 类型string32
* 描述:
* 商户在海关登记的备案号
* 示例值123456
* </pre>
*/
@SerializedName(value = "merchant_customs_no")
private String merchantCustomsNo;
}

View File

@@ -0,0 +1,156 @@
package com.github.binarywang.wxpay.bean.customs;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @author xifengzhu
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class RedeclareResult implements Serializable {
private static final long serialVersionUID = 8863516626598050095L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:微信订单号
* 变量名transaction_id
* 是否必填:是
* 类型string32
* 描述:
* 微信支付返回的订单号
* 示例值1000320306201511078440737890
* </pre>
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:商户订单号
* 变量名out_trade_no
* 是否必填:是
* 类型string32
* 描述:
* 商户系统内部订单号要求32个字符内只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "out_trade_no")
private String outTradeNo;
/**
* <pre>
* 字段名:商户子订单号
* 变量名sub_order_no
* 是否必填:是
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_no")
private String subOrderNo;
/**
* <pre>
* 字段名:微信子订单号
* 变量名sub_order_id
* 是否必填:否
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_id")
private String subOrderId;
/**
* <pre>
* 字段名:报关状态
* 变量名state
* 是否必填:是
* 类型string32
* 描述:
* 申报结果状态码
* PROCESSING申报中
* UNDECLARED未申报
* SUBMITTED已修改未申报
* SUCCESS申报成功
* FAIL申报失败
* EXCEPT海关接口异常
* 示例值PROCESSING
* </pre>
*/
@SerializedName(value = "state")
private String state;
/**
* <pre>
* 字段名:报关结果说明
* 变量名explanation
* 是否必填:是
* 类型string128
* 描述:
* 申报结果说明,如果状态是失败或异常,显示失败原因
* 示例值:支付单已存在并且为非退单状态
* </pre>
*/
@SerializedName(value = "explanation")
private String explanation;
/**
* <pre>
* 字段名:最后更新时间
* 变量名modify_time
* 是否必填:是
* 类型string32
* 描述:
* 最后更新时间,该时间取自微信服务器
* 示例值2015-09-01T10:00:00+08:00
* </pre>
*/
@SerializedName(value = "modify_time")
private String modifyTime;
}

View File

@@ -0,0 +1,156 @@
package com.github.binarywang.wxpay.bean.customs;
import com.github.binarywang.wxpay.v3.SpecEncrypt;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import java.io.Serializable;
/**
* @author xifengzhu
*/
@Data
public class VerifyCertificateRequest implements Serializable {
private static final long serialVersionUID = 721089103541592315L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:商户订单号
* 变量名out_trade_no
* 是否必填:是
* 类型string32
* 描述:
* 商户系统内部订单号要求32个字符内只能是数字、大小写字母_-&#124;*@ ,且在同一个商户号下唯一
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "out_trade_no")
private String outTradeNo;
/**
* <pre>
* 字段名:微信支付返回的订单号
* 变量名transaction_id
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值1000320306201511078440737890
* </pre>
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:海关
* 变量名customs
* 是否必填:是
* 类型string32
* 描述:
* 海关代码, 枚举值参见参数规定-海关列表https://pay.weixin.qq.com/wiki/doc/api/wxpay/ch/declarecustom_ch/chapter2_3.shtml#menu11
* 示例值SHANGHAI_ZS
* </pre>
*/
@SerializedName(value = "customs")
private String customs;
/**
* <pre>
* 字段名:商户海关备案号
* 变量名merchant_customs_no
* 是否必填:是
* 类型string32
* 描述:
* 商户在海关登记的备案号
* 示例值123456
* </pre>
*/
@SerializedName(value = "merchant_customs_no")
private String merchantCustomsNo;
/**
* <pre>
* 字段名:商户子订单号
* 变量名sub_order_no
* 是否必填:是
* 类型string32
* 描述:
* 商户子订单号,如有拆单则必传
* 注意:仅适用于机构模式
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "sub_order_no")
private String subOrderNo;
/**
* <pre>
* 字段名:证件类型
* 变量名certificate_type
* 是否必填:是
* 类型string16
* 描述:
* 请传固定值IDCARD暂只支持大陆身份证
* 示例值IDCARD
* </pre>
*/
@SerializedName(value = "certificate_type")
private String certificateType;
/**
* <pre>
* 字段名:证件号
* 变量名certificate_id
* 是否必填:是
* 类型string
* 描述:
* 用户大陆身份证号尾号为字母X的身份证号请大写字母X。该字段需要进行加密
* 示例值330821198809085211
* </pre>
*/
@SerializedName(value = "certificate_id")
private String certificateId;
/**
* <pre>
* 字段名:证件姓名
* 变量名certificate_name
* 是否必填:是
* 类型string
* 描述:
* 证件姓名,字段值需要进行加密
* 示例值330821198809085211
* </pre>
*/
@SerializedName(value = "certificate_name")
private String certificateName;
}

View File

@@ -0,0 +1,93 @@
package com.github.binarywang.wxpay.bean.customs;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @author xifengzhu
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class VerifyCertificateResult implements Serializable {
private static final long serialVersionUID = -8578640869555299753L;
/**
* <pre>
* 字段名机构APPID
* 变量名appid
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值wxd678efh567hg6787
* </pre>
*/
@SerializedName(value = "appid")
private String appid;
/**
* <pre>
* 字段名:商户号
* 变量名mchid
* 是否必填:是
* 类型string32
* 描述:
* 微信支付分配的商户号
* 示例值1230000109
* </pre>
*/
@SerializedName(value = "mchid")
private String mchid;
/**
* <pre>
* 字段名:商户订单号
* 变量名out_trade_no
* 是否必填:是
* 类型string32
* 描述:
* 商户系统内部订单号要求32个字符内只能是数字、大小写字母_-&#124;*@ ,且在同一个商户号下唯一
* 示例值20150806125346
* </pre>
*/
@SerializedName(value = "out_trade_no")
private String outTradeNo;
/**
* <pre>
* 字段名:微信支付返回的订单号
* 变量名transaction_id
* 是否必填:是
* 类型string32
* 描述:
* 微信分配的公众账号ID
* 示例值1000320306201511078440737890
* </pre>
*/
@SerializedName(value = "transaction_id")
private String transactionId;
/**
* <pre>
* 字段名:身份核验结果
* 变量名certificate_check_result
* 是否必填:是
* 类型string32
* 描述:
* 订购人和支付人身份信息校验结果
* SAME身份信息校验匹配
* DIFFERENT身份信息校验不匹配
* 示例值SAME
* </pre>
*/
@SerializedName(value = "certificate_check_result")
private String certificateCheckResult;
}