결제
결제
결제 흐름
- 결제를 생성
- 결제 성공 및 실패 시, 결제 엔티티 값 수정
- 결제 성공 및 실패 시, 히스토리 내역 남기기
API
결제 생성
1
POST /v1/payments
| Parameter | 설명 |
|---|---|
| orderKey | 주문 키 |
| useOwnedCouponId | 사용한 쿠폰 |
| usePoint | 사용한 포인트 |
주문 키에 해당하는주문조회- 해당
상품에 사용 가능한쿠폰조회 포인트잔액 조회쿠폰및포인트차감 후결제 금액계산주문이READY상태인지 체크결제 상태READY로결제 엔티티생성 및 저장
결제 성공
1
POST /v1/payments/callback/success
| Parameter | |
|---|---|
| orderId | 주문 키(PG사 측 스펙) |
| paymentKey | 결제 키(PG사 측 스펙) |
| amount | 금액 |
주문 키및주문 상태가CREATED인주문조회주문에 해당하는결제조회결제 유저와주문 유저가 동일한지 체크결제 상태가READY인지 체크결제 금액과 파라미터로 받은금액이 일치하는지 체크- 결제 외부 API 호출
결제 엔티티상태 값 변경주문 엔티티PAID로 상태 변경- 사용한
쿠폰이 있다면쿠폰 사용 완료로 상태 값 변경 포인트차감포인트적립결제 히스토리 테이블에성공 내역저장
결제 실패
1
POST /v1/payments/callback/fail
| Parameter | 설명 |
|---|---|
| orderId | 주문 키(PG사 측 스펙) |
| code | 실패 코드(PG사 측 스펙) |
| message | 메세지 |
주문 키및주문 상태가CREATED인주문조회주문에 해당하는결제조회결제 히스토리 테이블에 실패 내역 저장
개념도
- 결제는 주문을 의존
- 결제는 결제 시, 포인트와 쿠폰을 사용하므로 포인트와 쿠폰도 의존
TransactionHistory에 결제 성공 및 실패에 대한 내역 저장
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

