Skip to content

Commit db09605

Browse files
committed
face(微信支付): 新增商家转账到零钱接口服务
binarywang#2672
1 parent 5ac2e69 commit db09605

File tree

10 files changed

+608
-1
lines changed

10 files changed

+608
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package com.github.binarywang.wxpay.bean.transfer;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
import java.io.Serializable;
9+
10+
/**
11+
* 查询微信批次单号查询批次单API参数
12+
*
13+
* @author zhongjun
14+
* @date 2022/6/17
15+
**/
16+
@Data
17+
@Builder(builderMethodName = "newBuilder")
18+
@NoArgsConstructor
19+
@AllArgsConstructor
20+
public class QueryTransferBatchesRequest implements Serializable {
21+
private static final long serialVersionUID = -2175582517588397426L;
22+
23+
/**
24+
* 微信批次单号
25+
*/
26+
private String batchId;
27+
28+
/**
29+
* 是否查询转账明细单
30+
*/
31+
private Boolean needQueryDetail;
32+
33+
private Integer offset;
34+
35+
private Integer limit;
36+
37+
/**
38+
* 明细状态
39+
* 查询指定状态的转账明细单,当need_query_detail为true时,该字段必填
40+
* ALL:全部。需要同时查询转账成功和转账失败的明细单
41+
* SUCCESS:转账成功。只查询转账成功的明细单
42+
* FAIL:转账失败。只查询转账失败的明细单
43+
*/
44+
private String detailStatus;
45+
46+
/**
47+
* 商家批次单号
48+
*/
49+
private String outBatchNo;
50+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
package com.github.binarywang.wxpay.bean.transfer;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.io.Serializable;
8+
import java.util.List;
9+
10+
/**
11+
* 查询微信批次单号查询批次单API响应
12+
*
13+
* @author zhongjun
14+
* @date 2022/6/17
15+
**/
16+
@Data
17+
@NoArgsConstructor
18+
public class QueryTransferBatchesResult implements Serializable {
19+
private static final long serialVersionUID = -2175582517588397426L;
20+
21+
@SerializedName("offset")
22+
private Integer offset;
23+
24+
@SerializedName("limit")
25+
private Integer limit;
26+
27+
@SerializedName("transfer_batch")
28+
private TransferBatch transferBatch;
29+
30+
@SerializedName("transfer_detail_list")
31+
private List<TransferDetail> transferDetailList;
32+
33+
@NoArgsConstructor
34+
@Data
35+
public static class TransferBatch {
36+
@SerializedName("mchid")
37+
private String mchid;
38+
39+
@SerializedName("out_batch_no")
40+
private String outBatchNo;
41+
42+
@SerializedName("batch_id")
43+
private String batchId;
44+
45+
@SerializedName("appid")
46+
private String appid;
47+
48+
@SerializedName("batch_status")
49+
private String batchStatus;
50+
51+
@SerializedName("batch_type")
52+
private String batchType;
53+
54+
@SerializedName("batch_name")
55+
private String batchName;
56+
57+
@SerializedName("batch_remark")
58+
private String batchRemark;
59+
60+
@SerializedName("close_reason")
61+
private String closeReason;
62+
63+
@SerializedName("total_amount")
64+
private Integer totalAmount;
65+
66+
@SerializedName("total_num")
67+
private Integer totalNum;
68+
69+
@SerializedName("create_time")
70+
private String createTime;
71+
72+
@SerializedName("update_time")
73+
private String updateTime;
74+
75+
@SerializedName("success_amount")
76+
private Integer successAmount;
77+
78+
@SerializedName("success_num")
79+
private Integer successNum;
80+
81+
@SerializedName("fail_amount")
82+
private Integer failAmount;
83+
84+
@SerializedName("fail_num")
85+
private Integer failNum;
86+
}
87+
88+
@NoArgsConstructor
89+
@Data
90+
public static class TransferDetail {
91+
92+
@SerializedName("detail_id")
93+
private String detailId;
94+
95+
@SerializedName("out_detail_no")
96+
private String outDetailNo;
97+
98+
@SerializedName("detail_status")
99+
private String detailStatus;
100+
}
101+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.github.binarywang.wxpay.bean.transfer;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.io.Serializable;
8+
9+
/**
10+
* 微信明细单号查询明细单API
11+
*
12+
* @author zhongjun
13+
*/
14+
@NoArgsConstructor
15+
@Data
16+
public class TransferBatchDetailResult implements Serializable {
17+
private static final long serialVersionUID = -2175582517588397426L;
18+
19+
@SerializedName("mchid")
20+
private String mchid;
21+
22+
@SerializedName("out_batch_no")
23+
private String outBatchNo;
24+
25+
@SerializedName("batch_id")
26+
private String batchId;
27+
28+
@SerializedName("appid")
29+
private String appid;
30+
31+
@SerializedName("out_detail_no")
32+
private String outDetailNo;
33+
34+
@SerializedName("detail_id")
35+
private String detailId;
36+
37+
@SerializedName("detail_status")
38+
private String detailStatus;
39+
40+
@SerializedName("transfer_amount")
41+
private Integer transferAmount;
42+
43+
@SerializedName("transfer_remark")
44+
private String transferRemark;
45+
46+
@SerializedName("fail_reason")
47+
private String failReason;
48+
49+
@SerializedName("openid")
50+
private String openid;
51+
52+
@SerializedName("user_name")
53+
private String userName;
54+
55+
@SerializedName("initiate_time")
56+
private String initiateTime;
57+
58+
@SerializedName("update_time")
59+
private String updateTime;
60+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
package com.github.binarywang.wxpay.bean.transfer;
2+
3+
import com.github.binarywang.wxpay.v3.SpecEncrypt;
4+
import com.google.gson.annotations.SerializedName;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
import java.io.Serializable;
11+
import java.util.List;
12+
13+
/**
14+
* 发起商家转账API参数
15+
*
16+
* @author zhongjun
17+
* @date 2022/6/17
18+
**/
19+
@Data
20+
@Builder(builderMethodName = "newBuilder")
21+
@NoArgsConstructor
22+
@AllArgsConstructor
23+
public class TransferBatchesRequest implements Serializable {
24+
private static final long serialVersionUID = -2175582517588397426L;
25+
26+
/**
27+
* 直连商户的appid
28+
*/
29+
@SerializedName("appid")
30+
private String appid;
31+
32+
/**
33+
* 商家批次单号
34+
*/
35+
@SerializedName("out_batch_no")
36+
private String outBatchNo;
37+
38+
/**
39+
* 批次名称
40+
*/
41+
@SerializedName("batch_name")
42+
private String batchName;
43+
44+
/**
45+
* 批次备注
46+
*/
47+
@SerializedName("batch_remark")
48+
private String batchRemark;
49+
50+
/**
51+
* 转账总金额
52+
*/
53+
@SerializedName("total_amount")
54+
private Integer totalAmount;
55+
56+
/**
57+
* 转账总笔数
58+
*/
59+
@SerializedName("total_num")
60+
private Integer totalNum;
61+
62+
/**
63+
* 转账明细列表
64+
*/
65+
@SerializedName("transfer_detail_list")
66+
private List<TransferDetail> transferDetailList;
67+
68+
69+
@Data
70+
@Builder(builderMethodName = "newBuilder")
71+
@AllArgsConstructor
72+
@NoArgsConstructor
73+
public static class TransferDetail {
74+
75+
/**
76+
* 商家明细单号
77+
*/
78+
@SerializedName("out_detail_no")
79+
private String outDetailNo;
80+
81+
/**
82+
* 转账金额
83+
*/
84+
@SerializedName("transfer_amount")
85+
private Integer transferAmount;
86+
87+
/**
88+
* 转账备注
89+
*/
90+
@SerializedName("transfer_remark")
91+
private String transferRemark;
92+
93+
/**
94+
* 用户在直连商户应用下的用户标示
95+
*/
96+
@SerializedName("openid")
97+
private String openid;
98+
99+
/**
100+
* 收款用户姓名
101+
*/
102+
@SpecEncrypt
103+
@SerializedName("user_name")
104+
private String userName;
105+
}
106+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.github.binarywang.wxpay.bean.transfer;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
import java.io.Serializable;
8+
9+
/**
10+
* 商家转账结果
11+
*
12+
* @author zhongjun
13+
* @date 2022/6/17
14+
**/
15+
@Data
16+
@NoArgsConstructor
17+
public class TransferBatchesResult implements Serializable {
18+
private static final long serialVersionUID = -2175582517588397426L;
19+
20+
/**
21+
* 商家批次单号
22+
*/
23+
@SerializedName("out_batch_no")
24+
private String outBatchNo;
25+
26+
/**
27+
* 微信批次单号
28+
*/
29+
@SerializedName("batch_id")
30+
private String batchId;
31+
32+
/**
33+
* 批次创建时间
34+
*/
35+
@SerializedName("create_time")
36+
private String createTime;
37+
}

0 commit comments

Comments
 (0)