토스 사용 시, 결제 시나리오

2026. 3. 4. 20:13·내배캠


결제 요청 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
'내배캠' 카테고리의 다른 글
  • [내일배움캠프] 25일 차 TIL - CodeRabbit 코드 리뷰
  • [내일배움캠프] 24일 차 TIL 클린 아키텍처와 DDD
  • [내일배움캠프] 22일 차 TIL Liquibase
  • [내일배움캠프] 21일 차 TIL QueryDSL 적용 방법
MvA
MvA
백엔드 개발자 김재현입니다. 주로 공부하면서 느낀점을 기록합니다.
  • MvA
    Man vs Ai
    MvA
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Java (6)
      • Python (8)
        • 딥러닝 (1)
        • 머신러닝 (7)
      • JavaScript (2)
      • 내배캠 (60)
      • 개인 프로젝트 (11)
      • 책 후기 (5)
      • 기타 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    아키텍처
    머신러닝
    Riot API
    배포
    딥러닝
    내일배움캠프
    TiL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
MvA
토스 사용 시, 결제 시나리오
상단으로

티스토리툴바