1010
1111/**
1212 * <pre>
13- * 统一下单请求参数对象
13+ * 统一下单请求参数对象.
1414 * 参考文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1
1515 * Created by Binary Wang on 2016/9/25.
1616 * </pre>
2424@ AllArgsConstructor
2525@ XStreamAlias ("xml" )
2626public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
27+ private static final long serialVersionUID = 4611350167813931828L ;
28+
2729 /**
2830 * <pre>
29- * 字段名:设备号
31+ * 字段名:设备号.
3032 * 变量名:device_info
3133 * 是否必填:否
3234 * 类型:String(32)
@@ -39,7 +41,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
3941
4042 /**
4143 * <pre>
42- * 字段名:商品描述
44+ * 字段名:商品描述.
4345 * 变量名:body
4446 * 是否必填:是
4547 * 类型:String(128)
@@ -53,7 +55,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
5355
5456 /**
5557 * <pre>
56- * 字段名:商品详情
58+ * 字段名:商品详情.
5759 * 变量名:detail
5860 * 是否必填:否
5961 * 类型:String(6000)
@@ -94,7 +96,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
9496
9597 /**
9698 * <pre>
97- * 字段名:附加数据
99+ * 字段名:附加数据.
98100 * 变量名:attach
99101 * 是否必填:否
100102 * 类型:String(127)
@@ -107,7 +109,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
107109
108110 /**
109111 * <pre>
110- * 字段名:商户订单号
112+ * 字段名:商户订单号.
111113 * 变量名:out_trade_no
112114 * 是否必填:是
113115 * 类型:String(32)
@@ -121,7 +123,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
121123
122124 /**
123125 * <pre>
124- * 字段名:货币类型
126+ * 字段名:货币类型.
125127 * 变量名:fee_type
126128 * 是否必填:否
127129 * 类型:String(16)
@@ -134,7 +136,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
134136
135137 /**
136138 * <pre>
137- * 字段名:总金额
139+ * 字段名:总金额.
138140 * 变量名:total_fee
139141 * 是否必填:是
140142 * 类型:Int
@@ -148,7 +150,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
148150
149151 /**
150152 * <pre>
151- * 字段名:终端IP
153+ * 字段名:终端IP.
152154 * 变量名:spbill_create_ip
153155 * 是否必填:是
154156 * 类型:String(16)
@@ -162,7 +164,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
162164
163165 /**
164166 * <pre>
165- * 字段名:交易起始时间
167+ * 字段名:交易起始时间.
166168 * 变量名:time_start
167169 * 是否必填:否
168170 * 类型:String(14)
@@ -175,7 +177,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
175177
176178 /**
177179 * <pre>
178- * 字段名:交易结束时间
180+ * 字段名:交易结束时间.
179181 * 变量名:time_expire
180182 * 是否必填:否
181183 * 类型:String(14)
@@ -189,7 +191,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
189191
190192 /**
191193 * <pre>
192- * 字段名:商品标记
194+ * 字段名:商品标记.
193195 * 变量名:goods_tag
194196 * 是否必填:否
195197 * 类型:String(32)
@@ -202,7 +204,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
202204
203205 /**
204206 * <pre>
205- * 字段名:通知地址
207+ * 字段名:通知地址.
206208 * 变量名:notify_url
207209 * 是否必填:是
208210 * 类型:String(256)
@@ -216,7 +218,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
216218
217219 /**
218220 * <pre>
219- * 字段名:交易类型
221+ * 字段名:交易类型.
220222 * 变量名:trade_type
221223 * 是否必填:是
222224 * 类型:String(16)
@@ -231,7 +233,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
231233
232234 /**
233235 * <pre>
234- * 字段名:商品Id
236+ * 字段名:商品Id.
235237 * 变量名:product_id
236238 * 是否必填:否
237239 * 类型:String(32)
@@ -244,7 +246,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
244246
245247 /**
246248 * <pre>
247- * 字段名:指定支付方式
249+ * 字段名:指定支付方式.
248250 * 变量名:limit_pay
249251 * 是否必填:否
250252 * 类型:String(32)
@@ -257,7 +259,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
257259
258260 /**
259261 * <pre>
260- * 字段名:用户标识
262+ * 字段名:用户标识.
261263 * 变量名:openid
262264 * 是否必填:否
263265 * 类型:String(128)
@@ -272,7 +274,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
272274
273275 /**
274276 * <pre>
275- * 字段名:用户子标识
277+ * 字段名:用户子标识.
276278 * 变量名:sub_openid
277279 * 是否必填:否
278280 * 类型:String(128)
@@ -287,7 +289,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
287289
288290 /**
289291 * <pre>
290- * 字段名:场景信息
292+ * 字段名:场景信息.
291293 * 变量名:scene_info
292294 * 是否必填:否,对H5支付来说是必填
293295 * 类型:String(256)
@@ -306,7 +308,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
306308 private String sceneInfo ;
307309 /**
308310 * <pre>
309- * 字段名:浏览器指纹
311+ * 字段名:浏览器指纹.
310312 * 变量名:fingerprint
311313 * 是否必填:否
312314 * 详细参考 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_7&index=6
@@ -316,14 +318,14 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest {
316318 private String fingerprint ;
317319
318320 /**
319- * 如果配置中已经设置,可以不设置值
321+ * 如果配置中已经设置,可以不设置值.
320322 */
321323 public void setNotifyURL (String notifyURL ) {
322324 this .notifyURL = notifyURL ;
323325 }
324326
325327 /**
326- * 如果配置中已经设置,可以不设置值
328+ * 如果配置中已经设置,可以不设置值.
327329 *
328330 * @param tradeType 交易类型
329331 */
@@ -333,16 +335,6 @@ public void setTradeType(String tradeType) {
333335
334336 @ Override
335337 protected void checkConstraints () throws WxPayException {
336- if (TradeType .JSAPI .equals (this .getTradeType ())) {
337- if (StringUtils .isBlank (this .getSubAppId ()) && StringUtils .isBlank (this .getOpenid ())) {
338- throw new WxPayException ("当trade_type是'JSAPI'时,需指定非空的openid值" );
339- }
340-
341- if (StringUtils .isNotBlank (this .getSubAppId ()) && StringUtils .isBlank (this .getSubOpenid ())) {
342- throw new WxPayException ("在服务商模式下,当trade_type是'JSAPI'时,需指定非空的sub_openid值" );
343- }
344- }
345-
346338 if (TradeType .NATIVE .equals (this .getTradeType ()) && StringUtils .isBlank (this .getProductId ())) {
347339 throw new WxPayException ("当trade_type是'NATIVE'时,需指定非空的product_id值" );
348340 }
0 commit comments