Skip to content

Commit 48fb5e9

Browse files
committed
微信支付去掉统一下单接口请求时关于openid和sub_openid的逻辑判断,由调用者自己控制相关参数
1 parent edaaa48 commit 48fb5e9

File tree

1 file changed

+24
-32
lines changed

1 file changed

+24
-32
lines changed

weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
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>
@@ -24,9 +24,11 @@
2424
@AllArgsConstructor
2525
@XStreamAlias("xml")
2626
public 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

Comments
 (0)