diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/MchApi.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/MchApi.java
index 46e432ea..8f21cc29 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/MchApi.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/MchApi.java
@@ -121,7 +121,7 @@ public class MchApi extends BaseApi {
merchant.setAppId(weixinAccount.getId());
merchant.setMchId(weixinAccount.getMchId());
merchant.setDeviceInfo(weixinAccount.getDeviceInfo());
- merchant.setSubId(weixinAccount.getSubId());
+ merchant.setSubAppId(weixinAccount.getSubId());
merchant.setSubMchId(weixinAccount.getSubMchId());
merchant.setNonceStr(RandomUtil.generateString(16));
}
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java
index ebea6196..f8475fc2 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/api/PayApi.java
@@ -14,6 +14,7 @@ import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.foxinmy.weixin4j.exception.WeixinException;
import com.foxinmy.weixin4j.http.weixin.WeixinResponse;
@@ -107,7 +108,10 @@ public class PayApi extends MchApi {
String tradeType = payPackage.getTradeType().toUpperCase();
if (TradeType.MICROPAY.name().equals(tradeType)) {
super.declareMerchant(payPackage);
- payPackage.setSign(weixinSignature.sign(payPackage));
+ JSONObject _payPackage = (JSONObject) JSON.toJSON(payPackage);
+ // 不需要设置TradeType参数
+ _payPackage.remove("tradeType");
+ payPackage.setSign(weixinSignature.sign(_payPackage));
String para = XmlStream.toXML(payPackage);
WeixinResponse response = weixinExecutor.post(
getRequestUri("micropay_uri"), para);
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MchPayPackage.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MchPayPackage.java
index 8893722f..d43c2051 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MchPayPackage.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MchPayPackage.java
@@ -145,9 +145,6 @@ public class MchPayPackage extends PayPackage {
String goodsTag, String limitPay, String subOpenId) {
super(body, detial, outTradeNo, totalFee, notifyUrl, createIp, attach,
timeStart, timeExpire, goodsTag);
- if (tradeType.isPayRequestParameter()) {
- this.tradeType = tradeType.name();
- }
this.openId = openId;
this.authCode = authCode;
this.productId = productId;
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java
index 102461e7..6561dd2f 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/mch/MerchantResult.java
@@ -39,9 +39,9 @@ public class MerchantResult extends XmlResult {
/**
* 微信分配的子商户公众账号ID 非必须
*/
- @XmlElement(name = "sub_id")
- @JSONField(name = "sub_id")
- private String subId;
+ @XmlElement(name = "sub_appid")
+ @JSONField(name = "sub_appid")
+ private String subAppId;
/**
* 微信支付分配的子商户号 非必须
*/
@@ -99,12 +99,12 @@ public class MerchantResult extends XmlResult {
this.mchId = mchId;
}
- public String getSubId() {
- return subId;
+ public String getSubAppId() {
+ return subAppId;
}
- public void setSubId(String subId) {
- this.subId = subId;
+ public void setSubAppId(String subAppId) {
+ this.subAppId = subAppId;
}
public String getSubMchId() {
@@ -168,7 +168,7 @@ public class MerchantResult extends XmlResult {
@Override
public String toString() {
- return "appId=" + appId + ", mchId=" + mchId + ", subId=" + subId
+ return "appId=" + appId + ", mchId=" + mchId + ", subAppId=" + subAppId
+ ", subMchId=" + subMchId + ", nonceStr=" + nonceStr
+ ", sign=" + sign + ", deviceInfo=" + deviceInfo + ", recall="
+ getFormatRecall() + ", " + super.toString();
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/TradeType.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/TradeType.java
index 27295eca..b5b413cc 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/TradeType.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/type/TradeType.java
@@ -2,7 +2,7 @@ package com.foxinmy.weixin4j.type;
/**
* 微信支付类型
- *
+ *
* @className TradeType
* @author jinyu(foxinmy@gmail.com)
* @date 2014年10月21日
@@ -10,39 +10,24 @@ package com.foxinmy.weixin4j.type;
* @see
*/
public enum TradeType {
- /**
- * JS支付
- */
- JSAPI(true),
- /**
- * 刷卡支付:不需要设置TradeType参数
- */
- MICROPAY(false),
- /**
- * 扫码支付
- */
- NATIVE(true),
- /**
- * APP支付
- */
- APP(true),
- /**
- * WAP支付
- */
- WAP(true);
-
- boolean isPayRequestParameter;
-
- private TradeType(boolean isPayRequestParameter) {
- this.isPayRequestParameter = isPayRequestParameter;
- }
-
- /**
- * 是否作为支付请求参数
- *
- * @return
- */
- public boolean isPayRequestParameter() {
- return isPayRequestParameter;
- }
+ /**
+ * JS支付
+ */
+ JSAPI,
+ /**
+ * 刷卡支付
+ */
+ MICROPAY,
+ /**
+ * 扫码支付
+ */
+ NATIVE,
+ /**
+ * APP支付
+ */
+ APP,
+ /**
+ * WAP支付
+ */
+ WAP;
}
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/PartyApi.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/PartyApi.java
index e07af40f..d1dc86f9 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/PartyApi.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/api/PartyApi.java
@@ -13,7 +13,7 @@ import com.foxinmy.weixin4j.token.TokenManager;
/**
* 部门API
- *
+ *
* @className PartyApi
* @author jinyu(foxinmy@gmail.com)
* @date 2014年11月18日
@@ -31,8 +31,8 @@ public class PartyApi extends QyApi {
/**
* 创建部门(根部门的parentid为1)
- *
- * @param depart
+ *
+ * @param party
* 部门对象
* @see com.foxinmy.weixin4j.qy.model.Party
* @see 标签名称,长度为1~64个字节,标签名不可与其他标签重名; 标签id,整型,
+ * 标签对象; 标签名称,长度限制为32个字(汉字或英文字母),标签名不可与其他标签重名。 标签id,整型,
* 指定此参数时新增的标签会生成对应的标签id,不指定时则以目前最大的id自增。
* @see
@@ -60,7 +60,7 @@ public class TagApi extends QyApi {
/**
* 更新标签(管理组必须是指定标签的创建者)
- *
+ *
* @param tag
* 标签信息
* @see
* 获取标签列表说明
@@ -119,7 +119,7 @@ public class TagApi extends QyApi {
/**
* 获取标签成员(管理组须拥有“获取标签成员”的接口权限,返回列表仅包含管理组管辖范围的成员。)
- *
+ *
* @param tagId
* 标签ID
* @see com.foxinmy.weixin4j.qy.model.Contacts
@@ -147,7 +147,7 @@ public class TagApi extends QyApi {
/**
* 新增标签成员(标签对管理组可见且未加锁,成员属于管理组管辖范围。)
- *
+ *
* @param tagId
* 标签ID
* @param userIds
@@ -169,7 +169,7 @@ public class TagApi extends QyApi {
/**
* 删除标签成员(标签对管理组未加锁,成员属于管理组管辖范围)
- *
+ *
* @param tagId
* 标签ID
* @param userIds
diff --git a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/Party.java b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/Party.java
index 4b25bddf..6c69f6a3 100644
--- a/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/Party.java
+++ b/weixin4j-qy/src/main/java/com/foxinmy/weixin4j/qy/model/Party.java
@@ -6,7 +6,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* 部门对象
- *
+ *
* @className Party
* @author jinyu(foxinmy@gmail.com)
* @date 2014年11月18日
@@ -22,7 +22,7 @@ public class Party implements Serializable {
*/
private int id;
/**
- * 部门名称。长度限制为1~64个字符
+ * 部门名称。长度限制为32个字(汉字或英文字母),字符不能包括\:*?"<>|
*/
private String name;
/**