diff --git a/src/main/java/com/webtutsplus/ecommerce/controller/OrderController.java b/src/main/java/com/webtutsplus/ecommerce/controller/OrderController.java index f934620..1f86f74 100644 --- a/src/main/java/com/webtutsplus/ecommerce/controller/OrderController.java +++ b/src/main/java/com/webtutsplus/ecommerce/controller/OrderController.java @@ -18,6 +18,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import springfox.documentation.spring.web.json.Json; import java.util.*; @@ -45,14 +46,23 @@ public ResponseEntity> getAllOrders(@RequestParam("token") String to authenticationService.authenticate(token); int userId = authenticationService.getUser(token).getId(); List orderDtoList = orderService.listOrders(userId); - return new ResponseEntity>(orderDtoList,HttpStatus.OK); + return new ResponseEntity>(orderDtoList, HttpStatus.OK); } @PostMapping("/create-checkout-session") public ResponseEntity checkoutList(@RequestBody List checkoutItemDtoList) throws StripeException { Session session = orderService.createSession(checkoutItemDtoList); StripeResponse stripeResponse = new StripeResponse(session.getId()); - return new ResponseEntity(stripeResponse,HttpStatus.OK); + return new ResponseEntity(stripeResponse, HttpStatus.OK); + } + + @PostMapping("/checkout-single-product") + public ResponseEntity singleitemcheckout(@RequestBody CheckoutItemDto checkoutItemDto, @RequestParam String token) throws StripeException, NullPointerException { + int id = authenticationService.getUser(token).getId(); + checkoutItemDto.setUserId(id); + Session session = orderService.createSessionforSingleItem(checkoutItemDto); + StripeResponse stripeResponse = new StripeResponse(session.getId()); + return new ResponseEntity(stripeResponse, HttpStatus.OK); } } diff --git a/src/main/java/com/webtutsplus/ecommerce/controller/UserController.java b/src/main/java/com/webtutsplus/ecommerce/controller/UserController.java index 471ad27..73a2729 100644 --- a/src/main/java/com/webtutsplus/ecommerce/controller/UserController.java +++ b/src/main/java/com/webtutsplus/ecommerce/controller/UserController.java @@ -1,6 +1,5 @@ package com.webtutsplus.ecommerce.controller; - import com.webtutsplus.ecommerce.dto.*; import com.webtutsplus.ecommerce.dto.user.SignInDto; import com.webtutsplus.ecommerce.dto.user.SignInResponseDto; @@ -12,12 +11,14 @@ import com.webtutsplus.ecommerce.service.AuthenticationService; import com.webtutsplus.ecommerce.service.UserService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; -@RequestMapping("user") @CrossOrigin(origins = "*", allowedHeaders = "*") +@RequestMapping("user") @RestController public class UserController { @@ -46,7 +47,6 @@ public ResponseDto Signup(@RequestBody SignupDto signupDto) throws CustomExcepti public SignInResponseDto Signup(@RequestBody SignInDto signInDto) throws CustomException { return userService.signIn(signInDto); } - // @PostMapping("/updateUser") // public ResponseDto updateUser(@RequestParam("token") String token, @RequestBody UserUpdateDto userUpdateDto) { // authenticationService.authenticate(token); diff --git a/src/main/java/com/webtutsplus/ecommerce/service/OrderService.java b/src/main/java/com/webtutsplus/ecommerce/service/OrderService.java index 71ad91d..a3f5d03 100644 --- a/src/main/java/com/webtutsplus/ecommerce/service/OrderService.java +++ b/src/main/java/com/webtutsplus/ecommerce/service/OrderService.java @@ -119,6 +119,26 @@ public Session createSession(List checkoutItemDtoList) throws S .build(); return Session.create(params); } + public Session createSessionforSingleItem (CheckoutItemDto checkoutItemDto) throws StripeException { + + String successURL = baseURL + "payment/success"; + String failedURL = baseURL + "payment/failed"; + + Stripe.apiKey = apiKey; + + List sessionItemsList = new ArrayList(); + sessionItemsList.add(createSessionLineItem(checkoutItemDto)); + + SessionCreateParams params = SessionCreateParams.builder() + .addPaymentMethodType(SessionCreateParams.PaymentMethodType.CARD) + .setMode(SessionCreateParams.Mode.PAYMENT) + .setCancelUrl(failedURL) + .addAllLineItem(sessionItemsList) + .setSuccessUrl(successURL) + .build(); + return Session.create(params); + } + }