취소
취소
일반적인 취소 흐름
주문 관점 취소 흐름
요구사항 더 캐묻기
- 결제 일로 부터 얼마나 흐른 뒤까지 취소할 수 있는지?
- 취소하면 바로 환불이 되는건지? 관리자가 승인 해줘야 하는건지?
- 쿠폰이나 포인트도 복구가 되는건지?
구현 시, 포인트
- 결제 테이블은 성공 값으로 그대로 두고 취소 테이블을 별도로 만들어 관리
- 부분 취소를 여러 번 하더라도 결제는 업데이트가 일어나지 않고 취소 테이블만 행이 추가 되는 식으로 관리할 수 있음
API
취소
1
POST /v1/cancel
| Parameter | 설명 |
|---|---|
| orderKey | 주문 키 |
주문 키및주문 상태가PAID인주문조회주문 유저와현재 유저가 일치한지 체크주문에 해당하는결제조회결제 상태가SUCCESS인지 체크- 결제 취소 외부 API 호출
주문 엔티티상태 취소로 변경- 사용한
쿠폰이 있다면 다시사용 가능 상태로 변경 - 사용한
포인트다시 적립 - 지급한
포인트차감 취소 엔티티에 저장결제 히스토리 테이블에 취소 내역 저장
개념도
- 취소는 주문을 의존
- 취소는 쿠폰과 포인트를 되돌려야 하므로 쿠폰과 포인트에 의존
- 취소는 결제 데이터 기반으로 취소하므로 결제에 의존
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.


