zhanglin
2023-07-20 cde69bd6e9ce00b22df3690d85ea295459e3b168
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
package com.ruoyi.order.tools.response.ecommerce.profitsharing;
 
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.order.tools.response.AbstractResponse;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
 
 
/**
 * <pre>
 * 发起分账请求后,可调用此接口查询分账结果 ;发起分账完结请求后,可调用此接口查询分账完结的结果
 * 文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_2.shtml
 * 状态码    错误码    描述    解决方案
 * 500    SYSTEM_ERROR    系统错误    系统异常,请使用相同参数稍后重新调用
 * 400    PARAM_ERROR    商户号未设置    请使用正确的参数重新调用
 * 429    FREQUENCY_LIMITED    频率限制    请降低频率后重试
 * 404    RESOURCE_NOT_EXISTS    记录不存在    请检查请求的单号是否正确
 * </pre>
 */
@Data
@EqualsAndHashCode
@JsonIgnoreProperties()
public class ProfitSharingQueryApplyResponse extends AbstractResponse {
    /**
     * <pre>
     * 字段名:二级商户号
     * 变量名:sub_mchid
     * 是否必填:是
     * 类型:string[1,32]
     * 描述:
     *  分账出资的电商平台二级商户,填写微信支付分配的商户号。 
     *  示例值:1900000109 
     * </pre>
     */
    @JsonProperty(value = "sub_mchid")
    private String subMchid;
 
    /**
     * <pre>
     * 字段名:微信订单号
     * 变量名:transaction_id
     * 是否必填:是
     * 类型:string[1,32]
     * 描述:
     *  微信支付订单号。 
     *  示例值: 4208450740201411110007820472 
     * </pre>
     */
    @JsonProperty(value = "transaction_id")
    private String transactionId;
 
    /**
     * <pre>
     * 字段名:商户分账单号
     * 变量名:out_order_no
     * 是否必填:是
     * 类型:string[1,64]
     * 描述:
     *  商户系统内部的分账单号,在商户系统内部唯一(单次分账、多次分账、完结分账应使用不同的商户分账单号),同一分账单号多次请求等同一次。 
     *  示例值:P20150806125346 
     * </pre>
     */
    @JsonProperty(value = "out_order_no")
    private String outOrderNo;
 
    /**
     * <pre>
     * 字段名:微信分账单号
     * 变量名:order_id
     * 是否必填:是
     * 类型:string[1,64]
     * 描述:
     *  微信分账单号,微信系统返回的唯一标识 
     *  示例值: 008450740201411110007820472 
     * </pre>
     */
    @JsonProperty(value = "order_id")
    private String orderId;
 
    /**
     * <pre>
     * 字段名:分账单状态
     * 变量名:status
     * 是否必填:是
     * 类型:string[1,32]
     * 描述:
     *  分账单状态,枚举值: 
     *  PROCESSING:处理中 
     *  FINISHED:处理完成 
     *  示例值:FINISHED 
     * </pre>
     */
    @JsonProperty(value = "status")
    private String status;
 
    /**
     * <pre>
     * 字段名:+分账接收方列表
     * 变量名:receivers
     * 是否必填:否
     * 类型:array
     * 描述:分账接收方列表。当查询分账完结的执行结果时,不返回该字段 
     * </pre>
     */
    @JsonProperty(value = "receivers")
    private List<Receivers> receivers;
 
    /**
     * <pre>
     * 字段名:关单原因
     * 变量名:close_reason
     * 是否必填:否
     * 类型:string[1,32]
     * 描述:
     *  关单原因描述,当分账单状态status为CLOSED(处理失败,已关单)时,返回该字段。
     *  枚举值: 
     *  NO_AUTH:分账授权已解除 
     *  示例值:NO_AUTH 
     * </pre>
     */
    @JsonProperty(value = "close_reason")
    private String closeReason;
 
    /**
     * <pre>
     * 字段名:分账完结金额
     * 变量名:finish_amount
     * 是否必填:否
     * 类型:int
     * 描述:
     *  分账完结的分账金额,单位为分, 仅当查询分账完结的执行结果时,存在本字段。 
     *  示例值:100 
     * </pre>
     */
    @JsonProperty(value = "finish_amount")
    private Integer finishAmount;
 
