Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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.*;

Expand Down Expand Up @@ -45,14 +46,23 @@ public ResponseEntity<List<Order>> getAllOrders(@RequestParam("token") String to
authenticationService.authenticate(token);
int userId = authenticationService.getUser(token).getId();
List<Order> orderDtoList = orderService.listOrders(userId);
return new ResponseEntity<List<Order>>(orderDtoList,HttpStatus.OK);
return new ResponseEntity<List<Order>>(orderDtoList, HttpStatus.OK);
}

@PostMapping("/create-checkout-session")
public ResponseEntity<StripeResponse> checkoutList(@RequestBody List<CheckoutItemDto> checkoutItemDtoList) throws StripeException {
Session session = orderService.createSession(checkoutItemDtoList);
StripeResponse stripeResponse = new StripeResponse(session.getId());
return new ResponseEntity<StripeResponse>(stripeResponse,HttpStatus.OK);
return new ResponseEntity<StripeResponse>(stripeResponse, HttpStatus.OK);
}

@PostMapping("/checkout-single-product")
public ResponseEntity<StripeResponse> 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>(stripeResponse, HttpStatus.OK);
}

}
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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 {

Expand Down Expand Up @@ -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);
Expand Down
20 changes: 20 additions & 0 deletions src/main/java/com/webtutsplus/ecommerce/service/OrderService.java
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,26 @@ public Session createSession(List<CheckoutItemDto> 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<SessionCreateParams.LineItem> sessionItemsList = new ArrayList<SessionCreateParams.LineItem>();
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);
}

}