Skip to content

Commit 12eaa5b

Browse files
committed
#255 服务商模式下统一下单接口增加sub_openid字段
1 parent 0de1c72 commit 12eaa5b

File tree

1 file changed

+41
-11
lines changed

1 file changed

+41
-11
lines changed

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

+41-11
Original file line numberDiff line numberDiff line change
@@ -271,14 +271,29 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest {
271271
@XStreamAlias("openid")
272272
private String openid;
273273

274+
/**
275+
* <pre>
276+
* 用户子标识
277+
* sub_openid
278+
* 否
279+
* String(128)
280+
* oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
281+
* trade_type=JSAPI,此参数必传,用户在子商户appid下的唯一标识。
282+
* openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。
283+
* 下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。
284+
* </pre>
285+
*/
286+
@XStreamAlias("sub_openid")
287+
private String subOpenid;
288+
274289
public WxPayUnifiedOrderRequest() {
275290
}
276291

277292
private WxPayUnifiedOrderRequest(Builder builder) {
278-
setAppid(builder.appid);
279293
setDeviceInfo(builder.deviceInfo);
280-
setMchId(builder.mchId);
294+
setAppid(builder.appid);
281295
setBody(builder.body);
296+
setMchId(builder.mchId);
282297
setSubAppId(builder.subAppId);
283298
setSubMchId(builder.subMchId);
284299
setNonceStr(builder.nonceStr);
@@ -297,6 +312,7 @@ private WxPayUnifiedOrderRequest(Builder builder) {
297312
setProductId(builder.productId);
298313
setLimitPay(builder.limitPay);
299314
setOpenid(builder.openid);
315+
setSubOpenid(builder.subOpenid);
300316
}
301317

302318
public static Builder newBuilder() {
@@ -441,6 +457,14 @@ public void setOpenid(String openid) {
441457
this.openid = openid;
442458
}
443459

460+
public String getSubOpenid() {
461+
return this.subOpenid;
462+
}
463+
464+
public void setSubOpenid(String subOpenid) {
465+
this.subOpenid = subOpenid;
466+
}
467+
444468
@Override
445469
protected void checkConstraints() {
446470
// if (!ArrayUtils.contains(TRADE_TYPES, this.getTradeType())) {
@@ -471,10 +495,10 @@ public void checkAndSign(WxPayConfig config) throws WxPayException {
471495
}
472496

473497
public static final class Builder {
474-
private String appid;
475498
private String deviceInfo;
476-
private String mchId;
499+
private String appid;
477500
private String body;
501+
private String mchId;
478502
private String subAppId;
479503
private String subMchId;
480504
private String nonceStr;
@@ -493,22 +517,18 @@ public static final class Builder {
493517
private String productId;
494518
private String limitPay;
495519
private String openid;
520+
private String subOpenid;
496521

497522
private Builder() {
498523
}
499524

500-
public Builder appid(String appid) {
501-
this.appid = appid;
502-
return this;
503-
}
504-
505525
public Builder deviceInfo(String deviceInfo) {
506526
this.deviceInfo = deviceInfo;
507527
return this;
508528
}
509529

510-
public Builder mchId(String mchId) {
511-
this.mchId = mchId;
530+
public Builder appid(String appid) {
531+
this.appid = appid;
512532
return this;
513533
}
514534

@@ -517,6 +537,11 @@ public Builder body(String body) {
517537
return this;
518538
}
519539

540+
public Builder mchId(String mchId) {
541+
this.mchId = mchId;
542+
return this;
543+
}
544+
520545
public Builder subAppId(String subAppId) {
521546
this.subAppId = subAppId;
522547
return this;
@@ -607,6 +632,11 @@ public Builder openid(String openid) {
607632
return this;
608633
}
609634

635+
public Builder subOpenid(String subOpenid) {
636+
this.subOpenid = subOpenid;
637+
return this;
638+
}
639+
610640
public WxPayUnifiedOrderRequest build() {
611641
return new WxPayUnifiedOrderRequest(this);
612642
}

0 commit comments

Comments
 (0)