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.微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交 - * ,要采用原来的退款单号。总退款金额不能超过用户实际支付金额。 - *

+ * + *
    + *
  1. 交易时间超过一年的订单无法提交退款;
  2. + *
  3. + * 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。 + * 申请退款总金额不能超过订单金额。 + * 一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号。 + *
  4. + *
  5. + * 请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次。 + * 错误或无效请求频率限制:6qps,即每秒钟异常或错误的退款申请请求不超过6次。 + *
  6. + *
  7. 每个支付订单的部分退款次数不能超过50次。
  8. + *
* * @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