
결제 요청 API 시나리오
1. 프런트에서 결제하기 버튼 클릭
2. 결제 요청이 토스로 날아감, 이때 결제테이블의 결제 상태가 Pending으로 변경됨.
이후 성공 or 실패에 따라서 결제 상태를 Succeed, RequestFailed로 변경
결제 승인 API 시나리오
1. 결제 상태가 Succeed인 경우 paymentKey와 함께 토스서버로 보냄 (외부API호출)
2. 토스서버에서 확인, 잔액 수정 및 백엔드서버로 리다이렉트
3. 백엔드 서버에서 결제 상태를 Completed로 변경
그러면 결제 상태값이 Completed인 온전한 결제 테이블이 생성됩니다
결제 승인이 실패하면 결제 상태값을 승인실패로 변경 (마땅한 상태값 작명이 안 떠오르네요)
유저 정보 필요시)
주문 테이블에서 유저의 정보를 가져와서 확인
총 가격 필요시)
주문 품목테이블에서 가격(price) 칼럼 조회
=> 제 기억상, 상품을 담을 때마다 주문 품목의 가격 칼럼을 update 하는 걸로 기억합니다.
그래서 주문 테이블의 가격 칼럼이 아마 총 가격을 뜻했던걸로 기억합니다.
결론)
1. 결제 요청 API와 결제 승인 API로 분리하기
2. 컬럼 추가는 불필요하다 생각
위 시나리오의 문제점)
1. 결제 실패시, 주문이 생성되지 않아 주문품목 테이블에서 유저의 정보를 가져올 수 없다.
2. 가격도 마찬가지
해결방안)
1. 주문 생성 시점을 변경하기
- 장바구니 화면에서 결제버튼 클릭 => 주문 생성
'내배캠' 카테고리의 다른 글
| [내일배움캠프] 25일 차 TIL - CodeRabbit 코드 리뷰 (0) | 2026.03.06 |
|---|---|
| [내일배움캠프] 24일 차 TIL 클린 아키텍처와 DDD (0) | 2026.03.05 |
| [내일배움캠프] 22일 차 TIL Liquibase (0) | 2026.03.03 |
| [내일배움캠프] 21일 차 TIL QueryDSL 적용 방법 (0) | 2026.03.02 |
| [내일배움캠프] 20일 차 TIL Github Rules, Code Convention (0) | 2026.03.01 |