주문 완료
PROD-ORDER-DETAIL · /products/order/[orderNo]
기능
1
API 호출
0
가드레일
2
id 가 테스트 이름
구현 단계
5 / 5
개발 스펙
이 화면에서 할 수 있어야 하는 것 (3)
- 주문번호 · 상품 · 금액 · 결제수단을 확인한다.
- 무통장이면 입금 계좌와 안내를 본다.
- 카드 결제가 실패했으면 사유를 본다.
비즈니스 규칙 (2)
- 무통장 계좌는 기업은행 514-046901-04-011 (주)하이유.근거: _Env.php:400~402
- 무통장 주문은 입금 확인 전까지 ready 다.근거: 원본은 즉시 success 였지만 확인 UI 가 없었기 때문.
API (1)
| 메서드 | 경로 | 권한 | 모듈 · 설명 |
|---|---|---|---|
GET | /api/commerce/orders/{orderNo} | 공개 | 주문 상세. domains:commerce:commerce-web404 ORDER_NOT_FOUND |
가드레일 (2) — id 가 곧 테스트 이름이다
| id | 반드시 만족해야 하는 것 | 등급 |
|---|---|---|
order-bank-stays-ready | 무통장 주문은 생성 직후 state=ready 여야 한다. 입금 전에 success 가 되면 안 된다. | critical |
order-no-entitlement-before-payment | 주문만 만들었을 때 수강권(member.pay_* )이 열리면 안 된다. | critical |
구현 계획 (5/5)
- ●Order · OrderState · Entitlement · 포트 2개
commerce-domain - ●PlaceOrderUseCase · AdminOrderUseCase
commerce-app - ●OrderRepositoryAdapter · NicepayGateway
commerce-infrastructure - ●/api/commerce/orders/{orderNo} 구현
commerce-web - ●Next.js 를 BFF 로 전환 — Prisma 직접 접근 제거
wvctesol
서버 사이드 구현 계획 — 자바 객체별 요구사항 (6/6)
| 객체 | 모듈 | 책임 · 지켜야 할 것 |
|---|---|---|
● PlaceOrderUseCaseservice | commerce-app | 주문 생성.
|
● AdminOrderUseCaseservice | commerce-app | 입금확인 · 환불.
|
● Entitlementclass | commerce-domain | 상품 코드 → 수강권 플래그 매핑.
|
● OrderStateenum | commerce-domain | 주문 상태.
|
● NicepayGatewayclass | commerce-infrastructure | NICEPAY 취소 연동.
|
● OrderRepositoryAdapterclass | commerce-infrastructure | payment 테이블 조작.
|
테스트 방법 (2)
| 가드레일 | 종류 | 확인 방법 |
|---|---|---|
order-bank-stays-ready | e2e | 무통장 주문 직후 state 가 ready |
order-no-entitlement-before-payment | e2e | 주문 직후 해당 회원 수강권 플래그가 변하지 않음 |
정하지 못한 것 · 확인이 필요한 것
- 주문 상세를 주문번호만으로 조회할 수 있다. 주문번호를 알면 남의 주문이 보인다 — 접근 제어 방식을 정해야 한다.
스냅샷

기능 목록 (1)
데이터
- ·조회 조건
error
화면 이동
← 이 화면으로 오는 곳
PROD-ORDER-PAY-DETAIL/products/order/[orderNo]/payPROD-TESOL/products/tesolPROD-TEC/products/tecPROD-TESOL-TEC/products/tesol-tec
연결
API
직접 호출하는 API 가 없습니다
소스
src/app/products/order/[orderNo]/page.tsx