🆕 #1978 【微信支付】电商支付通增加查询分账回退结果的接口方法

This commit is contained in:
ray Wang
2021-01-24 10:47:59 +08:00
committed by GitHub
parent ce62d1c01b
commit 13b484a071
3 changed files with 107 additions and 0 deletions

View File

@@ -287,6 +287,18 @@ public interface EcommerceService {
*/
ReturnOrdersResult returnOrders(ReturnOrdersRequest request) throws WxPayException;
/**
* <pre>
* 查询分账回退API
* 文档地址: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/profitsharing/chapter3_3.shtml
* </pre>
*
* @param request 查询分账回退请求
* @return 返回数据 return orders result
* @throws WxPayException the wx pay exception
*/
ReturnOrdersResult queryReturnOrders(ReturnOrdersQueryRequest request) throws WxPayException;
/**
* <pre>
* 完结分账API

View File

@@ -12,6 +12,7 @@ import com.github.binarywang.wxpay.v3.util.RsaCryptoUtil;
import com.google.common.base.CaseFormat;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.apache.commons.lang3.StringUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.beanutils.BeanMap;
@@ -224,6 +225,24 @@ public class EcommerceServiceImpl implements EcommerceService {
return GSON.fromJson(response, ReturnOrdersResult.class);
}
@Override
public ReturnOrdersResult queryReturnOrders(ReturnOrdersQueryRequest request) throws WxPayException {
String subMchid = request.getSubMchid();
String orderId = request.getOrderId();
String outOrderNo = request.getOutOrderNo();
String outReturnNo = request.getOutReturnNo();
String url = null;
if (StringUtils.isBlank(orderId)) {
url = String.format("%s/v3/ecommerce/profitsharing/returnorders?sub_mchid=%s&out_order_no=%s&out_return_no=%s",
this.payService.getPayBaseUrl(), subMchid, outOrderNo, outReturnNo);
} else {
url = String.format("%s/v3/ecommerce/profitsharing/returnorders?sub_mchid=%s&order_id=%s&out_return_no=%s",
this.payService.getPayBaseUrl(), subMchid, orderId, outReturnNo);
}
String response = this.payService.getV3(URI.create(url));
return GSON.fromJson(response, ReturnOrdersResult.class);
}
@Override
public ProfitSharingResult finishOrder(FinishOrderRequest request) throws WxPayException {
String url = String.format("%s/v3/ecommerce/profitsharing/finish-order", this.payService.getPayBaseUrl());