微信退款、退款回调

This commit is contained in:
songmingsong
2024-12-06 10:13:43 +08:00
parent 569c038072
commit 636f20fb29
11 changed files with 350 additions and 28 deletions

View File

@ -10,13 +10,14 @@ import com.ycwl.basic.utils.ApiResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.security.GeneralSecurityException;
/**
* @Author: songmingsong
@ -34,7 +35,8 @@ public class AppWxPayController {
@ApiOperation(value = "微信预支付", notes = "微信预支付")
@PostMapping("/createOrder")
public ApiResponse<WxPayRespVO> createOrder(@RequestBody @Validated WXPayOrderReqVO req) throws Exception {
@IgnoreToken
public ApiResponse<WxPayRespVO> createOrder(@RequestBody WXPayOrderReqVO req) throws Exception {
return ApiResponse.success(wxPayService.createOrder(req));
}
@ -45,4 +47,24 @@ public class AppWxPayController {
wxPayService.payNotify(request);
return ApiResponse.success(BizCodeEnum.REQUEST_OK);
}
@ApiOperation(value = "微信退款", notes = "微信退款")
@PostMapping("/refundOrder")
@IgnoreToken
public ApiResponse<?> refundOrder(@RequestBody String orderId) throws Exception {
return ApiResponse.buildResult(wxPayService.refundOrder(orderId) ?
BizCodeEnum.SUCCESS :
BizCodeEnum.ADVANCE_PAYMENT_REFUND_FAILED);
}
@ApiOperation(value = "微信支付回调", notes = "微信支付回调")
@PostMapping("/refundNotify")
@IgnoreToken
public ApiResponse<?> refundNotify(@RequestBody String refundResult) throws GeneralSecurityException, IOException {
return ApiResponse.buildResult(wxPayService.refundNotify(refundResult) ?
BizCodeEnum.SUCCESS :
BizCodeEnum.ADVANCE_PAYMENT_CALLBACK_REFUND_FAILED);
}
}