mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-05-07 14:17:47 +08:00
完善优化调试企业付款接口
This commit is contained in:
parent
ab5f573ca0
commit
bceabfb77e
@ -1,18 +1,12 @@
|
|||||||
package com.github.binarywang.wxpay.bean.request;
|
package com.github.binarywang.wxpay.bean.request;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
|
import me.chanjar.weixin.common.annotation.Required;
|
||||||
import me.chanjar.weixin.common.util.ToStringUtils;
|
import me.chanjar.weixin.common.util.ToStringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 企业付款请求对象
|
* 企业付款请求对象
|
||||||
* 注释中各行每个字段描述对应如下:
|
|
||||||
* <li>字段名
|
|
||||||
* <li>变量名
|
|
||||||
* <li>是否必填
|
|
||||||
* <li>类型
|
|
||||||
* <li>示例值
|
|
||||||
* <li>描述
|
|
||||||
* </pre>
|
* </pre>
|
||||||
* Created by Binary Wang on 2016/10/02.
|
* Created by Binary Wang on 2016/10/02.
|
||||||
*
|
*
|
||||||
@ -22,12 +16,12 @@ import me.chanjar.weixin.common.util.ToStringUtils;
|
|||||||
public class WxEntPayRequest extends WxPayBaseRequest {
|
public class WxEntPayRequest extends WxPayBaseRequest {
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 公众账号appid
|
* 字段名:公众账号appid
|
||||||
* mch_appid
|
* 变量名:mch_appid
|
||||||
* 是
|
* 是否必填:是
|
||||||
* wx8888888888888888
|
* 示例值:wx8888888888888888
|
||||||
* String
|
* 类型:String
|
||||||
* 微信分配的公众账号ID(企业号corpid即为此appId)
|
* 描述:微信分配的公众账号ID(企业号corpid即为此appId)
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
@XStreamAlias("mch_appid")
|
@XStreamAlias("mch_appid")
|
||||||
@ -35,12 +29,12 @@ public class WxEntPayRequest extends WxPayBaseRequest {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 商户号
|
* 字段名:商户号
|
||||||
* mchid
|
* 变量名:mchid
|
||||||
* 是
|
* 是否必填:是
|
||||||
* 1900000109
|
* 示例值:1900000109
|
||||||
* String(32)
|
* 类型:String(32)
|
||||||
* 微信支付分配的商户号
|
* 描述:微信支付分配的商户号
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
@XStreamAlias("mchid")
|
@XStreamAlias("mchid")
|
||||||
@ -48,12 +42,12 @@ public class WxEntPayRequest extends WxPayBaseRequest {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 设备号
|
* 字段名:设备号
|
||||||
* device_info
|
* 变量名:device_info
|
||||||
* 否
|
* 是否必填:否
|
||||||
* 13467007045764
|
* 示例值:13467007045764
|
||||||
* String(32)
|
* 类型:String(32)
|
||||||
* 微信支付分配的终端设备号
|
* 描述:微信支付分配的终端设备号
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
@XStreamAlias("device_info")
|
@XStreamAlias("device_info")
|
||||||
@ -61,53 +55,56 @@ public class WxEntPayRequest extends WxPayBaseRequest {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 商户订单号
|
* 字段名:商户订单号
|
||||||
* partner_trade_no
|
* 变量名:partner_trade_no
|
||||||
* 是
|
* 是否必填:是
|
||||||
* 10000098201411111234567890
|
* 示例值:10000098201411111234567890
|
||||||
* String
|
* 类型:String
|
||||||
* 商户订单号
|
* 描述:商户订单号
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
@Required
|
||||||
@XStreamAlias("partner_trade_no")
|
@XStreamAlias("partner_trade_no")
|
||||||
private String partnerTradeNo;
|
private String partnerTradeNo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 需保持唯一性 用户openid
|
* 字段名:需保持唯一性 用户openid
|
||||||
* openid
|
* 变量名:openid
|
||||||
* 是
|
* 是否必填:是
|
||||||
* oxTWIuGaIt6gTKsQRLau2M0yL16E
|
* 示例值:oxTWIuGaIt6gTKsQRLau2M0yL16E
|
||||||
* String
|
* 类型:String
|
||||||
* 商户appid下,某用户的openid
|
* 描述:商户appid下,某用户的openid
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
@Required
|
||||||
@XStreamAlias("openid")
|
@XStreamAlias("openid")
|
||||||
private String openid;
|
private String openid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 校验用户姓名选项
|
* 字段名:校验用户姓名选项
|
||||||
* check_name
|
* 变量名:check_name
|
||||||
* 是
|
* 是否必填:是
|
||||||
* OPTION_CHECK
|
* 示例值:OPTION_CHECK
|
||||||
* String
|
* 类型:String
|
||||||
* NO_CHECK:不校验真实姓名
|
* 描述:NO_CHECK:不校验真实姓名
|
||||||
* FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)
|
* FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)
|
||||||
* OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
|
* OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
@Required
|
||||||
@XStreamAlias("check_name")
|
@XStreamAlias("check_name")
|
||||||
private String checkName;
|
private String checkName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 收款用户姓名
|
* 字段名:收款用户姓名
|
||||||
* re_user_name
|
* 变量名:re_user_name
|
||||||
* 可选
|
* 是否必填:可选
|
||||||
* 马花花
|
* 示例值:马花花
|
||||||
* String
|
* 类型:String
|
||||||
* 收款用户真实姓名。
|
* 描述:收款用户真实姓名。
|
||||||
* 如果check_name设置为FORCE_CHECK或OPTION_CHECK, 则必填用户真实姓名
|
* 如果check_name设置为FORCE_CHECK或OPTION_CHECK, 则必填用户真实姓名
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
@ -116,43 +113,71 @@ public class WxEntPayRequest extends WxPayBaseRequest {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 金额
|
* 字段名:金额
|
||||||
* amount
|
* 变量名:amount
|
||||||
* 是
|
* 是否必填:是
|
||||||
* 10099
|
* 示例值:10099
|
||||||
* int
|
* 类型:int
|
||||||
* 企业付款金额, 单位为分
|
* 描述:企业付款金额, 单位为分
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
@Required
|
||||||
@XStreamAlias("amount")
|
@XStreamAlias("amount")
|
||||||
private Integer amount;
|
private Integer amount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* 企业付款描述信息
|
* 字段名:企业付款描述信息
|
||||||
* desc
|
* 变量名:desc
|
||||||
* 是
|
* 是否必填:是
|
||||||
* 理赔
|
* 示例值:理赔
|
||||||
* String
|
* 类型:String
|
||||||
* 企业付款操作说明信息。必填。
|
* 描述:企业付款操作说明信息。必填。
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
@Required
|
||||||
@XStreamAlias("desc")
|
@XStreamAlias("desc")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Ip地址
|
* 字段名:Ip地址
|
||||||
* spbill_create_ip
|
* 变量名:spbill_create_ip
|
||||||
* 是
|
* 是否必填:是
|
||||||
* 192.168.0.1
|
* 示例值:192.168.0.1
|
||||||
* String(32)
|
* 类型:String(32)
|
||||||
* 调用接口的机器Ip地址
|
* 描述:调用接口的机器Ip地址
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
@Required
|
||||||
@XStreamAlias("spbill_create_ip")
|
@XStreamAlias("spbill_create_ip")
|
||||||
private String spbillCreateIp;
|
private String spbillCreateIp;
|
||||||
|
|
||||||
|
public WxEntPayRequest() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private WxEntPayRequest(Builder builder) {
|
||||||
|
setAppid(builder.appid);
|
||||||
|
setMchId(builder.mchId);
|
||||||
|
setSubAppId(builder.subAppId);
|
||||||
|
setSubMchId(builder.subMchId);
|
||||||
|
setNonceStr(builder.nonceStr);
|
||||||
|
setSign(builder.sign);
|
||||||
|
mchAppid = builder.mchAppid;
|
||||||
|
setMchId(builder.mchId);
|
||||||
|
setDeviceInfo(builder.deviceInfo);
|
||||||
|
setPartnerTradeNo(builder.partnerTradeNo);
|
||||||
|
setOpenid(builder.openid);
|
||||||
|
setCheckName(builder.checkName);
|
||||||
|
setReUserName(builder.reUserName);
|
||||||
|
setAmount(builder.amount);
|
||||||
|
setDescription(builder.description);
|
||||||
|
setSpbillCreateIp(builder.spbillCreateIp);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder newBuilder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void checkConstraints() {
|
protected void checkConstraints() {
|
||||||
@ -248,4 +273,103 @@ public class WxEntPayRequest extends WxPayBaseRequest {
|
|||||||
return ToStringUtils.toSimpleString(this);
|
return ToStringUtils.toSimpleString(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class Builder {
|
||||||
|
private String appid;
|
||||||
|
private String mchId;
|
||||||
|
private String deviceInfo;
|
||||||
|
private String partnerTradeNo;
|
||||||
|
private String openid;
|
||||||
|
private String checkName;
|
||||||
|
private String reUserName;
|
||||||
|
private Integer amount;
|
||||||
|
private String description;
|
||||||
|
private String spbillCreateIp;
|
||||||
|
private String subAppId;
|
||||||
|
private String subMchId;
|
||||||
|
private String nonceStr;
|
||||||
|
private String sign;
|
||||||
|
private String mchAppid;
|
||||||
|
|
||||||
|
private Builder() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder appid(String appid) {
|
||||||
|
this.appid = appid;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder mchId(String mchId) {
|
||||||
|
this.mchId = mchId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder deviceInfo(String deviceInfo) {
|
||||||
|
this.deviceInfo = deviceInfo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder partnerTradeNo(String partnerTradeNo) {
|
||||||
|
this.partnerTradeNo = partnerTradeNo;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder openid(String openid) {
|
||||||
|
this.openid = openid;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder checkName(String checkName) {
|
||||||
|
this.checkName = checkName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder reUserName(String reUserName) {
|
||||||
|
this.reUserName = reUserName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder amount(Integer amount) {
|
||||||
|
this.amount = amount;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder description(String description) {
|
||||||
|
this.description = description;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder spbillCreateIp(String spbillCreateIp) {
|
||||||
|
this.spbillCreateIp = spbillCreateIp;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WxEntPayRequest build() {
|
||||||
|
return new WxEntPayRequest(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder subAppId(String subAppId) {
|
||||||
|
this.subAppId = subAppId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder subMchId(String subMchId) {
|
||||||
|
this.subMchId = subMchId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder nonceStr(String nonceStr) {
|
||||||
|
this.nonceStr = nonceStr;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder sign(String sign) {
|
||||||
|
this.sign = sign;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder mchAppid(String mchAppid) {
|
||||||
|
this.mchAppid = mchAppid;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,15 @@ public class WxPayServiceAbstractImplTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testEntPay() throws WxPayException {
|
public void testEntPay() throws WxPayException {
|
||||||
WxEntPayRequest request = new WxEntPayRequest();
|
WxEntPayRequest request = WxEntPayRequest.newBuilder()
|
||||||
|
.partnerTradeNo("Eb6Aep7uVTdbkJqrP4")
|
||||||
|
.openid("ojOQA0y9o-Eb6Aep7uVTdbkJqrP4")
|
||||||
|
.amount(1)
|
||||||
|
.spbillCreateIp("10.10.10.10")
|
||||||
|
.checkName("NO_CHECK")
|
||||||
|
.description("描述信息")
|
||||||
|
.build();
|
||||||
|
|
||||||
this.logger.info(this.payService.entPay(request).toString());
|
this.logger.info(this.payService.entPay(request).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user