add
yj
2024-12-05 b9900893177c78fc559223521fe839aa21000017
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
package com.dobbinsoft.fw.pay.model.request;
 
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.constant.WxPayConstants.RefundAccountSource;
import com.github.binarywang.wxpay.exception.WxPayException;
import lombok.*;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
 
import java.util.Arrays;
 
/**
 * <pre>
 * 微信支付-申请退款请求参数
 * </pre>
 *
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
public class MatrixPayRefundRequest extends MatrixBasePayRequest {
    private static final String[] REFUND_ACCOUNT = new String[]{
            RefundAccountSource.RECHARGE_FUNDS, RefundAccountSource.UNSETTLED_FUNDS};
    private static final long serialVersionUID = -1999065466412312068L;
 
    /**
     * <pre>
     * 字段名:设备号.
     * 变量名:device_info
     * 是否必填:否
     * 类型:String(32)
     * 示例值:13467007045764
     * 描述:终端设备号
     * </pre>
     */
    private String deviceInfo;
    /**
     * <pre>
     * 字段名:支付平台订单号.
     * 变量名:transaction_id
     * 是否必填:跟out_trade_no二选一
     * 类型:String(28)
     * 示例值:1217752501201400000000000000
     * 描述:支付平台生成的订单号,在支付通知中有返回
     * </pre>
     */
    private String transactionId;
    /**
     * <pre>
     * 字段名:商户订单号.
     * 变量名:out_trade_no
     * 是否必填:跟transaction_id二选一
     * 类型:String(32)
     * 示例值:1217752501201400000000000000
     * 描述:商户侧传给支付平台的订单号
     * </pre>
     */
    private String outTradeNo;
    /**
     * <pre>
     * 字段名:商户退款单号.
     * 变量名:out_refund_no
     * 是否必填:是
     * 类型:String(32)
     * 示例值:1217752501201400000000000000
     * 描述:商户系统内部的退款单号,商户系统内部唯一,同一退款单号多次请求只退一笔
     * </pre>
     */
    private String outRefundNo;
    /**
     * <pre>
     * 字段名:订单金额.
     * 变量名:total_fee
     * 是否必填:是
     * 类型:Int
     * 示例值:100
     * 描述:订单总金额,单位为分,只能为整数,详见支付金额
     * </pre>
     */
    private Integer totalFee;
    /**
     * <pre>
     * 字段名:退款金额.
     * 变量名:refund_fee
     * 是否必填:是
     * 类型:Int
     * 示例值:100
     * 描述:退款总金额,订单总金额,单位为分,只能为整数,详见支付金额
     * </pre>
     */
    private Integer refundFee;
    /**
     * <pre>
     * 字段名:货币种类.
     * 变量名:refund_fee_type
     * 是否必填:否
     * 类型:String(8)
     * 示例值:CNY
     * 描述:货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型
     * </pre>
     */
    private String refundFeeType;
    /**
     * <pre>
     * 字段名:操作员.
     * 变量名:op_user_id
     * 是否必填:是
     * 类型:String(32)
     * 示例值:1900000109
     * 描述:操作员帐号, 默认为商户号
     * </pre>
     */
    private String opUserId;
 
    /**
     * <pre>
     * 字段名:退款原因.
     * 变量名:refund_account
     * 是否必填:否
     * 类型:String(80)
     * 示例值:商品已售完
     * 描述:若商户传入,会在下发给用户的退款消息中体现退款原因
     * </pre>
     */
    private String refundDesc;
 
}