    /**
     * <pre>
     * 字段名:分账完结描述
     * 变量名:finish_description
     * 是否必填:否
     * 类型:string[1,80]
     * 描述:
     *  分账完结的原因描述,仅当查询分账完结的执行结果时,存在本字段。 
     *  示例值:分账完结 
     * </pre>
     */
    @JsonProperty(value = "finish_description")
    private String finishDescription;
 
    @EqualsAndHashCode
    @Data
    @JsonIgnoreProperties()
    public static class Receivers {
        /**
         * <pre>
         * 字段名:分账接收商户号
         * 变量名:receiver_mchid
         * 是否必填:是
         * 类型:string[1,32]
         * 描述:
         *  填写微信支付分配的商户号,仅支持通过添加分账接收方接口添加的接收方;电商平台商户已默认添加到分账接收方,无需重复添加。 
         *  示例值:1900000109 
         * </pre>
         */
        @JsonProperty(value = "receiver_mchid")
        private String receiverMchid;
 
        /**
         * <pre>
         * 字段名:分账金额
         * 变量名:amount
         * 是否必填:是
         * 类型:int
         * 描述:
         *  分账金额,单位为分,只能为整数,不能超过原订单支付金额及最大分账比例金额。 
         *  示例值: 4208450740201411110007820472 
         * </pre>
         */
        @JsonProperty(value = "amount")
        private Integer amount;
 
        /**
         * <pre>
         * 字段名:分账描述
         * 变量名:description
         * 是否必填:是
         * 类型:string[1,80]
         * 描述:
         *  分账的原因描述,分账账单中需要体现。 
         *  示例值:分帐1900000110 
         * </pre>
         */
        @JsonProperty(value = "description")
        private String description;
 
        /**
         * <pre>
         * 字段名:分账结果
         * 变量名:result
         * 是否必填:是
         * 类型:string[1,32]
         * 描述:
         *  分账结果,枚举值: 
         *  PENDING:待分账 
         *  SUCCESS:分账成功 
         *  CLOSED:分账失败已关闭 
         *  示例值:SUCCESS 
         * </pre>
         */
        @JsonProperty(value = "result")
        private String result;
 
        /**
         * <pre>
         * 字段名:完成时间
         * 变量名:finish_time
         * 是否必填:是
         * 类型:string[1,64]
         * 描述:
         *  分账完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss.sss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss.sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35.120+08:00表示,北京时间2015年5月20日 13点29分35秒。
         *  示例值: 2015-05-20T13:29:35.120+08:00 
         * </pre>
         */
        @JsonProperty(value = "finish_time")
        private String finishTime;
 
        /**
         * <pre>
         * 字段名:分账失败原因
         * 变量名:fail_reason
         * 是否必填:否
         * 类型:string[1,32]
         * 描述:
         *  分账失败原因,当分账结果result为RETURNED(已转回分账方)或CLOSED(已关闭)时,返回该字段
         *  枚举值:
         *  ACCOUNT_ABNORMAL:分账接收账户异常 
         *  NO_RELATION:分账关系已解除 
         *  RECEIVER_HIGH_RISK:高风险接收方
         *  示例值:NO_RELATION 
         * </pre>
         */
        @JsonProperty(value = "fail_reason")
        private String failReason;
 
        /**
         * <pre>
         * 字段名:分账接收方类型
         * 变量名:type
         * 是否必填:是
         * 类型:string[1,32]
         * 描述:
         *  分账接收方类型,枚举值: 
         *  MERCHANT_ID:商户
         *  PERSONAL_OPENID:个人
         *  示例值:MERCHANT_ID 
         * </pre>
         */
        @JsonProperty(value = "type")
        private String type;
 
        /**
         * <pre>
         * 字段名:分账接收方账号
         * 变量名:receiver_account
         * 是否必填:是
         * 类型:string[1,64]
         * 描述:
         *  分账接收方账号:
         *  类型是MERCHANT_ID时,是商户号(mch_id或者sub_mch_id)
         *  类型是PERSONAL_OPENID时,是个人openid 
         *  示例值:1900000109 
         * </pre>
         */
        @JsonProperty(value = "receiver_account")
        private String receiverAccount;
 
    }
 
}