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 0b20a60a..e852eff6 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
@@ -459,15 +459,25 @@ public class PayApi extends MchApi {
/**
* 申请退款(请求需要双向证书)
+ *
*
* 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,
* 按照退款规则将支付款按原路退到买家帐号上。
*
- *
- * 1.交易时间超过半年的订单无法提交退款;
- * 2.微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交
- * ,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。
- *
+ *
+ *
+ * - 交易时间超过一年的订单无法提交退款;
+ * -
+ * 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。
+ * 申请退款总金额不能超过订单金额。
+ * 一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号。
+ *
+ * -
+ * 请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次。
+ * 错误或无效请求频率限制:6qps,即每秒钟异常或错误的退款申请请求不超过6次。
+ *
+ * - 每个支付订单的部分退款次数不能超过50次。
+ *
*
* @param idQuery
* 商户系统内部的订单号, transaction_id 、 out_trade_no 二选一,如果同时存在优先级:
@@ -537,7 +547,7 @@ public class PayApi extends MchApi {
* 商户系统内部的退款单号,商 户系统内部唯一,同一退款单号多次请求只退一笔
* @param totalFee
* 订单总金额,单位为元
- * @see {@link #applyRefund(IdQuery, String, double, double, CurrencyType, String, String, RefundAccountType)}
+ * @see #applyRefund(IdQuery, String, double, double, CurrencyType, String, String, RefundAccountType)
*/
public RefundResult applyRefund(IdQuery idQuery, String outRefundNo,
double totalFee) throws WeixinException {
diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java
index b3a7363a..e12ea731 100644
--- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java
+++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/payment/WeixinPayProxy.java
@@ -1,6 +1,5 @@
package com.foxinmy.weixin4j.payment;
-import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
@@ -434,42 +433,7 @@ public class WeixinPayProxy {
}
/**
- * 申请退款(请求需要双向证书)
- *
- * 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,
- * 按照退款规则将支付款按原路退到买家帐号上。
- *
- *
- * 1.交易时间超过半年的订单无法提交退款;
- * 2.微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交
- * ,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。
- *
- *
- * @param idQuery
- * 商户系统内部的订单号, transaction_id 、 out_trade_no 二选一,如果同时存在优先级:
- * transaction_id> out_trade_no
- * @param outRefundNo
- * 商户系统内部的退款单号,商 户系统内部唯一,同一退款单号多次请求只退一笔
- * @param totalFee
- * 订单总金额,单位为元
- * @param refundFee
- * 退款总金额,单位为元,可以做部分退款
- * @param refundFeeType
- * 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY
- * @param opUserId
- * 操作员帐号, 默认为商户号
- * @param refundDesc
- * 退款原因,若商户传入,会在下发给用户的退款消息中体现退款原因
- * @param refundAccountType
- * 退款资金来源,默认使用未结算资金退款:REFUND_SOURCE_UNSETTLED_FUNDS
- * @return 退款申请结果
- * @see com.foxinmy.weixin4j.payment.mch.RefundResult
- * @see com.foxinmy.weixin4j.api.PayApi
- * @see
- * 申请退款API
- * @since V3
- * @throws WeixinException
+ * @see PayApi#applyRefund(IdQuery, String, double, double, CurrencyType, String, String, RefundAccountType)
*/
public RefundResult applyRefund(IdQuery idQuery, String outRefundNo,
double totalFee, double refundFee, CurrencyType refundFeeType,
@@ -480,11 +444,7 @@ public class WeixinPayProxy {
}
/**
- * 退款申请(全额退款)
- *
- * @throws IOException
- *
- * @see {@link #applyRefund(IdQuery, String, double, double, String,CurrencyType)}
+ * @see PayApi#applyRefund(IdQuery, String, double)
*/
public RefundResult applyRefund(IdQuery idQuery, String outRefundNo,
double totalFee) throws WeixinException {
diff --git a/weixin4j-serverX/.project b/weixin4j-serverX/.project
deleted file mode 100644
index f307b322..00000000
--- a/weixin4j-serverX/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- weixin4j-serverX
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/WeixinProxy.java b/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/WXAFacade.java
similarity index 85%
rename from weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/WeixinProxy.java
rename to weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/WXAFacade.java
index 256e0221..483abe1e 100644
--- a/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/WeixinProxy.java
+++ b/weixin4j-wxa/src/main/java/com/foxinmy/weixin4j/wxa/WXAFacade.java
@@ -18,7 +18,7 @@ import com.foxinmy.weixin4j.wxa.api.TemplateMessageApi;
*
* @since 1.8
*/
-public class WeixinProxy {
+public class WXAFacade {
private final LoginApi loginApi;
private final QrCodeApi qrCodeApi;
@@ -26,7 +26,12 @@ public class WeixinProxy {
private final TemplateMessageApi templateMessageApi;
private final CustomMessageApi customMessageApi;
- public WeixinProxy(
+ /**
+ * Constructs {@link WXAFacade} using {@link FileCacheStorager}.
+ *
+ * @param weixinAccount the {@link WeixinAccount}.
+ */
+ public WXAFacade(
WeixinAccount weixinAccount
) {
this(
@@ -35,7 +40,13 @@ public class WeixinProxy {
);
}
- public WeixinProxy(
+ /**
+ * Constructs {@link WXAFacade} using specified {@link CacheStorager}.
+ *
+ * @param weixinAccount the {@link WeixinAccount}.
+ * @param cacheStorager the {@link CacheStorager}.
+ */
+ public WXAFacade(
WeixinAccount weixinAccount,
CacheStorager cacheStorager
) {
@@ -46,7 +57,7 @@ public class WeixinProxy {
);
}
- private WeixinProxy(
+ private WXAFacade(
WeixinAccount weixinAccount,
TokenCreator tokenCreator,
CacheStorager cacheStorager