@@ -78,9 +78,7 @@ public class ProfitSharingRequest extends BaseWxPayRequest { | |||
@Override | |||
protected void checkConstraints() throws WxPayException { | |||
/** | |||
* 目前仅支持HMAC-SHA256 | |||
*/ | |||
// 目前仅支持HMAC-SHA256. | |||
this.setSignType(WxPayConstants.SignType.HMAC_SHA256); | |||
} | |||
} |
@@ -3,9 +3,6 @@ package com.github.binarywang.wxpay.service; | |||
import com.github.binarywang.wxpay.bean.profitsharing.*; | |||
import com.github.binarywang.wxpay.exception.WxPayException; | |||
import com.github.binarywang.wxpay.bean.profitsharing.ProfitSharingResult; | |||
import com.github.binarywang.wxpay.bean.profitsharing.ProfitSharingRequest; | |||
/** | |||
* 注意:微信最高分账比例为30% | |||
* 可多次分账到同一个人,但是依然不能超过30% | |||
@@ -22,11 +19,11 @@ public interface ProfitSharingService { | |||
* 接口链接:https://api.mch.weixin.qq.com/secapi/pay/profitsharing | |||
* </pre> | |||
* | |||
* @param profitsharingRequest | |||
* @return | |||
* @param request . | |||
* @return . | |||
* @throws WxPayException the wx pay exception | |||
*/ | |||
ProfitSharingResult profitsharing(ProfitSharingRequest profitsharingRequest) throws WxPayException; | |||
ProfitSharingResult profitSharing(ProfitSharingRequest request) throws WxPayException; | |||
/** | |||
* <pre> | |||
@@ -38,11 +35,11 @@ public interface ProfitSharingService { | |||
* 文档详见: https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_6&index=2 | |||
* 接口链接:https://api.mch.weixin.qq.com/secapi/pay/multiprofitsharing | |||
* | |||
* @param profitsharingRequest | |||
* @return | |||
* @param request . | |||
* @return . | |||
* @throws WxPayException the wx pay exception | |||
*/ | |||
ProfitSharingResult multiprofitsharing(ProfitSharingRequest profitsharingRequest) throws WxPayException; | |||
ProfitSharingResult multiProfitSharing(ProfitSharingRequest request) throws WxPayException; | |||
/** | |||
* <pre> | |||
@@ -54,11 +51,11 @@ public interface ProfitSharingService { | |||
* 接口链接:https://api.mch.weixin.qq.com/secapi/pay/profitsharingfinish | |||
* </pre> | |||
* | |||
* @param profitSharingFinishRequest | |||
* @return | |||
* @param request . | |||
* @return . | |||
* @throws WxPayException the wx pay exception | |||
*/ | |||
ProfitSharingResult profitsharingfinish(ProfitSharingFinishRequest profitSharingFinishRequest) throws WxPayException; | |||
ProfitSharingResult profitSharingFinish(ProfitSharingFinishRequest request) throws WxPayException; | |||
/** | |||
* <pre> | |||
@@ -67,11 +64,11 @@ public interface ProfitSharingService { | |||
* 接口链接:https://api.mch.weixin.qq.com/pay/profitsharingaddreceiver | |||
* </pre> | |||
* | |||
* @param profitSharingReceiverRequest | |||
* @return | |||
* @throws WxPayException | |||
* @param request . | |||
* @return . | |||
* @throws WxPayException . | |||
*/ | |||
ProfitSharingReceiverResult addReceiver(ProfitSharingReceiverRequest profitSharingReceiverRequest) throws WxPayException; | |||
ProfitSharingReceiverResult addReceiver(ProfitSharingReceiverRequest request) throws WxPayException; | |||
/** | |||
* <pre> | |||
@@ -80,11 +77,11 @@ public interface ProfitSharingService { | |||
* 接口链接:https://api.mch.weixin.qq.com/pay/profitsharingremovereceiver | |||
* </pre> | |||
* | |||
* @param profitSharingReceiverRequest | |||
* @return | |||
* @throws WxPayException | |||
* @param request . | |||
* @return . | |||
* @throws WxPayException . | |||
*/ | |||
ProfitSharingReceiverResult removeReceiver(ProfitSharingReceiverRequest profitSharingReceiverRequest) throws WxPayException; | |||
ProfitSharingReceiverResult removeReceiver(ProfitSharingReceiverRequest request) throws WxPayException; | |||
/** | |||
* TODO:微信返回签名失败 | |||
@@ -93,11 +90,11 @@ public interface ProfitSharingService { | |||
* 接口频率:80QPS | |||
* </pre> | |||
* | |||
* @param profitSharingReceiverRequest | |||
* @return | |||
* @throws WxPayException | |||
* @param request . | |||
* @return . | |||
* @throws WxPayException . | |||
*/ | |||
ProfitSharingQueryResult profitsharingQuery(ProfitSharingQueryRequest profitSharingReceiverRequest) throws WxPayException; | |||
ProfitSharingQueryResult profitSharingQuery(ProfitSharingQueryRequest request) throws WxPayException; | |||
/** | |||
* TODO:这个接口用真实的数据返回【参数不正确】,我对比官方文档除了缺少sub_mch_id,和sub_appid之外其他相同,当我随便填了一个商户id的时候,提示【回退方没有开通分账回退功能】 | |||
@@ -111,11 +108,11 @@ public interface ProfitSharingService { | |||
* 接口链接:https://api.mch.weixin.qq.com/secapi/pay/profitsharingreturn | |||
* </pre> | |||
* | |||
* @param profitSharingReturnRequest | |||
* @return | |||
* @throws WxPayException | |||
* @param returnRequest . | |||
* @return . | |||
* @throws WxPayException . | |||
*/ | |||
ProfitSharingReturnResult profitsharingReturn(ProfitSharingReturnRequest profitSharingReturnRequest) throws WxPayException; | |||
ProfitSharingReturnResult profitSharingReturn(ProfitSharingReturnRequest returnRequest) throws WxPayException; | |||
/** | |||
* TODO:因profitsharingReturn接口无法使用,没有办法对这里进行真实的测试,模拟数据这里返回【记录不存在】 | |||
@@ -127,10 +124,11 @@ public interface ProfitSharingService { | |||
* 接口链接:https://api.mch.weixin.qq.com/pay/profitsharingreturnquery | |||
* </pre> | |||
* | |||
* @param profitSharingReturnQueryRequest | |||
* @return | |||
* @throws WxPayException | |||
* @param queryRequest . | |||
* @return . | |||
* @throws WxPayException . | |||
*/ | |||
ProfitSharingReturnResult profitsharingReturnQuery(ProfitSharingReturnQueryRequest profitSharingReturnQueryRequest) throws WxPayException; | |||
ProfitSharingReturnResult profitSharingReturnQuery(ProfitSharingReturnQueryRequest queryRequest) | |||
throws WxPayException; | |||
} |
@@ -20,7 +20,7 @@ public class ProfitSharingServiceImpl implements ProfitSharingService { | |||
} | |||
@Override | |||
public ProfitSharingResult profitsharing(ProfitSharingRequest request) throws WxPayException { | |||
public ProfitSharingResult profitSharing(ProfitSharingRequest request) throws WxPayException { | |||
request.checkAndSign(this.payService.getConfig()); | |||
String url = this.payService.getPayBaseUrl() + "/secapi/pay/profitsharing"; | |||
@@ -31,7 +31,7 @@ public class ProfitSharingServiceImpl implements ProfitSharingService { | |||
} | |||
@Override | |||
public ProfitSharingResult multiprofitsharing(ProfitSharingRequest request) throws WxPayException { | |||
public ProfitSharingResult multiProfitSharing(ProfitSharingRequest request) throws WxPayException { | |||
request.checkAndSign(this.payService.getConfig()); | |||
String url = this.payService.getPayBaseUrl() + "/secapi/pay/multiprofitsharing"; | |||
@@ -42,7 +42,7 @@ public class ProfitSharingServiceImpl implements ProfitSharingService { | |||
} | |||
@Override | |||
public ProfitSharingResult profitsharingfinish(ProfitSharingFinishRequest request) throws WxPayException { | |||
public ProfitSharingResult profitSharingFinish(ProfitSharingFinishRequest request) throws WxPayException { | |||
request.checkAndSign(this.payService.getConfig()); | |||
String url = this.payService.getPayBaseUrl() + "/secapi/pay/profitsharingfinish"; | |||
@@ -75,7 +75,7 @@ public class ProfitSharingServiceImpl implements ProfitSharingService { | |||
} | |||
@Override | |||
public ProfitSharingQueryResult profitsharingQuery(ProfitSharingQueryRequest request) throws WxPayException { | |||
public ProfitSharingQueryResult profitSharingQuery(ProfitSharingQueryRequest request) throws WxPayException { | |||
if (true) throw new WxPayException("暂不支持,微信一直返回签名失败"); | |||
request.checkAndSign(this.payService.getConfig()); | |||
String url = this.payService.getPayBaseUrl() + "/pay/profitsharingquery"; | |||
@@ -87,24 +87,24 @@ public class ProfitSharingServiceImpl implements ProfitSharingService { | |||
} | |||
@Override | |||
public ProfitSharingReturnResult profitsharingReturn(ProfitSharingReturnRequest request) throws WxPayException { | |||
request.checkAndSign(this.payService.getConfig()); | |||
public ProfitSharingReturnResult profitSharingReturn(ProfitSharingReturnRequest returnRequest) throws WxPayException { | |||
returnRequest.checkAndSign(this.payService.getConfig()); | |||
String url = this.payService.getPayBaseUrl() + "/secapi/pay/profitsharingreturn"; | |||
String responseContent = this.payService.post(url, request.toXML(), true); | |||
String responseContent = this.payService.post(url, returnRequest.toXML(), true); | |||
ProfitSharingReturnResult result = BaseWxPayResult.fromXML(responseContent, ProfitSharingReturnResult.class); | |||
result.checkResult(this.payService, request.getSignType(), true); | |||
result.checkResult(this.payService, returnRequest.getSignType(), true); | |||
return result; | |||
} | |||
@Override | |||
public ProfitSharingReturnResult profitsharingReturnQuery(ProfitSharingReturnQueryRequest request) throws WxPayException { | |||
request.checkAndSign(this.payService.getConfig()); | |||
public ProfitSharingReturnResult profitSharingReturnQuery(ProfitSharingReturnQueryRequest queryRequest) throws WxPayException { | |||
queryRequest.checkAndSign(this.payService.getConfig()); | |||
String url = this.payService.getPayBaseUrl() + "/pay/profitsharingreturnquery"; | |||
String responseContent = this.payService.post(url, request.toXML(), true); | |||
String responseContent = this.payService.post(url, queryRequest.toXML(), true); | |||
ProfitSharingReturnResult result = BaseWxPayResult.fromXML(responseContent, ProfitSharingReturnResult.class); | |||
result.checkResult(this.payService, request.getSignType(), true); | |||
result.checkResult(this.payService, queryRequest.getSignType(), true); | |||
return result; | |||
} | |||
} |
@@ -36,7 +36,7 @@ public class ProfitSharingServiceImplTest { | |||
.transactionId("4200000431201910234736634272") | |||
.receivers(instance.toJSONString()) | |||
.build(); | |||
this.logger.info(this.payService.getProfitSharingService().profitsharing(request).toString()); | |||
this.logger.info(this.payService.getProfitSharingService().profitSharing(request).toString()); | |||
} | |||
@Test | |||
@@ -52,7 +52,7 @@ public class ProfitSharingServiceImplTest { | |||
.transactionId("4200000448201910238249687345")//order_id=30000102922019102310821824010 | |||
.receivers(instance.toJSONString()) | |||
.build(); | |||
this.logger.info(this.payService.getProfitSharingService().multiprofitsharing(request).toString()); | |||
this.logger.info(this.payService.getProfitSharingService().multiProfitSharing(request).toString()); | |||
} | |||
@Test | |||
@@ -63,7 +63,7 @@ public class ProfitSharingServiceImplTest { | |||
.transactionId("4200000441201910238267278073") | |||
.description("分账完成") | |||
.build(); | |||
this.logger.info(this.payService.getProfitSharingService().profitsharingfinish(request).toString()); | |||
this.logger.info(this.payService.getProfitSharingService().profitSharingFinish(request).toString()); | |||
} | |||
@Test | |||
@@ -98,7 +98,7 @@ public class ProfitSharingServiceImplTest { | |||
.outOrderNo("20191023112023031060677") | |||
.transactionId("4200000431201910234736634272") | |||
.build(); | |||
ProfitSharingQueryResult result = this.payService.getProfitSharingService().profitsharingQuery(request); | |||
ProfitSharingQueryResult result = this.payService.getProfitSharingService().profitSharingQuery(request); | |||
this.logger.info(result.formatReceivers().toString()); | |||
this.logger.info(result.toString()); | |||
} | |||
@@ -114,7 +114,7 @@ public class ProfitSharingServiceImplTest { | |||
.returnAmount(2) | |||
.description("用户退款") | |||
.build(); | |||
this.logger.info(this.payService.getProfitSharingService().profitsharingReturn(request).toString()); | |||
this.logger.info(this.payService.getProfitSharingService().profitSharingReturn(request).toString()); | |||
} | |||
@Test | |||
@@ -124,7 +124,7 @@ public class ProfitSharingServiceImplTest { | |||
.outOrderNo("20191023154723316420060") | |||
.outReturnNo("R2019102315") | |||
.build(); | |||
this.logger.info(this.payService.getProfitSharingService().profitsharingReturnQuery(request).toString()); | |||
this.logger.info(this.payService.getProfitSharingService().profitSharingReturnQuery(request).toString()); | |||
} | |||