---
title: "Update the current cart"
method: POST
path: "/v1/shoppers/me/carts/active"
tags: ["Carts"]
---

# Update the current cart

`POST /v1/shoppers/me/carts/active`

Adds a product to a cart on an API consumer-hosted page by product ID or external reference ID.
The response returns the contents of the cart. You can also apply a promotional or coupon code to a cart.
The promoCode query parameter is required to apply the promotional code.
Promotional codes are also called coupon codes or discount codes.

## Query parameters

- `token` string
- `externalReferenceId` string
- `offerId` string
- `productId` string
- `parentLineItemId` string
- `promoCode` string
- `quantity` string
- `termId` string
- `expand` string
- `fields` string
- `suppressorderconfirmationemail` boolean

## Request body

- CartRequest
  - `cart` object
    - `ipAddress` string — Provide the shopper's IP address for the current session.
    - `customAttributes` DefaultCustomAttributes
      - `attribute` object[]
        - `name` string
        - `value` string
        - `type` string
    - `suppressOrderConfirmationEmail` boolean — When true, suppresses the order confirmation email for an order. If you want to use this feature, contact your Customer Success Manager.
    - `lineItems` object
      - `lineItem` object[]
        - `quantity` string
        - `product` object
          - `id` integer
        - `customAttributes` DefaultCustomAttributes
          - `attribute` object[]
            - `name` string
            - `value` string
            - `type` string
    - `billingAddress` BillingAddress
      - `uri` string
      - `relation` string
      - `id` string — Unique identifier of the address.
      - `firstName` string — The shopper's first name.
      - `lastName` string — The shopper's last name.
      - `companyName` string — Company Name
      - `line1` string — The first line of the address.
      - `line2` string — The second line of the address.
      - `line3` string — The third line of the address. (Optional)
      - `city` string — City or town.
      - `countrySubdivision` string — State/County/Province/Region.
      - `postalCode` string — ZIP or postal code.
      - `country` string — A two-letter (ISO 3166-2) country code. See https://en.wikipedia.org/wiki/ISO_3166-2 for a complete list of country codes.
      - `countryName` string — Country.
      - `phoneNumber` string — The shopper's phone number.
      - `emailAddress` string — The shopper's email address.
      - `countyName` string — County.
      - `phoneticFirstName` string — The shopper's Japanese Katakana first name. (Optional, usually for Japanese locale.)
      - `phoneticLastName` string — The shopper's Japanese Katakana last name. (Optional, usually for Japanese locale.)
      - `division` string — The shopper's company departmant name. (Optional, usually for Japanese locale.)
      - `title` string — The shopper's title. (Optional, usually for France locale.)
    - `shippingAddress` ShippingAddress
      - `uri` string
      - `relation` string
      - `id` string — Unique identifier of the address.
      - `firstName` string — The shopper's first name.
      - `lastName` string — The shopper's last name.
      - `companyName` string — Company Name
      - `line1` string — The first line of the address.
      - `line2` string — The second line of the address.
      - `line3` string — The third line of the address. (Optional)
      - `city` string — City or town.
      - `countrySubdivision` string — State/County/Province/Region.
      - `postalCode` string — ZIP or postal code.
      - `country` string — A two-letter (ISO 3166-2) country code. See https://en.wikipedia.org/wiki/ISO_3166-2 for a complete list of country codes.
      - `countryName` string — Country.
      - `phoneNumber` string — The shopper's phone number.
      - `countyName` string — County.
      - `emailAddress` string — The shopper's email address.
      - `phoneticFirstName` string — The shopper's Japanese Katakana first name. (Optional, usually for Japanese locale.)
      - `phoneticLastName` string — The shopper's Japanese Katakana last name. (Optional, usually for Japanese locale.)
      - `division` string — The shopper's company departmant name. (Optional, usually for Japanese locale.)
    - `termsOfSalesAcceptance` string — To pass whether or not the customer accepted the Terms of Service.
    - `chargeType` string — Use this field to specify the charge type of your transaction. The allowed values are: * customer_initiated: customer initiates the transaction, like first purchase of the subscription order. * merchant_initiated: merchant initiates the transaction, like the upcoming subscription auto renewals. * moto: customer service initiates the transaction, like a Mail Order or Telephone Order
    - `organizationId` string — The identifier used to identify the business. This is a string can be up to 50 characters in length. Pass in buyer comanyId to use TreviPay.
    - `testOrder` string
    - `sendEmail` string — Can use this API's "sendEmail" field to trigger Digital River’s system notification emails for test orders. However, this field will only work when "testOrder" and "sendEmail" are set to True. It's important to note that this functionality is limited to test orders only. Please keep in mind that the "sendEmail" field in the v1/shoppers API should not be confused with this one.

## Response `200`

Successful response.

