|
|
@@ -12,7 +12,11 @@ import com.dk.oauth.mapper.TradeMapper;
|
|
|
import com.dk.oauth.mapper.UserMapper;
|
|
|
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
|
|
|
import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
|
|
|
+import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
|
|
|
+import com.github.binarywang.wxpay.bean.request.WxPayRefundV3Request;
|
|
|
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
|
|
|
+import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
|
|
|
+import com.github.binarywang.wxpay.bean.result.WxPayRefundV3Result;
|
|
|
import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderResult;
|
|
|
import com.github.binarywang.wxpay.config.WxPayConfig;
|
|
|
import com.github.binarywang.wxpay.exception.WxPayException;
|
|
|
@@ -164,4 +168,33 @@ public class WechatPayService {
|
|
|
wxPayService.setConfig(payConfig);
|
|
|
return wxPayService;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 退款
|
|
|
+ */
|
|
|
+ private Boolean refundWechat(String orderNo, String transactionId, BigDecimal amount) {
|
|
|
+ try {
|
|
|
+ log.info("rebackPay=>" + orderNo, transactionId, amount);
|
|
|
+ WxPayService wxPayService = this.getWxPayService();
|
|
|
+ //微信支付-申请退款请求参数
|
|
|
+ WxPayRefundRequest orderRequest = new WxPayRefundRequest();
|
|
|
+ orderRequest.setOutTradeNo(transactionId);
|
|
|
+ orderRequest.setOutRefundNo(orderNo);
|
|
|
+ orderRequest.setRefundFee(BaseWxPayRequest.yuanToFen(amount.toString()));//元转成分
|
|
|
+
|
|
|
+// ShopOrderInfoDto shopOrderInfoDto = new ShopOrderInfoDto();
|
|
|
+// shopOrderInfoDto.setPaymentSn(orderInfo.getPaymentSn());
|
|
|
+// BigDecimal sumPayFee = shopOrderInfoMapper.selectSumPayFee(shopOrderInfoDto);
|
|
|
+// orderRequest.setTotalFee(BaseWxPayRequest.yuanToFen(sumPayFee.toString()));
|
|
|
+ orderRequest.setNotifyUrl(wechatPayConfigInfo.getRefundNotifyUrl() + "/" + wechatPayConfigInfo.getAppId());
|
|
|
+ //调用微信V3退款API
|
|
|
+ WxPayRefundResult result = wxPayService.refund(orderRequest);
|
|
|
+ log.info("微信退款结果:" + result.toString());
|
|
|
+ return true;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("微信退款结果-异常:" + e.getStackTrace());
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|