콘텐츠로 이동

장바구니와 결제 시작

장바구니는 게스트와 로그인 사용자를 분리해서 처리합니다. 결제는 PG별 내부 경로가 아니라 /payments/initialize로 시작합니다.

메서드 경로 설명 사용자 토큰
GET/guest-cart게스트 장바구니 조회필요 없음
POST/guest-cart게스트 장바구니 추가필요 없음
PUT/guest-cart/quantity게스트 장바구니 수량 변경필요 없음
DELETE/guest-cart/{itemId}게스트 장바구니 항목 삭제필요 없음
DELETE/guest-cart게스트 장바구니 비우기필요 없음
메서드 경로 설명 사용자 토큰
GET/cart로그인 장바구니 조회필수
POST/cart로그인 장바구니 추가필수
PUT/cart/quantity로그인 장바구니 수량 변경필수
DELETE/cart/{itemId}로그인 장바구니 항목 삭제필수
DELETE/cart로그인 장바구니 비우기필수
POST/cart/merge-guest게스트 장바구니를 로그인 장바구니로 병합필수
메서드 경로 설명 사용자 토큰
GET/checkout/metadata결제 화면 메타데이터 조회필요 없음
POST/orders주문 생성필수
DELETE/orders/{orderId}주문 삭제필수
GET/orders/check주문 상태 확인필수
GET/orders/paid-products결제된 상품 조회필수
POST/orders/validate-pcc-number개인통관고유부호 검증필수
POST/payments/initialize결제 초기화주문 흐름에 따라 필요
const payment = await fetch(`${API_BASE}/payments/initialize`, {
method: 'POST',
headers: {
'X-Runmoa-Site-Key': STOREFRONT_KEY,
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json',
Accept: 'application/json',
},
body: JSON.stringify({
order_id: 12837,
redirect_url: `${window.location.origin}/payment-result`,
}),
}).then((response) => response.json());
메서드 경로 설명 사용자 토큰
GET/coupons/claimable받을 수 있는 쿠폰 조회필수
GET/coupons/my내 쿠폰 조회필수
POST/coupons/{campaign}/claim쿠폰 받기필수
POST/coupons/validate쿠폰 적용 가능 여부 검증필수