{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-@l10n/ko/api/catalog/index.yaml","sidebar":"sidebar-@l10n/ko/catalog-en.sidebars.yaml"},"props":{"definitionId":"@l10n/ko/api/catalog/index.yaml","dynamicMarkdocComponents":[],"baseSlug":"/ko/api/catalog","seo":{"title":"개요","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]},"description":"장바구니는 여러 아이템을 하나의 주문으로 결합할 수 있는 구매 매커니즘입니다. 사용자는 실제 통화로 모든 유형의 아이템을 원하는 수량만큼 구매할 수 있으며, [프로모션 코드](https://developers.xsolla.com/ko/api/liveops/promotions-promo-codes)도 사용할 수 있습니다.\n\n장바구니는 엑솔라 측에 저장됩니다. 세션 간 장바구니 저장은 사용자의 인증 여부에 따라 달라집니다.\n  * 인증된 사용자의 경우, 같은 사용자를 대신하여 요청이 전송되는 한 장바구니가 특정 사용자와 연결되어 세션 간에 저장됩니다.\n\n  * [미인증 사용자](/ko/api/catalog/section/authentication/authentication-with-guest-access-support)의 경우, 장바구니 저장은 `x-unauthorized-id` 헤더 전달 여부에 따라 달라집니다. 미인증 사용자의 장바구니를 세션 간에 저장하려면 모든 요청에서 동일한 `x-unauthorized-id`를 전달합니다. 이 옵션은 게임 키 판매에만 사용할 수 있습니다.\n\n장바구니는 두 가지 방식, 즉 [사용자의 JWT](https://developers.xsolla.com/ko/api/catalog/section/authentication/authentication-using-user's-jwt)를 통해 자동으로 식별하거나 장바구니 ID(`cart_id`)로 식별할 수 있습니다.\n\n장바구니 관리는 클라이언트 측과 서버 측 모두에서 가능합니다.\n\n서버 측에서는 사용자 세션을 복원할 때와 같이 장바구니에 아이템을 채울 수 있습니다. 클라이언트 측에서 가능한 작업은 다음과 같습니다:\n\n* 현재 사용자의 장바구니 또는 ID로 장바구니 가져오기\n* 장바구니 채우기\n* 장바구니의 아이템 업데이트\n* 장바구니에서 아이템 삭제\n\n장바구니에서 아이템을 구매하려면 주문 생성을 위한 클라이언트 및 서버 호출을 사용합니다.\n\n장바구니의 유효 기간(TTL)은 기본적으로 72시간입니다. 새 아이템이 추가되는 등 콘텐츠가 변경되면 TTL이 연장됩니다.\n\n결제가 성공적으로 완료되어도 장바구니는 자동으로 비워지지 않습니다. 장바구니를 비우려면 다음 클라이언트 측 API 호출을 사용합니다.\n  * [장바구니 ID로 모든 장바구니 아이템 삭제하기](/ko/api/catalog/cart-client-side/cart-clear-by-id).\n\n  * [현재 장바구니에서 모든 장바구니 아이템 삭제하기](/ko/api/catalog/cart-client-side/cart-clear).\n\n  * [장바구니 ID로 장바구니 아이템 삭제하기](/ko/api/catalog/cart-client-side/delete-item-by-cart-id) 및 [현재 장바구니에서 장바구니 아이템 삭제하기](/ko/api/catalog/cart-client-side/delete-item) - 장바구니에서 마지막 아이템을 삭제하면 장바구니가 비워집니다.\n\n장바구니 사용 시나리오:\n\n1. 사용자가 아이템을 선택할 스토어 UI를 구현합니다.\n\n2. 사용자가 스토어에서 아이템을 선택하면 해당 아이템을 장바구니에 추가합니다(예: [아이템으로 장바구니 채우기](https://developers.xsolla.com/ko/api/catalog/cart-client-side/cart-fill) 호출 사용). 아이템 배열에서 SKU와 필요한 아이템 수량을 전달해야 합니다.\n\n3. 장바구니 보기 UI를 구현합니다. 사용자가 장바구니로 이동하면 [현재 사용자의 장바구니 가져오기](https://developers.xsolla.com/ko/api/catalog/cart-client-side/get-user-cart) 호출을 사용하여 장바구니의 콘텐츠를 표시합니다. 응답은 할인 및 적용된 프로모션을 포함한 아이템의 최종 가격 정보를 반환합니다.\n\n4. 주문을 결제하기 위해 결제 UI 열기를 구현합니다. 예를 들어 [특정 장바구니의 모든 아이템으로 주문 생성](https://developers.xsolla.com/ko/api/catalog/payment-client-side/create-order-by-cart-id) 호출을 사용할 수 있습니다. 응답은 결제 UI를 여는 데 필요한 토큰을 반환합니다.\n\n5. [웹훅](https://developers.xsolla.com/ko/webhooks/) 등을 사용하여 주문 상태 추적을 구성하면 성공적으로 결제된 아이템에 대한 데이터를 신속하게 수신하고 사용자에게 제공할 수 있습니다.\n\n<div class=\"note\">\n  <p><b>참고</b></p>\n  <p>인게임 및 온라인에서 아이템을 판매하려면<a href=\"https://developers.xsolla.com/ko/virtual-goods/own-ui/\">통합 가이드</a>를 참조하세요.</p>\n</div>\n\n![장바구니 및 결제 절차](https://cdn.xsolla.net/developers/current/images/api_docs/cart-payment-flow.svg)"},"itemId":"cart-and-payment-overview","disableAutoScroll":true,"metadata":{},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"xsolla.redocly.app","port":4000,"ipAddress":"216.73.217.32"},"lang":"ko","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"realm"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/ko/api/catalog/cart-and-payment-overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}