| @@ -271,14 +271,29 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { | |||||
| @XStreamAlias("openid") | @XStreamAlias("openid") | ||||
| private String openid; | private String openid; | ||||
| /** | |||||
| * <pre> | |||||
| * 用户子标识 | |||||
| * sub_openid | |||||
| * 否 | |||||
| * String(128) | |||||
| * oUpF8uMuAJO_M2pxb1Q9zNjWeS6o | |||||
| * trade_type=JSAPI,此参数必传,用户在子商户appid下的唯一标识。 | |||||
| * openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid。 | |||||
| * 下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。 | |||||
| * </pre> | |||||
| */ | |||||
| @XStreamAlias("sub_openid") | |||||
| private String subOpenid; | |||||
| public WxPayUnifiedOrderRequest() { | public WxPayUnifiedOrderRequest() { | ||||
| } | } | ||||
| private WxPayUnifiedOrderRequest(Builder builder) { | private WxPayUnifiedOrderRequest(Builder builder) { | ||||
| setAppid(builder.appid); | |||||
| setDeviceInfo(builder.deviceInfo); | setDeviceInfo(builder.deviceInfo); | ||||
| setMchId(builder.mchId); | |||||
| setAppid(builder.appid); | |||||
| setBody(builder.body); | setBody(builder.body); | ||||
| setMchId(builder.mchId); | |||||
| setSubAppId(builder.subAppId); | setSubAppId(builder.subAppId); | ||||
| setSubMchId(builder.subMchId); | setSubMchId(builder.subMchId); | ||||
| setNonceStr(builder.nonceStr); | setNonceStr(builder.nonceStr); | ||||
| @@ -297,6 +312,7 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { | |||||
| setProductId(builder.productId); | setProductId(builder.productId); | ||||
| setLimitPay(builder.limitPay); | setLimitPay(builder.limitPay); | ||||
| setOpenid(builder.openid); | setOpenid(builder.openid); | ||||
| setSubOpenid(builder.subOpenid); | |||||
| } | } | ||||
| public static Builder newBuilder() { | public static Builder newBuilder() { | ||||
| @@ -441,6 +457,14 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { | |||||
| this.openid = openid; | this.openid = openid; | ||||
| } | } | ||||
| public String getSubOpenid() { | |||||
| return this.subOpenid; | |||||
| } | |||||
| public void setSubOpenid(String subOpenid) { | |||||
| this.subOpenid = subOpenid; | |||||
| } | |||||
| @Override | @Override | ||||
| protected void checkConstraints() { | protected void checkConstraints() { | ||||
| // if (!ArrayUtils.contains(TRADE_TYPES, this.getTradeType())) { | // if (!ArrayUtils.contains(TRADE_TYPES, this.getTradeType())) { | ||||
| @@ -471,10 +495,10 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { | |||||
| } | } | ||||
| public static final class Builder { | public static final class Builder { | ||||
| private String appid; | |||||
| private String deviceInfo; | private String deviceInfo; | ||||
| private String mchId; | |||||
| private String appid; | |||||
| private String body; | private String body; | ||||
| private String mchId; | |||||
| private String subAppId; | private String subAppId; | ||||
| private String subMchId; | private String subMchId; | ||||
| private String nonceStr; | private String nonceStr; | ||||
| @@ -493,22 +517,18 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { | |||||
| private String productId; | private String productId; | ||||
| private String limitPay; | private String limitPay; | ||||
| private String openid; | private String openid; | ||||
| private String subOpenid; | |||||
| private Builder() { | private Builder() { | ||||
| } | } | ||||
| public Builder appid(String appid) { | |||||
| this.appid = appid; | |||||
| return this; | |||||
| } | |||||
| public Builder deviceInfo(String deviceInfo) { | public Builder deviceInfo(String deviceInfo) { | ||||
| this.deviceInfo = deviceInfo; | this.deviceInfo = deviceInfo; | ||||
| return this; | return this; | ||||
| } | } | ||||
| public Builder mchId(String mchId) { | |||||
| this.mchId = mchId; | |||||
| public Builder appid(String appid) { | |||||
| this.appid = appid; | |||||
| return this; | return this; | ||||
| } | } | ||||
| @@ -517,6 +537,11 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { | |||||
| return this; | return this; | ||||
| } | } | ||||
| public Builder mchId(String mchId) { | |||||
| this.mchId = mchId; | |||||
| return this; | |||||
| } | |||||
| public Builder subAppId(String subAppId) { | public Builder subAppId(String subAppId) { | ||||
| this.subAppId = subAppId; | this.subAppId = subAppId; | ||||
| return this; | return this; | ||||
| @@ -607,6 +632,11 @@ public class WxPayUnifiedOrderRequest extends WxPayBaseRequest { | |||||
| return this; | return this; | ||||
| } | } | ||||
| public Builder subOpenid(String subOpenid) { | |||||
| this.subOpenid = subOpenid; | |||||
| return this; | |||||
| } | |||||
| public WxPayUnifiedOrderRequest build() { | public WxPayUnifiedOrderRequest build() { | ||||
| return new WxPayUnifiedOrderRequest(this); | return new WxPayUnifiedOrderRequest(this); | ||||
| } | } | ||||