mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-08-23 22:11:40 +08:00
微信支付去掉统一下单接口请求时关于openid和sub_openid的逻辑判断,由调用者自己控制相关参数
This commit is contained in:
parent
edaaa48b8d
commit
48fb5e9e5a
@ -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值");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user