# 概要 カートは、複数のアイテムを1つの注文にまとめることができる購入メカニズムです。ユーザーは、任意のタイプのアイテムを任意の数量で実際通貨で購入でき、[プロモーションコード](https://developers.xsolla.com/ja/api/liveops/promotions-promo-codes)も使用できます。 カートはエクソーラ側で保存されます。セッションをまたいでカートを保存できるかどうかは、ユーザーが認証されているかによって異なります。 * 認証されたユーザーの場合、カートは特定のユーザーに紐付けられ、同じユーザーとしてリクエストが送信される限り、セッションをまたいで保存されます。 * [未認証ユーザー](/ja/api/catalog/authentication-with-guest-access-support)の場合、カートの保存は`x-unauthorized-id`ヘッダーの成否に依存します。未認証ユーザーのカートをセッション間で保持するには、すべてのリクエストで同じ`x-unauthorized-id`を渡してください。なお、このオプションはゲームキーの販売時のみ利用可能です。 カートを特定する方法は2つあります。[ユーザーのJWT](https://developers.xsolla.com/ja/api/catalog/authentication-using-users-jwt)による自動特定、またはカートID(`cart_id`)による特定です。 カート管理は、クライアント側とサーバー側の両方で利用可能です。 サーバー側では、ユーザーセッションを復元する場合などに、カートにアイテムを入れることができます。クライアント側では、以下の操作が利用可能です: * 現在のユーザーのカートまたはIDによるカートを取得する * カートにアイテムを追加する * カート内のアイテムを更新する * カートからアイテムを削除する カートからアイテムを購入するには、注文作成のためのクライアントとサーバーのコールが使用されます。 カートの有効期限(TTL)は、デフォルトで72時間です。新しいアイテムが追加されるなど、カートの内容が変更されると、TTLは延長されます。 決済が成功した後も、カートは自動的にはクリアされません。カートをクリアするには、クライアントサイドの以下のAPIコールを使用してください: * [カートIDによる全カートアイテムを削除する](/ja/api/catalog/cart-client-side/cart-clear-by-id)。 * [現在のカートからの全カートアイテムを削除する](/ja/api/catalog/cart-client-side/cart-clear)。 * [カートIDによるカートアイテムを削除する](/ja/api/catalog/cart-client-side/delete-item-by-cart-id)および [現在のカートからのカートアイテムを削除する](/ja/api/catalog/cart-client-side/delete-item):カート内の最後のアイテムを削除すると、カートはクリアされます。 カート使用シナリオ: 1. ユーザーがアイテムを選択するストアUIを実装します。 2. ユーザーがストアでアイテムを選択した際、たとえば [カートへアイテムを追加する](https://developers.xsolla.com/ja/api/catalog/cart-client-side/cart-fill)コールを使用してアイテムをカートに追加します。アイテム配列には、SKUと必要なアイテムの数量を渡す必要があります。 3. カート表示UIを実装します。ユーザーがカートに移動した際、[現在のユーザーのカートを取得する](https://developers.xsolla.com/ja/api/catalog/cart-client-side/get-user-cart)コールを使用してカートの内容を表示します。応答には、割引や適用されたプロモーションを含むアイテムの最終価格に関する情報が返されます。 4. 注文の支払いを行うために、決済UIを開く処理を実装します。たとえば、[特定のカートの全アイテムを含む注文を作成する](https://developers.xsolla.com/ja/api/catalog/payment-client-side/create-order-by-cart-id)コールを使用できます。応答には、決済UIを開くためのトークンが返されます。 5. 決済が完了したアイテムのデータをタイムリーに受け取り、ユーザーにそれらを付与するために、たとえば[ウェブフック](https://developers.xsolla.com/ja/webhooks/)を使用して注文状況の追跡を設定します。

注意

ゲーム内およびオンラインでのアイテム販売を実装するには、統合ガイドを参照してください。

![カートと決済フロー](https://cdn.xsolla.net/developers/current/images/api_docs/cart-payment-flow.svg)