- union
  - DefaultCart
    - `uri` string
    - `paymentMethods` object
      - `uri` string
    - `applyPaymentMethod` object
      - `uri` string
    - `submitCart` object
      - `uri` string
    - `webCheckout` object
      - `uri` string
    - `id` string
    - `lineItems` object
      - `uri` string
      - `lineItem` DefaultLineItem[]
        - `uri` string
        - `id` string
        - `quantity` string
        - `product` DefaultProduct
          - `uri` string
          - `parentProduct` object
            - `uri` string
          - `id` string
          - `name` string
          - `displayName` string
          - `shortDescription` string — A short description of the product.
          - `longDescription` string — A long description of the product.
          - `productType` string — A product type defines how shoppers will receive the product.
          - `sku` string
          - `externalReferenceId` string
          - `companyId` string
          - `displayableProduct` string
          - `purchasable` string
          - `manufacturerName` string
          - `manufacturerPartNumber` string
          - `thumbnailImage` string
          - `productImage` string
          - `keywords` string — The words shopper can enter in a search engine to search the product.
          - `customAttributes` DefaultCustomAttributes
            - `attribute` object[]
              - …
        - `pricing` DefaultLineItemPrice
          - `listPrice` object — The per-unit price setup in the price list for the product associated with this line item. - It includes: * The "Included in Price" fee (an invisible fee) if it's configured for the line item. * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The discount * The "Excluded from price" fee (a visible fee) * If price list is set to tax exclusive, this price will NOT include tax.
            - `currency` string
            - `value` number
          - `listPriceWithQuantity` object — The total calculated list price for the line item with quantity. - It includes: * The "Included in Price" fee (an invisible fee) if it's configured for the line item. * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The discount * The "Excluded from price" fee (a visible fee) * If price list is set to tax exclusive, this price will NOT include tax. - The value for this field uses the following formula: listPrice × qty
            - `currency` string
            - `value` number
          - `salePriceWithQuantity` object — The total calculated price for the line item with quantity. - It includes: * The line item level discount * The "Included in Price" fee (an invisible fee) if it's configured for the line item * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The order level discount * The "Excluded from price" fee (a visible fee) * If price list is set to tax exclusive, this price will NOT include tax.
            - `currency` string
            - `value` number
          - `formattedListPrice` string — The formatted listPrice. It can include displayable items such as a dollar symbol for display, a symbol for a decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `formattedListPriceWithQuantity` string — The formatted listPriceWithQuantity. It can include displayable items such as a dollar symbol, a symbol for a decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `formattedSalePriceWithQuantity` string — The formatted salePriceWithQuantity. It can include displayable items such as a dollar symbol, a symbol for decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `formattedCommitmentPrice` string — This is only available for annual paid monthly product
          - `commitmentPrice` object — This is only available for annual paid monthly product
            - `currency` string
            - `value` string
          - `productTax` object — The tax amount for the product at the line-item level with quantity. When you set up a Fee for the product and choose "Included in Price" (an invisible fee), the response includes the fee in the price and excludes the invisible fee tax in the productTax. When you set up the Fee and choose "Excluded from Price” (a visible fee), the response excludes the visible fee tax from productTax.
            - `currency` string
            - `value` string
          - `shippingTax` object — The shipping tax amount of the line item with quantity. If you ship more than one line item together, the items might share the shipping tax amount in the response for the order.
            - `currency` string
            - `value` string
          - `feeTax` object — The fee tax amount of the line item with quantity. If there is more than one fee for this product, this amount is the sum of all fee taxes regardless of whether they are Fee "Included in Price" (an invisible fee) or Fee "Excluded from price" (a visible fee).
            - `currency` string
            - `value` string
          - `taxRate` string — Rate available for calculating the tax for this lineitem.
          - `importTax` object — The transaction assesses value-added tax (VAT) or other sales tax. It encompasses taxes imposed during the import process and may include taxes related to import shipping. Refer to 'lineItems.lineItem.customAttributes.attribute.landedCostShippingTax' for a detailed tax component breakdown on shipping.
            - `currency` string
            - `value` number
          - `formattedImportTax` string — Formatted importTax that displays symbols such as the dollar sign, a decimal separator, and the number of fractional digits. Contact your Digital River team to set up the formatted tax.
          - `importDuty` object — When a customer purchases products online, one or more of the products may not originate in the country the customer resides in, and therefore are subject to a customs duty when importing transported across international borders. When goods are not shipped domestically (within the customer’s country) or within a single customs union, such as the European Union, the customer is liable to pay any inbound duties which the customer’s local customs authority deems appropriate.
            - `currency` string
            - `value` number
          - `formattedImportDuty` string — Formatted importDuty that displays symbols such as the dollar sign, a decimal separator, and the number of fractional digits. Contact your Digital River team to set up the formatted tax.
        - `components` ComponentsBlock — Component information of a Product Combination
          - `lineItem` object[]
            - `id` string
            - `quantity` string
            - `product` object — Product information of the components
              - …
            - `pricing` ExpandedLineItemPrice
              - …
        - `groups` GroupDefaultArray[]
          - `group` GroupDefaultObject[]
            - `id` string
            - `relationType` string
            - `offer` object
              - …
    - `totalItemsInCart` string
    - `businessEntityCode` string
    - `billingAddress` object
      - `uri` string
    - `shippingAddress` object
      - `uri` string
    - `paymentMethod` PaymentMethodObjectPaymentSource — Payment information, displayed when using a Payment Source created payment.
      - `type` string — The type of the payment. The payment type will correspond to another element in the source response that contains detailed information specific to the type. For example, a type of creditCard indicates that there is an object in the response named creditCard that will contain card-specific data.
      - `sourceId` string — A unique identifier for the payment source.
      - `sourceClientSecret` string — The unique client secret for the payment source.
      - `creditCard` object — Credit card information. This field is displayed when type is creditCard.
        - `expirationYear` string — Four digits representing the expiration year.
        - `lastFourDigits` string — The last four digits of the card number. (e.g. 1111)
        - `clientSecret` string — The unique client secret for the payment source.
        - `expirationMonth` string — One to two digits representing the expiration month.
        - `fundingSource` string — The card type returned from Payments Processor. (e.g. Credit, Debit, PrePaid, Charge, Deferred_debit)
        - `brand` string — The card brand (e.g. Visa, MasterCard, American Express, etc.).
        - `reusable` string — Whether the payment is reusable.
      - `amountContributed` object — The amount which is contributed by this payment source.
        - `currency` string — Three-letter ISO currency code associated with the object.
        - `value` number — Value associated with the object.
      - `charges` PaymentMethodObjectPaymentSourceCharge[] — Payment charge information, displayed when the payment source has payment charge records.
        - `chargeId` string — The unique identifier of the charge.
        - `amount` object — The amount which is charged for this payment source.
          - `currency` string — Three-letter ISO currency code associated with the object.
          - `value` number — Value associated with the object.
        - `status` 'pending' | 'capturable' | 'processing' | 'complete' | 'cancelled' | 'failed' — The current status of this charge. Possible values are: "pending" "capturable" "processing" "complete" "cancelled" "failed"
        - `createdTime` string — The time when the charge was created.
        - `updatedTime` string — The time when the charge was last updated.
      - `supplementaryPaymentMethods` PaymentMethodObjectSupplementaryPaymentSource[] — Supplementary payment information, displayed when cart using Payment Source created supplementary payments.
        - `type` string — The type of the payment. The payment type will correspond to another element in the source response that contains detailed information specific to the type. For example, a type of customerCredit indicates that there is an object in the response named customerCredit that will contain customer-credit-specific data.
        - `sourceId` string — A unique identifier for the payment source.
        - `sourceClientSecret` string — The unique client secret for the payment source.
        - `customerCredit` object — Customer credit information. This field is displayed when type is customerCredit.
          - `flow` 'standard' | 'redirect' | 'receiver' — The authentication flow of the source.
          - `reusable` string — Whether the payment is reusable.
        - `charges` PaymentMethodObjectSupplementaryPaymentSourceCharge[] — Payment charge information, displayed when the payment source has payment charge records.
          - `chargeId` string — The unique identifier of the charge.
          - `amount` object — The amount which is charged for this payment source.
            - `currency` string — Three-letter ISO currency code associated with the object.
            - `value` number — Value associated with the object.
          - `status` 'pending' | 'capturable' | 'processing' | 'complete' | 'cancelled' | 'failed' — The current status of this charge. Possible values are: "pending" "capturable" "processing" "complete" "cancelled" "failed"
          - `createdTime` string — The time when the charge was created.
          - `updatedTime` string — The time when the charge was last updated.
        - `amountContributed` object — The amount which is contributed by this payment source.
          - `currency` string — Three-letter ISO currency code associated with the object.
          - `value` number — Value associated with the object.
    - `payment` object — Payment information, displayed when using a non-Payment Source created payment.
      - `name` string — The given name of this payment.
      - `displayableNumber` string — The card number, only display the last four digits. (e.g. ************1111)
      - `expirationMonth` integer — One to two digits representing the expiration month.
      - `expirationYear` integer — Four digits representing the expiration year.
    - `paymentSession` PaymentSessionWithAmount — The payment session information.
      - `id` string — A unique identifier for this session.
      - `status` string — The current state of the session. Possible values are: * requires_source * requires_confirmation * pending * pending_funds * chargeable * complete * processing * failed * pending_redirect
      - `clientSecret` string — The unique client secret related to this session.
      - `redirectUrl` string — The redirect URL. This attribute only be displayed when pending_redirect status.
      - `amountContributed` object — The amount which is contributed by this payment source.
        - `currency` string — Three-letter ISO currency code associated with the object.
        - `value` number — Value associated with the object.
      - `amountRemainingToBeContributed` object — The remaining amount which need to be contributed for this cart.
        - `currency` string — Three-letter ISO currency code associated with the object.
        - `value` number — Value associated with the object.
    - `shippingOptions` object
      - `uri` string
    - `taxInclusive` boolean — The price list setup for the currency. * If true, the price list is set to tax inclusive. * If false, the price list is set to tax exclusive.
    - `landedCostState` string — The state of landed cost calculation whose enumerated values are as follows: * NOT_ELIGIBLE * The current cart is not eligible for landed cost calculation. * PREPAID * The current cart is eligible for landed cost calculation, and the landed cost will be prepaid. When the landedCostState is PREPAID, but the importTaxAndDuty value is 0, it might indicate that landed cost is not required. * VIEWED_NOT_ELIGIBLE * The landed cost state was ELIGIBLE or PREPAID, then became not eligible due to a change in the order that triggered the status to change to VIEWED_NOT_ELIGIBLE. For example, the customer changed their shipping address or added a line item or removed a line item. * ERROR * The landed cost calculation failed because the integration service was unavailable.
    - `pricing` CartOrderLevelDefaultPrice
      - `subtotal` object — Order total before applying the order level discount. - It includes: * The line item level discount * The "Included in Price" fee (an invisible fee) if it's configured for the line item. * The "Excluded from price" fee (a visible fee) * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The order level discount * If price list is set to tax exclusive, this price will NOT include tax. - The value for this field is the sum of all line item level salePriceWithQuantity values. If there is an "Excluded from price" (a visible fee), it will be treated as a line item and included in this value.
        - `currency` string
        - `value` number
      - `discount` object — Order level discount. - It includes: * If the price list is set to tax inclusive, this price will include tax - It does not include: * line item level discount. * If price list is set to tax exclusive, this price will NOT include tax - If you need an overall discount for this order, you would need to sum the values for totalDiscountWithQuantity and discount.
        - `currency` string
        - `value` number
      - `shippingAndHandling` object — The shipping and handling fee. - If the price list is set to tax inclusive, this price will include tax. - If price list is set to tax exclusive, this price will NOT include tax.
        - `currency` string
        - `value` number
      - `importTaxAndDuty` object — The sum of import taxes and duties for all line items.
        - `currency` string
        - `value` number
      - `tax` object — The sum of all tax of this order.
        - `currency` string
        - `value` number
      - `orderTotal` object — The final price of the order.
        - `currency` string
        - `value` number
      - `formattedSubtotal` string — The formatted subtotal.
      - `formattedDiscount` string — The formatted discount.
      - `formattedShippingAndHandling` string — The formatted shippingAndHandling.
      - `formattedImportTaxAndDuty` string — Formatted importTaxAndDuty, that displays symbols such as the dollar sign, a decimal separator, and the number of fractional digits. Contact your Digital River team to set up the formatted tax and duty.
      - `formattedTax` string — The formatted tax.
      - `formattedOrderTotal` string — The formatted orderTotal.
    - `termsOfSalesAcceptance` string — To pass whether or not the customer accepted the Terms of Service.
    - `chargeType` string — Only visible when chargeType is explicitly provided.
    - `customerType` string — Shopper Type applied to this cart. B as Business, I as Individual.
    - `taxRegistrations` object[]
      - `key` string — Tax Registration Key
      - `value` string — Tax ID value
    - `organizationId` string — Only visible when organizationId is explicityly provided.
    - `warnings` CouponCodeNotEligibleWarning — Only visible when shopper applies the VALID promoCode to the cart but it doesn't meet the offer criteria.
      - `errors` object
        - `warning` object[]
          - `code` 'couponcode_not_eligible'
          - `description` 'The relevant discount triggered by {coupon code} will be applied to the cart once it meets the offer criteria...'
  - ExpandedCart
    - `uri` string
    - `paymentMethods` object
      - `uri` string
    - `webCheckout` object
      - `uri` string
    - `id` string
    - `lineItems` object
      - `uri` string
      - `lineItem` ExpandedLineItem[]
        - `uri` string
        - `id` string
        - `quantity` integer
        - `product` ExpandedProduct
          - `uri` string
          - `parentProduct` object
            - `uri` string
            - `id` string
            - `name` string
            - `displayName` string
            - `shortDescription` string — A short description of the product.
            - `longDescription` string — A long description of the product.
            - `productType` string
            - `sku` string
            - `companyId` string
            - `displayableProduct` string
            - `purchasable` string
            - `manufacturerPartNumber` string
            - `thumbnailImage` string
            - `productImage` string
            - `baseProduct` string — Whether this product is a base product.
            - `variationAttributes` object
              - …
          - `id` string
          - `name` string
          - `displayName` string
          - `shortDescription` string — A short description of the product.
          - `longDescription` string — A long description of the product.
          - `productType` string
          - `sku` string
          - `companyId` string
          - `displayableProduct` string
          - `purchasable` string
          - `thumbnailImage` string
          - `productImage` string
          - `baseProduct` string — Whether this product is a base product.
          - `customAttributes` DefaultCustomAttributes
            - `attribute` object[]
              - …
          - `inventoryStatus` ProductInventoryStatus
            - `uri` string
            - `availableQuantity` integer
            - `availableQuantityIsEstimated` string
            - `productIsInStock` string
            - `productIsAllowsBackorders` string
            - `productIsTracked` string
            - `requestedQuantityAvailable` string
            - `status` string
            - `statusIsEstimated` string
            - `expectedInStockDate` string
            - `customStockMessage` string
        - `pricing` ExpandedLineItemPrice
          - `listPrice` object — The per-unit price setup in the price list for the product associated with this line item. - It includes: * The "Included in Price" fee (an invisible fee) if it's configured for the line item. * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The discount * The "Excluded from price" fee (a visible fee) * If price list is set to tax exclusive, this price will NOT include tax.
            - `currency` string
            - `value` number
          - `listPriceWithQuantity` object — The total calculated list price for the line item with quantity. - It includes: * The "Included in Price" fee (an invisible fee) if it's configured for the line item. * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The discount * The "Excluded from price" fee (a visible fee) * If price list is set to tax exclusive, this price will NOT include tax. - The value for this field uses the following formula: listPrice × qty
            - `currency` string
            - `value` number
          - `salePrice` object — The per-unit price for the product associated with this line item. - It includes: * The line item level discount per unit * The "Included in Price" fee (an invisible fee) if it's configured for the line item * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The order level discount * The "Excluded from price" fee (a visible fee) * If price list is set to tax exclusive, this price will NOT include tax. - The value for this field uses the following formula: salePriceWithQuantity ÷ qty
            - `currency` string
            - `value` number
          - `salePriceWithQuantity` object — The total calculated price for the line item with quantity. - It includes: * The line item level discount * The "Included in Price" fee (an invisible fee) if it's configured for the line item * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The order level discount * The "Excluded from price" fee (a visible fee) * If price list is set to tax exclusive, this price will NOT include tax.
            - `currency` string
            - `value` number
          - `formattedListPrice` string — The formatted listPrice. It can include displayable items such as a dollar symbol for display, a symbol for a decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `formattedListPriceWithQuantity` string — The formatted listPriceWithQuantity. It can include displayable items such as a dollar symbol, a symbol for a decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `formattedSalePrice` string — The formatted salePrice. It can include displayable items such as a dollar symbol for display, a symbol for a decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `formattedSalePriceWithQuantity` string — The formatted salePriceWithQuantity. It can include displayable items such as a dollar symbol, a symbol for decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `totalDiscountWithQuantity` object — The total discount of the line item with quantity. It does not include the order level discount.
            - `currency` string
            - `value` number
          - `formattedTotalDiscountWithQuantity` string — The formatted totalDiscountWithQuantity. It can include displayable items such as a dollar symbol, a symbol for a decimal separator, the number of fractional digits. To set up the formatted price, contact your Digital River team.
          - `formattedCommitmentPrice` string — This is only available for annual paid monthly product
          - `commitmentPrice` object — This is only available for annual paid monthly product
            - `currency` string
            - `value` string
          - `productTax` object — The tax amount for the product at the line-item level with quantity. When you set up a Fee for the product and choose "Included in Price" (an invisible fee), the response includes the fee in the price and excludes the invisible fee tax in the productTax. When you set up the Fee and choose "Excluded from Price” (a visible fee), the response excludes the visible fee tax from productTax.
            - `currency` string
            - `value` string
          - `shippingTax` object — The shipping tax amount of the line item with quantity. If you ship more than one line item together, the items might share the shipping tax amount in the response for the order.
            - `currency` string
            - `value` string
          - `feeTax` object — The fee tax amount of the line item with quantity. If there is more than one fee for this product, this amount is the sum of all fee taxes regardless of whether they are Fee "Included in Price" (an invisible fee) or Fee "Excluded from price" (a visible fee).
            - `currency` string
            - `value` string
          - `taxRate` string — Rate available for calculating the tax for this lineitem.
          - `discountDescription` string
          - `importTax` object — The transaction assesses value-added tax (VAT) or other sales tax. It encompasses taxes imposed during the import process and may include taxes related to import shipping. Refer to 'lineItems.lineItem.customAttributes.attribute.landedCostShippingTax' for a detailed tax component breakdown on shipping.
            - `currency` string
            - `value` number
          - `formattedImportTax` string — Formatted importTax that displays symbols such as the dollar sign, a decimal separator, and the number of fractional digits. Contact your Digital River team to set up the formatted tax.
          - `importDuty` object — When a customer purchases products online, one or more of the products may not originate in the country the customer resides in, and therefore are subject to a customs duty when importing transported across international borders. When goods are not shipped domestically (within the customer’s country) or within a single customs union, such as the European Union, the customer is liable to pay any inbound duties which the customer’s local customs authority deems appropriate.
            - `currency` string
            - `value` number
          - `formattedImportDuty` string — Formatted importDuty that displays symbols such as the dollar sign, a decimal separator, and the number of fractional digits. Contact your Digital River team to set up the formatted tax.
          - `feePricing` object — The tax info of Fee "Excluded from price" (a visible fee).
            - `fee` LineItemFeePricing[]
              - …
        - `components` ComponentsBlock — Component information of a Product Combination
          - `lineItem` object[]
            - `id` string
            - `quantity` string
            - `product` object — Product information of the components
              - …
            - `pricing` ExpandedLineItemPrice
              - …
        - `groups` GroupExpandArray[]
          - `group` GroupExpandObject[]
            - `id` string
            - `relationType` string
            - `offer` GroupOfferExpandObject
              - …
          - `customAttributes` DefaultCustomAttributes
            - `attribute` object[]
              - …
    - `testOrder` string
    - `sendEmail` string — Can use this API's "sendEmail" field to trigger Digital River’s system notification emails for test orders. However, this field will only work when "testOrder" and "sendEmail" are set to True. It's important to note that this functionality is limited to test orders only. Please keep in mind that the "sendEmail" field in the v1/shoppers API should not be confused with this one.
    - `totalItemsInCart` string
    - `businessEntityCode` string
    - `billingAddress` BillingAddress
      - `uri` string
      - `relation` string
      - `id` string — Unique identifier of the address.
      - `firstName` string — The shopper's first name.
      - `lastName` string — The shopper's last name.
      - `companyName` string — Company Name
      - `line1` string — The first line of the address.
      - `line2` string — The second line of the address.
      - `line3` string — The third line of the address. (Optional)
      - `city` string — City or town.
      - `countrySubdivision` string — State/County/Province/Region.
      - `postalCode` string — ZIP or postal code.
      - `country` string — A two-letter (ISO 3166-2) country code. See https://en.wikipedia.org/wiki/ISO_3166-2 for a complete list of country codes.
      - `countryName` string — Country.
      - `phoneNumber` string — The shopper's phone number.
      - `emailAddress` string — The shopper's email address.
      - `countyName` string — County.
      - `phoneticFirstName` string — The shopper's Japanese Katakana first name. (Optional, usually for Japanese locale.)
      - `phoneticLastName` string — The shopper's Japanese Katakana last name. (Optional, usually for Japanese locale.)
      - `division` string — The shopper's company departmant name. (Optional, usually for Japanese locale.)
      - `title` string — The shopper's title. (Optional, usually for France locale.)
    - `shippingAddress` ShippingAddress
      - `uri` string
      - `relation` string
      - `id` string — Unique identifier of the address.
      - `firstName` string — The shopper's first name.
      - `lastName` string — The shopper's last name.
      - `companyName` string — Company Name
      - `line1` string — The first line of the address.
      - `line2` string — The second line of the address.
      - `line3` string — The third line of the address. (Optional)
      - `city` string — City or town.
      - `countrySubdivision` string — State/County/Province/Region.
      - `postalCode` string — ZIP or postal code.
      - `country` string — A two-letter (ISO 3166-2) country code. See https://en.wikipedia.org/wiki/ISO_3166-2 for a complete list of country codes.
      - `countryName` string — Country.
      - `phoneNumber` string — The shopper's phone number.
      - `countyName` string — County.
      - `emailAddress` string — The shopper's email address.
      - `phoneticFirstName` string — The shopper's Japanese Katakana first name. (Optional, usually for Japanese locale.)
      - `phoneticLastName` string — The shopper's Japanese Katakana last name. (Optional, usually for Japanese locale.)
      - `division` string — The shopper's company departmant name. (Optional, usually for Japanese locale.)
    - `paymentMethod` PaymentMethodObjectPaymentSource — Payment information, displayed when using a Payment Source created payment.
      - `type` string — The type of the payment. The payment type will correspond to another element in the source response that contains detailed information specific to the type. For example, a type of creditCard indicates that there is an object in the response named creditCard that will contain card-specific data.
      - `sourceId` string — A unique identifier for the payment source.
      - `sourceClientSecret` string — The unique client secret for the payment source.
      - `creditCard` object — Credit card information. This field is displayed when type is creditCard.
        - `expirationYear` string — Four digits representing the expiration year.
        - `lastFourDigits` string — The last four digits of the card number. (e.g. 1111)
        - `clientSecret` string — The unique client secret for the payment source.
        - `expirationMonth` string — One to two digits representing the expiration month.
        - `fundingSource` string — The card type returned from Payments Processor. (e.g. Credit, Debit, PrePaid, Charge, Deferred_debit)
        - `brand` string — The card brand (e.g. Visa, MasterCard, American Express, etc.).
        - `reusable` string — Whether the payment is reusable.
      - `amountContributed` object — The amount which is contributed by this payment source.
        - `currency` string — Three-letter ISO currency code associated with the object.
        - `value` number — Value associated with the object.
      - `charges` PaymentMethodObjectPaymentSourceCharge[] — Payment charge information, displayed when the payment source has payment charge records.
        - `chargeId` string — The unique identifier of the charge.
        - `amount` object — The amount which is charged for this payment source.
          - `currency` string — Three-letter ISO currency code associated with the object.
          - `value` number — Value associated with the object.
        - `status` 'pending' | 'capturable' | 'processing' | 'complete' | 'cancelled' | 'failed' — The current status of this charge. Possible values are: "pending" "capturable" "processing" "complete" "cancelled" "failed"
        - `createdTime` string — The time when the charge was created.
        - `updatedTime` string — The time when the charge was last updated.
      - `supplementaryPaymentMethods` PaymentMethodObjectSupplementaryPaymentSource[] — Supplementary payment information, displayed when cart using Payment Source created supplementary payments.
        - `type` string — The type of the payment. The payment type will correspond to another element in the source response that contains detailed information specific to the type. For example, a type of customerCredit indicates that there is an object in the response named customerCredit that will contain customer-credit-specific data.
        - `sourceId` string — A unique identifier for the payment source.
        - `sourceClientSecret` string — The unique client secret for the payment source.
        - `customerCredit` object — Customer credit information. This field is displayed when type is customerCredit.
          - `flow` 'standard' | 'redirect' | 'receiver' — The authentication flow of the source.
          - `reusable` string — Whether the payment is reusable.
        - `charges` PaymentMethodObjectSupplementaryPaymentSourceCharge[] — Payment charge information, displayed when the payment source has payment charge records.
          - `chargeId` string — The unique identifier of the charge.
          - `amount` object — The amount which is charged for this payment source.
            - `currency` string — Three-letter ISO currency code associated with the object.
            - `value` number — Value associated with the object.
          - `status` 'pending' | 'capturable' | 'processing' | 'complete' | 'cancelled' | 'failed' — The current status of this charge. Possible values are: "pending" "capturable" "processing" "complete" "cancelled" "failed"
          - `createdTime` string — The time when the charge was created.
          - `updatedTime` string — The time when the charge was last updated.
        - `amountContributed` object — The amount which is contributed by this payment source.
          - `currency` string — Three-letter ISO currency code associated with the object.
          - `value` number — Value associated with the object.
    - `shippingMethod` object
      - `code` string
      - `description` string
    - `shippingOptions` object
      - `uri` string
      - `shippingOption` DefaultShippingOption
        - `shippingOption` object
          - `uri` string
          - `id` integer — The shipping option identifier.
          - `description` string — The description of the shipping option.
          - `cost` DefaultCurrency
            - `currency` string
            - `value` string
          - `formattedCost` string — The sum of the shipping cost in the locale currency format. It displays a currency symbol such as the dollar sign, a decimal separator, and the number of fractional digits. Contact your Digital River team to set up the formatted cost.
          - `applyShippingOptionToCart` object
            - `uri` string
    - `paymentSession` PaymentSessionWithAmount — The payment session information.
      - `id` string — A unique identifier for this session.
      - `status` string — The current state of the session. Possible values are: * requires_source * requires_confirmation * pending * pending_funds * chargeable * complete * processing * failed * pending_redirect
      - `clientSecret` string — The unique client secret related to this session.
      - `redirectUrl` string — The redirect URL. This attribute only be displayed when pending_redirect status.
      - `amountContributed` object — The amount which is contributed by this payment source.
        - `currency` string — Three-letter ISO currency code associated with the object.
        - `value` number — Value associated with the object.
      - `amountRemainingToBeContributed` object — The remaining amount which need to be contributed for this cart.
        - `currency` string — Three-letter ISO currency code associated with the object.
        - `value` number — Value associated with the object.
    - `taxInclusive` boolean — The price list setup for the currency. * If true, the price list is set to tax inclusive. * If false, the price list is set to tax exclusive.
    - `landedCostState` string — The state of landed cost calculation whose enumerated values are as follows: * NOT_ELIGIBLE * The current cart is not eligible for landed cost calculation. * PREPAID * The current cart is eligible for landed cost calculation, and the landed cost will be prepaid. When the landedCostState is PREPAID, but the importTaxAndDuty value is 0, it might indicate that landed cost is not required. * VIEWED_NOT_ELIGIBLE * The landed cost state was ELIGIBLE or PREPAID, then became not eligible due to a change in the order that triggered the status to change to VIEWED_NOT_ELIGIBLE. For example, the customer changed their shipping address or added a line item or removed a line item. * ERROR * The landed cost calculation failed because the integration service was unavailable.
    - `pricing` CartOrderLevelExpandPrice
      - `subtotal` object — Order total before applying the order level discount. This is calculated based on sum of line item level salePriceWithQuantity. - It includes: * The line item level discount * The "Included in Price" fee (an invisible fee) if it's configured for the line item. * The "Excluded from price" fee (a visible fee) * If the price list is set to tax inclusive, this price will include tax. - It does not include: * The order level discount * If price list is set to tax exclusive, this price will NOT include tax. - The value for this field is the sum of all line item level salePriceWithQuantity values. If there is an "Excluded from price" (a visible fee), it will be treated as a line item and included in this value.
        - `currency` string
        - `value` number
      - `subtotalWithDiscount` object — Subtotal applied order level discount. * If the price list is set to tax inclusive, this price will include tax. * If price list is set to tax exclusive, this price will NOT include tax. * The value for this field uses the following formula: subtotal − discount
        - `currency` string
        - `value` number
      - `discount` object — Order level discount. - It includes: * If the price list is set to tax inclusive, this price will include tax - It does not include: * line item level discount. * If price list is set to tax exclusive, this price will NOT include tax - If you need an overall discount for this order, you would need to sum the values for totalDiscountWithQuantity and discount.
        - `currency` string
        - `value` number
      - `shippingAndHandling` object — The shipping and handling fee. - If the price list is set to tax inclusive, this price will include tax. - If price list is set to tax exclusive, this price will NOT include tax.
        - `currency` string
        - `value` number
      - `importTaxAndDuty` object — The sum of import taxes and duties for all line items.
        - `currency` string
        - `value` number
      - `tax` object — The sum of all tax of this order.
        - `currency` string
        - `value` number
      - `orderTotal` object — The final price of the order.
        - `currency` string
        - `value` number
      - `formattedSubtotal` string — The formatted subtotal.
      - `formattedDiscount` string — The formatted discount.
      - `formattedShippingAndHandling` string — The formatted shippingAndHandling.
      - `formattedImportTaxAndDuty` string — Formatted importTaxAndDuty, that displays symbols such as the dollar sign, a decimal separator, and the number of fractional digits. Contact your Digital River team to set up the formatted tax and duty.
      - `formattedTax` string — The formatted tax.
      - `formattedOrderTotal` string — The formatted orderTotal.
    - `customAttributes` DefaultCustomAttributes
      - `attribute` object[]
        - `name` string
        - `value` string
        - `type` string
    - `errors` object
      - `error` object
        - `code` string
        - `subcode` string
        - `description` string
    - `termsOfSalesAcceptance` string — To pass whether or not the customer accepted the Terms of Service.
    - `chargeType` string — Only visible when chargeType is explicitly provided.
    - `customerType` string — Shopper Type applied to this cart. B as Business, I as Individual.
    - `taxRegistrations` object[]
      - `key` string — Tax Registration Key
      - `value` string — Tax ID value
    - `organizationId` string — Only visible when organizationId is explicityly provided.
    - `warnings` CouponCodeNotEligibleWarning — Only visible when shopper applies the VALID promoCode to the cart but it doesn't meet the offer criteria.
      - `errors` object
        - `warning` object[]
          - `code` 'couponcode_not_eligible'
          - `description` 'The relevant discount triggered by {coupon code} will be applied to the cart once it meets the offer criteria...'

## Other responses

- `400` — * invalid-request * password-failure
- `401` — * invalid_token
- `404` — * resource-not-found * invalid-offer-id
- `409` — * ip-address-restriction-error * invalid-ip-address * concurrent-cart-modification-failure * add-base-product-cart-error * inventory-unavailable-error * line-item-creation-failure * invalid-product-id * cart-failure * payment-unexpected-error * invalid-state-code * invalid-postal-code

---

[API](https://skmtc.net/digitalriver/apis/commerce-api-suite-shopper-apis.md) · [All operations](https://skmtc.net/digitalriver/apis/commerce-api-suite-shopper-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitalriver/commerce-api-suite-shopper-apis/revisions/4b69392f93b9/schema)
