From 50bfc72a3685255d0188c7f6b96c7f780b122d5e Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Tue, 27 Jun 2017 18:27:37 +0800 Subject: [PATCH] =?UTF-8?q?#255=20=E6=9C=8D=E5=8A=A1=E5=95=86=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E7=BB=9F=E4=B8=80=E4=B8=8B=E5=8D=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=A2=9E=E5=8A=A0sub=5Fopenid=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/WxPayUnifiedOrderRequest.java | 52 +++++++++++++++---- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java index fb4b5e09..f5b58245 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayUnifiedOrderRequest.java @@ -271,14 +271,29 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { @XStreamAlias("openid") private String openid; + /** + *
+   * 用户子标识
+   * sub_openid
+   * 否
+   * String(128)
+   * oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
+   * trade_type=JSAPI,此参数必传,用户在子商户appid下的唯一标识。
+   * openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。
+   * 下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。
+   * 
+ */ + @XStreamAlias("sub_openid") + private String subOpenid; + public WxPayUnifiedOrderRequest() { } private WxPayUnifiedOrderRequest(Builder builder) { - setAppid(builder.appid); setDeviceInfo(builder.deviceInfo); - setMchId(builder.mchId); + setAppid(builder.appid); setBody(builder.body); + setMchId(builder.mchId); setSubAppId(builder.subAppId); setSubMchId(builder.subMchId); setNonceStr(builder.nonceStr); @@ -297,6 +312,7 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { setProductId(builder.productId); setLimitPay(builder.limitPay); setOpenid(builder.openid); + setSubOpenid(builder.subOpenid); } public static Builder newBuilder() { @@ -441,6 +457,14 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { this.openid = openid; } + public String getSubOpenid() { + return this.subOpenid; + } + + public void setSubOpenid(String subOpenid) { + this.subOpenid = subOpenid; + } + @Override protected void checkConstraints() { // if (!ArrayUtils.contains(TRADE_TYPES, this.getTradeType())) { @@ -471,10 +495,10 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { } public static final class Builder { - private String appid; private String deviceInfo; - private String mchId; + private String appid; private String body; + private String mchId; private String subAppId; private String subMchId; private String nonceStr; @@ -493,22 +517,18 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { private String productId; private String limitPay; private String openid; + private String subOpenid; private Builder() { } - public Builder appid(String appid) { - this.appid = appid; - return this; - } - public Builder deviceInfo(String deviceInfo) { this.deviceInfo = deviceInfo; return this; } - public Builder mchId(String mchId) { - this.mchId = mchId; + public Builder appid(String appid) { + this.appid = appid; return this; } @@ -517,6 +537,11 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { return this; } + public Builder mchId(String mchId) { + this.mchId = mchId; + return this; + } + public Builder subAppId(String subAppId) { this.subAppId = subAppId; return this; @@ -607,6 +632,11 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { return this; } + public Builder subOpenid(String subOpenid) { + this.subOpenid = subOpenid; + return this; + } + public WxPayUnifiedOrderRequest build() { return new WxPayUnifiedOrderRequest(this); }