PortOne 2

TIL_장바구니 비움과 주문 내역 저장

목적 결제 시스템에서 상품이 성공적으로 결제된 후, 장바구니는 비워주고 결제 내역을 따로 기록해 두려고 함 가능한 방법들 1) 해당 장바구니의 DB 값을 비우고, 같은 내용을 order이라는 entity로 이동하여 저장CartItem(장바구니) entity의 값 중 status(상태)가 ‘paid’일 경우, 해당 user의 장바구니 값들을 for문으로 하나 씩 가져와서 OrderItem(결제 내역) entity에 저장 2) 1)의 내용과 같지만 추가적으로 ‘transaction.atomic()’으로 감싸주어 어떠한 예외가 발생하게 된다면 rollback을 하고, 예외가 발생하지 않는다면 커밋을 하도록 함 선택한 방법 2)의 ‘transaction.atomic()’ 방법을 선택하여 데이터베이스 작업이 안전..

TIL_PortOne을 이용한 결제 시스템

결제 시스템 구현 목적 웹 사이트 기능 중, AI 채팅을 요청하거나 AI Reading 부분에서 문제 생성을 할 때마다 chatGPT 토큰을 사용하게 된다. 일정량의 토큰 이상을 사용했을 경우 요금이 부과가 되는 점을 고려하여 웹사이트의 자체적인 코인을 만들어 chatGPT 토큰을 남용할 수 없도록 기획하였다. 기본으로 제공되는 코인이 부족해진다면 상품 페이지에서 원하는 만큼 코인을 구매할 수 있다. 결제 시스템 관련 페이지 상품 선택 페이지 장바구니 페이지 결제 창 PortOne 온라인에서 상품을 판매하기 위해서는 결제 서비스가 필요하다. 수많은 은행, 신용카드 회사와 직접 문의하여 결제 수단을 연동하고 발생하는 모든 거래 내역에 대한 승인을 요청할 수도 있지만 매우 복잡한 과정이 될 것이다. 그래서 ..

LIST