| @@ -10,7 +10,7 @@ import org.apache.commons.lang3.StringUtils; | |||
| /** | |||
| * <pre> | |||
| * 统一下单请求参数对象 | |||
| * 统一下单请求参数对象. | |||
| * 参考文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1 | |||
| * Created by Binary Wang on 2016/9/25. | |||
| * </pre> | |||
| @@ -24,9 +24,11 @@ import org.apache.commons.lang3.StringUtils; | |||
| @AllArgsConstructor | |||
| @XStreamAlias("xml") | |||
| public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| private static final long serialVersionUID = 4611350167813931828L; | |||
| /** | |||
| * <pre> | |||
| * 字段名:设备号 | |||
| * 字段名:设备号. | |||
| * 变量名:device_info | |||
| * 是否必填:否 | |||
| * 类型:String(32) | |||
| @@ -39,7 +41,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:商品描述 | |||
| * 字段名:商品描述. | |||
| * 变量名:body | |||
| * 是否必填:是 | |||
| * 类型:String(128) | |||
| @@ -53,7 +55,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:商品详情 | |||
| * 字段名:商品详情. | |||
| * 变量名:detail | |||
| * 是否必填:否 | |||
| * 类型:String(6000) | |||
| @@ -94,7 +96,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:附加数据 | |||
| * 字段名:附加数据. | |||
| * 变量名:attach | |||
| * 是否必填:否 | |||
| * 类型:String(127) | |||
| @@ -107,7 +109,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:商户订单号 | |||
| * 字段名:商户订单号. | |||
| * 变量名:out_trade_no | |||
| * 是否必填:是 | |||
| * 类型:String(32) | |||
| @@ -121,7 +123,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:货币类型 | |||
| * 字段名:货币类型. | |||
| * 变量名:fee_type | |||
| * 是否必填:否 | |||
| * 类型:String(16) | |||
| @@ -134,7 +136,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:总金额 | |||
| * 字段名:总金额. | |||
| * 变量名:total_fee | |||
| * 是否必填:是 | |||
| * 类型:Int | |||
| @@ -148,7 +150,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:终端IP | |||
| * 字段名:终端IP. | |||
| * 变量名:spbill_create_ip | |||
| * 是否必填:是 | |||
| * 类型:String(16) | |||
| @@ -162,7 +164,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:交易起始时间 | |||
| * 字段名:交易起始时间. | |||
| * 变量名:time_start | |||
| * 是否必填:否 | |||
| * 类型:String(14) | |||
| @@ -175,7 +177,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:交易结束时间 | |||
| * 字段名:交易结束时间. | |||
| * 变量名:time_expire | |||
| * 是否必填:否 | |||
| * 类型:String(14) | |||
| @@ -189,7 +191,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:商品标记 | |||
| * 字段名:商品标记. | |||
| * 变量名:goods_tag | |||
| * 是否必填:否 | |||
| * 类型:String(32) | |||
| @@ -202,7 +204,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:通知地址 | |||
| * 字段名:通知地址. | |||
| * 变量名:notify_url | |||
| * 是否必填:是 | |||
| * 类型:String(256) | |||
| @@ -216,7 +218,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:交易类型 | |||
| * 字段名:交易类型. | |||
| * 变量名:trade_type | |||
| * 是否必填:是 | |||
| * 类型:String(16) | |||
| @@ -231,7 +233,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:商品Id | |||
| * 字段名:商品Id. | |||
| * 变量名:product_id | |||
| * 是否必填:否 | |||
| * 类型:String(32) | |||
| @@ -244,7 +246,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:指定支付方式 | |||
| * 字段名:指定支付方式. | |||
| * 变量名:limit_pay | |||
| * 是否必填:否 | |||
| * 类型:String(32) | |||
| @@ -257,7 +259,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:用户标识 | |||
| * 字段名:用户标识. | |||
| * 变量名:openid | |||
| * 是否必填:否 | |||
| * 类型:String(128) | |||
| @@ -272,7 +274,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:用户子标识 | |||
| * 字段名:用户子标识. | |||
| * 变量名:sub_openid | |||
| * 是否必填:否 | |||
| * 类型:String(128) | |||
| @@ -287,7 +289,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| /** | |||
| * <pre> | |||
| * 字段名:场景信息 | |||
| * 字段名:场景信息. | |||
| * 变量名:scene_info | |||
| * 是否必填:否,对H5支付来说是必填 | |||
| * 类型:String(256) | |||
| @@ -306,7 +308,7 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| private String sceneInfo; | |||
| /** | |||
| * <pre> | |||
| * 字段名:浏览器指纹 | |||
| * 字段名:浏览器指纹. | |||
| * 变量名:fingerprint | |||
| * 是否必填:否 | |||
| * 详细参考 https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_7&index=6 | |||
| @@ -316,14 +318,14 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| private String fingerprint; | |||
| /** | |||
| * 如果配置中已经设置,可以不设置值 | |||
| * 如果配置中已经设置,可以不设置值. | |||
| */ | |||
| public void setNotifyURL(String notifyURL) { | |||
| this.notifyURL = notifyURL; | |||
| } | |||
| /** | |||
| * 如果配置中已经设置,可以不设置值 | |||
| * 如果配置中已经设置,可以不设置值. | |||
| * | |||
| * @param tradeType 交易类型 | |||
| */ | |||
| @@ -333,16 +335,6 @@ public class WxPayUnifiedOrderRequest extends BaseWxPayRequest { | |||
| @Override | |||
| protected void checkConstraints() throws WxPayException { | |||
| if (TradeType.JSAPI.equals(this.getTradeType())) { | |||
| if (StringUtils.isBlank(this.getSubAppId()) && StringUtils.isBlank(this.getOpenid())) { | |||
| throw new WxPayException("当trade_type是'JSAPI'时,需指定非空的openid值"); | |||
| } | |||
| if (StringUtils.isNotBlank(this.getSubAppId()) && StringUtils.isBlank(this.getSubOpenid())) { | |||
| throw new WxPayException("在服务商模式下,当trade_type是'JSAPI'时,需指定非空的sub_openid值"); | |||
| } | |||
| } | |||
| if (TradeType.NATIVE.equals(this.getTradeType()) && StringUtils.isBlank(this.getProductId())) { | |||
| throw new WxPayException("当trade_type是'NATIVE'时,需指定非空的product_id值"); | |||
| } | |||