| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 订单退款 只能退款一次 |
| | | * |
| | | * @param orderId |
| | | * @param refundFee |
| | | * @param callbackUrl |
| | | * @return |
| | | */ |
| | | public boolean refundOrder(String orderId, String refundSn, Integer refundFee, String callbackUrl) { |
| | | WxPayRefundRequest refundRequest = new WxPayRefundRequest(); |
| | | refundRequest.setOutTradeNo(orderId); |
| | | refundRequest.setOutRefundNo(refundSn); |
| | | refundRequest.setRefundFee(refundFee); |
| | | refundRequest.setTotalFee(refundFee); |
| | | refundRequest.setNotifyUrl(callbackUrl); |
| | | try { |
| | | WxPayRefundResult wxPayRefundResult = wxPayService.refund(refundRequest); |
| | | if (WxPayConstants.ResultCode.SUCCESS.equals(wxPayRefundResult.getResultCode())) { |
| | | return true; |
| | | } else { |
| | | log.error("微信退款失败,{}", wxPayRefundResult.getErrCodeDes()); |
| | | throw new BusinessException("微信退款失败," + wxPayRefundResult.getErrCodeDes()); |
| | | } |
| | | } catch (WxPayException e) { |
| | | log.error("微信退款失败,{}", e.getErrCodeDes()); |
| | | throw new BusinessException("微信退款失败," + e.getErrCodeDes()); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 退款 |