@@ -142,17 +142,26 @@ public class WxPayRefundRequest extends WxPayBaseRequest {
142142 */
143143 @ XStreamAlias ("refund_account" )
144144 private String refundAccount ;
145-
146- public WxPayRefundRequest () {
147- }
145+ /**
146+ * <pre>
147+ * 退款原因
148+ * refund_account
149+ * 否
150+ * String(80)
151+ * 商品已售完
152+ * 若商户传入,会在下发给用户的退款消息中体现退款原因
153+ * </pre>
154+ */
155+ @ XStreamAlias ("refund_desc" )
156+ private String refundDesc ;
148157
149158 private WxPayRefundRequest (Builder builder ) {
150159 setDeviceInfo (builder .deviceInfo );
151160 setAppid (builder .appid );
152161 setTransactionId (builder .transactionId );
153162 setMchId (builder .mchId );
154- setOutTradeNo (builder .outTradeNo );
155163 setSubAppId (builder .subAppId );
164+ setOutTradeNo (builder .outTradeNo );
156165 setSubMchId (builder .subMchId );
157166 setOutRefundNo (builder .outRefundNo );
158167 setNonceStr (builder .nonceStr );
@@ -162,21 +171,13 @@ private WxPayRefundRequest(Builder builder) {
162171 setRefundFeeType (builder .refundFeeType );
163172 setOpUserId (builder .opUserId );
164173 setRefundAccount (builder .refundAccount );
174+ setRefundDesc (builder .refundDesc );
165175 }
166176
167177 public static Builder newBuilder () {
168178 return new Builder ();
169179 }
170180
171- @ Override
172- public void checkAndSign (WxPayConfig config ) throws WxPayException {
173- if (StringUtils .isBlank (this .getOpUserId ())) {
174- this .setOpUserId (config .getMchId ());
175- }
176-
177- super .checkAndSign (config );
178- }
179-
180181 public String getDeviceInfo () {
181182 return this .deviceInfo ;
182183 }
@@ -249,6 +250,26 @@ public void setRefundAccount(String refundAccount) {
249250 this .refundAccount = refundAccount ;
250251 }
251252
253+ public String getRefundDesc () {
254+ return this .refundDesc ;
255+ }
256+
257+ public void setRefundDesc (String refundDesc ) {
258+ this .refundDesc = refundDesc ;
259+ }
260+
261+ public WxPayRefundRequest () {
262+ }
263+
264+ @ Override
265+ public void checkAndSign (WxPayConfig config ) throws WxPayException {
266+ if (StringUtils .isBlank (this .getOpUserId ())) {
267+ this .setOpUserId (config .getMchId ());
268+ }
269+
270+ super .checkAndSign (config );
271+ }
272+
252273 @ Override
253274 protected void checkConstraints () {
254275 if (StringUtils .isNotBlank (this .getRefundAccount ())) {
@@ -268,8 +289,8 @@ public static final class Builder {
268289 private String appid ;
269290 private String transactionId ;
270291 private String mchId ;
271- private String outTradeNo ;
272292 private String subAppId ;
293+ private String outTradeNo ;
273294 private String subMchId ;
274295 private String outRefundNo ;
275296 private String nonceStr ;
@@ -279,6 +300,7 @@ public static final class Builder {
279300 private String refundFeeType ;
280301 private String opUserId ;
281302 private String refundAccount ;
303+ private String refundDesc ;
282304
283305 private Builder () {
284306 }
@@ -303,13 +325,13 @@ public Builder mchId(String mchId) {
303325 return this ;
304326 }
305327
306- public Builder outTradeNo (String outTradeNo ) {
307- this .outTradeNo = outTradeNo ;
328+ public Builder subAppId (String subAppId ) {
329+ this .subAppId = subAppId ;
308330 return this ;
309331 }
310332
311- public Builder subAppId (String subAppId ) {
312- this .subAppId = subAppId ;
333+ public Builder outTradeNo (String outTradeNo ) {
334+ this .outTradeNo = outTradeNo ;
313335 return this ;
314336 }
315337
@@ -358,6 +380,11 @@ public Builder refundAccount(String refundAccount) {
358380 return this ;
359381 }
360382
383+ public Builder refundDesc (String refundDesc ) {
384+ this .refundDesc = refundDesc ;
385+ return this ;
386+ }
387+
361388 public WxPayRefundRequest build () {
362389 return new WxPayRefundRequest (this );
363390 }
0 commit comments