|
|
@@ -139,9 +139,11 @@ import com.fs.ybPay.domain.OrderResult;
|
|
|
import com.fs.ybPay.domain.RefundResult;
|
|
|
import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
|
|
|
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.WxPayRefundQueryResult;
|
|
|
import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
|
|
|
+import com.github.binarywang.wxpay.bean.result.WxPayRefundV3Result;
|
|
|
import com.github.binarywang.wxpay.config.WxPayConfig;
|
|
|
import com.github.binarywang.wxpay.exception.WxPayException;
|
|
|
import com.github.binarywang.wxpay.service.WxPayService;
|
|
|
@@ -2631,16 +2633,25 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
payConfig.setMchId(fsPayConfig.getWxMchId());
|
|
|
payConfig.setMchKey(fsPayConfig.getWxMchKey());
|
|
|
payConfig.setKeyPath(fsPayConfig.getKeyPath());
|
|
|
+ payConfig.setPublicKeyId(fsPayConfig.getPublicKeyId());
|
|
|
+ payConfig.setPublicKeyPath(fsPayConfig.getPublicKeyPath());
|
|
|
+ payConfig.setApiV3Key(fsPayConfig.getWxApiV3Key());
|
|
|
+ payConfig.setPrivateKeyPath(fsPayConfig.getPrivateKeyPath());
|
|
|
+ payConfig.setPrivateCertPath(fsPayConfig.getPrivateCertPath());
|
|
|
payConfig.setSubAppId(org.apache.commons.lang3.StringUtils.trimToNull(null));
|
|
|
payConfig.setSubMchId(org.apache.commons.lang3.StringUtils.trimToNull(null));
|
|
|
wxPayService.setConfig(payConfig);
|
|
|
- WxPayRefundRequest refundRequest = new WxPayRefundRequest();
|
|
|
+ WxPayRefundV3Request refundRequest = new WxPayRefundV3Request();
|
|
|
refundRequest.setOutTradeNo("store-" + payment.getPayCode());
|
|
|
refundRequest.setOutRefundNo("store-" + payment.getPayCode());
|
|
|
- refundRequest.setTotalFee(WxPayUnifiedOrderRequest.yuanToFen(payment.getPayMoney().toString()));
|
|
|
- refundRequest.setRefundFee(WxPayUnifiedOrderRequest.yuanToFen(payment.getPayMoney().toString()));
|
|
|
+ WxPayRefundV3Request.Amount amount = new WxPayRefundV3Request.Amount();
|
|
|
+ Integer money = WxPayUnifiedOrderRequest.yuanToFen(payment.getPayMoney().toString());
|
|
|
+ amount.setRefund(money);
|
|
|
+ amount.setTotal(money);
|
|
|
+ amount.setCurrency("CNY");
|
|
|
+ refundRequest.setAmount(amount);
|
|
|
try {
|
|
|
- WxPayRefundResult refundResult = wxPayService.refund(refundRequest);
|
|
|
+ WxPayRefundV3Result refundResult = wxPayService.refundV3(refundRequest);
|
|
|
WxPayRefundQueryResult refundQueryResult = wxPayService.refundQuery("", refundResult.getOutTradeNo(), refundResult.getOutRefundNo(), refundResult.getRefundId());
|
|
|
if (refundQueryResult != null && refundQueryResult.getResultCode().equals("SUCCESS")) {
|
|
|
FsStorePaymentScrm paymentMap = new FsStorePaymentScrm();
|
|
|
@@ -2653,6 +2664,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
return R.error("退款请求失败" + refundQueryResult.getErrCodeDes());
|
|
|
}
|
|
|
} catch (WxPayException e) {
|
|
|
+ e.printStackTrace();
|
|
|
return R.error("退款请求失败" + e.getErrCodeDes());
|
|
|
}
|
|
|
} else if (payment.getPayMode() != null && payment.getPayMode().equals("hf")) {
|
|
|
@@ -4712,6 +4724,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
storePayment.setBusinessOrderId(order.getId().toString());
|
|
|
storePayment.setOrderId(order.getId());
|
|
|
storePayment.setAppId(fsCoursePlaySourceConfig.getAppid() == null ? "" : fsCoursePlaySourceConfig.getAppid());
|
|
|
+ storePayment.setBusinessCode(order.getOrderCode()); // 设置订单编号,用于关联查询
|
|
|
fsStorePaymentMapper.insertFsStorePayment(storePayment);
|
|
|
|
|
|
if (merchantAppConfig.getMerchantType().equals("hf")){
|