---
displayed_sidebar: servicesSidebar
---

import ParameterTypes from "@site/src/components/ParameterTypes"

# Cart

A cart represents a virtual shopping bag. It can be used to complete an order, a swap, or a claim.

## constructor

`**new Cart**()`

A cart represents a virtual shopping bag. It can be used to complete an order, a swap, or a claim.

___

## Properties

<ParameterTypes parameters={[
  {
    "name": "billing_address",
    "type": "[Address](Address.mdx)",
    "description": "The details of the billing address associated with the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "billing_address_id",
    "type": "`string`",
    "description": "The billing address's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "completed_at",
    "type": "`Date`",
    "description": "The date with timezone at which the cart was completed.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "context",
    "type": "`Record<string, unknown>`",
    "description": "The context of the cart which can include info like IP or user agent.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "created_at",
    "type": "`Date`",
    "description": "The date with timezone at which the resource was created.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "customer",
    "type": "[Customer](Customer.mdx)",
    "description": "The details of the customer the cart belongs to.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "customer_id",
    "type": "`string`",
    "description": "The customer's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "deleted_at",
    "type": "`null` \\| `Date`",
    "description": "The date with timezone at which the resource was deleted.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "discount_total",
    "type": "`number`",
    "description": "The total of discount rounded",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "discounts",
    "type": "[Discount](Discount.mdx)[]",
    "description": "An array of details of all discounts applied to the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "email",
    "type": "`string`",
    "description": "The email associated with the cart",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "gift_card_tax_total",
    "type": "`number`",
    "description": "The total of gift cards with taxes",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "gift_card_total",
    "type": "`number`",
    "description": "The total of gift cards",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "gift_cards",
    "type": "[GiftCard](GiftCard.mdx)[]",
    "description": "An array of details of all gift cards applied to the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "id",
    "type": "`string`",
    "description": "The cart's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "idempotency_key",
    "type": "`string`",
    "description": "Randomly generated key used to continue the completion of a cart in case of failure.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "item_tax_total",
    "type": "`null` \\| `number`",
    "description": "The total of items with taxes",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "items",
    "type": "[LineItem](LineItem.mdx)[]",
    "description": "The line items added to the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "metadata",
    "type": "`Record<string, unknown>`",
    "description": "An optional key-value map with additional details",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "object",
    "type": "`\"cart\"`",
    "description": "",
    "optional": false,
    "defaultValue": "\"cart\"",
    "expandable": false,
    "children": []
  },
  {
    "name": "payment",
    "type": "[Payment](Payment.mdx)",
    "description": "The details of the payment associated with the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "payment_authorized_at",
    "type": "`Date`",
    "description": "The date with timezone at which the payment was authorized.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "payment_id",
    "type": "`string`",
    "description": "The payment's ID if available",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "payment_session",
    "type": "`null` \\| [PaymentSession](PaymentSession.mdx)",
    "description": "The details of the selected payment session in the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "payment_sessions",
    "type": "[PaymentSession](PaymentSession.mdx)[]",
    "description": "The details of all payment sessions created on the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "raw_discount_total",
    "type": "`number`",
    "description": "The total of discount",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "refundable_amount",
    "type": "`number`",
    "description": "The amount that can be refunded",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "refunded_total",
    "type": "`number`",
    "description": "The total amount refunded if the order associated with this cart is returned.",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "region",
    "type": "[Region](Region.mdx)",
    "description": "The details of the region associated with the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "region_id",
    "type": "`string`",
    "description": "The region's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "sales_channel",
    "type": "[SalesChannel](SalesChannel.mdx)",
    "description": "The details of the sales channel associated with the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "sales_channel_id",
    "type": "`null` \\| `string`",
    "description": "The sales channel ID the cart is associated with.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "shipping_address",
    "type": "`null` \\| [Address](Address.mdx)",
    "description": "The details of the shipping address associated with the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "shipping_address_id",
    "type": "`string`",
    "description": "The shipping address's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "shipping_methods",
    "type": "[ShippingMethod](ShippingMethod.mdx)[]",
    "description": "The details of the shipping methods added to the cart.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "shipping_tax_total",
    "type": "`null` \\| `number`",
    "description": "The total of shipping with taxes",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "shipping_total",
    "type": "`number`",
    "description": "The total of shipping",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "subtotal",
    "type": "`number`",
    "description": "The subtotal of the cart",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "tax_total",
    "type": "`null` \\| `number`",
    "description": "The total of tax",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "total",
    "type": "`number`",
    "description": "The total amount of the cart",
    "optional": true,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "type",
    "type": "[CartType](../enums/CartType.mdx)",
    "description": "The cart's type.",
    "optional": false,
    "defaultValue": "default",
    "expandable": false,
    "children": []
  },
  {
    "name": "updated_at",
    "type": "`Date`",
    "description": "The date with timezone at which the resource was updated.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  }
]} />

___

## Methods

### afterLoad

`Private **afterLoad**(): void`

#### Returns

`void`

<ParameterTypes parameters={[
  {
    "name": "void",
    "type": "`void`",
    "optional": true,
    "defaultValue": "",
    "description": "",
    "expandable": false,
    "children": []
  }
]} />

___

### beforeInsert

`Private **beforeInsert**(): void`

#### Returns

`void`

<ParameterTypes parameters={[
  {
    "name": "void",
    "type": "`void`",
    "optional": true,
    "defaultValue": "",
    "description": "",
    "expandable": false,
    "children": []
  }
]} />
