package com.ai.da.controller; import com.ai.da.common.response.Response; import com.ai.da.service.StripeService; import com.paypal.http.HttpResponse; import com.paypal.payments.Refund; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @Api(tags = "Stripe模块") @Slf4j @RestController @RequestMapping("/api/stripe") public class StripeController { @Resource private StripeService stripeService; @ApiOperation("创建支付链接") @PostMapping("/createOrder/{amount}") public Response pay(@PathVariable Integer amount, @RequestParam String returnUrl) { return Response.success(stripeService.pay(amount, returnUrl)); } @ApiOperation("支付通知") @PostMapping("/trade/notify") public Response callback(HttpServletRequest request) throws ServletException, IOException { Boolean result = stripeService.notify(request); if (result){ return Response.success(200,"success"); }else { return Response.fail(400,"failure"); } } @ApiOperation("申请退款") @PostMapping("/trade/refund/{orderNo}/{reason}") public Response> refund(@PathVariable String orderNo, @PathVariable String reason) throws IOException { String response = stripeService.refund(null,orderNo,reason); if (response.equals("退款成功")){ return Response.success(); }else { return Response.fail("Request for refund failed."); } } }