shoppingCart

The shoppingCart represents customer shopping cart for which a payment is triggered.

Example:

<shoppingCart>
  <items>
    <item>
      <product>
        <id>123</id>
        <name>Jeans</name>
        <description>stonewashed</description>
        <unitPrice>
          <grossAmount>40</grossAmount>
          <taxAmount rate="20" name="VAT">6.67</taxAmount>
        </unitPrice>
        <type>Physical</type>
      </product>
      <quantity>1</quantity>
      <totalPrice>
        <grossAmount>30</grossAmount>
        <taxAmount rate="20" name="VAT">5</taxAmount>
      </totalPrice>
      <discount>
        <name>Jeans-Promotion</name>
        <grossAmount>-10</grossAmount>
        <taxAmount rate="20" name="VAT">-1.67</taxAmount>
      </discount>
    </item>
    <item>
      <product>
        <id>456</id>
        <name>CD Rom</name>
        <description>CD Rom</description>
        <unitPrice>
          <grossAmount>50</grossAmount>
          <taxAmount rate="10" name="VAT">4.54</taxAmount>
        </unitPrice>
      <type>Digital</type>
      </product>
      <quantity>2</quantity>
      <totalPrice>
        <grossAmount>80</grossAmount>
        <taxAmount rate="10" name="MwSt">7.27</taxAmount>
      </totalPrice>
      <discount>
        <name>Spring-Promotion</name>
        <grossAmount>-20</grossAmount>
        <taxAmount rate="10" name="VAT">-1.82</taxAmount>
      </discount>
    </item>
	 <item>
      <product>
        <id>789</id>
        <name>Gift Card</name>
        <description>Gift Card Purchase</description>
        <unitPrice>
          <grossAmount>15</grossAmount>
          <taxAmount rate="20" name="VAT">2.5</taxAmount>
        </unitPrice>
        <type>GiftCard</type>
      </product>
      <quantity>1</quantity>
      <totalPrice>
        <grossAmount>15</grossAmount>
        <taxAmount rate="20" name="VAT">2.5</taxAmount>
      </totalPrice>
     </item>
  </items>
  <subTotalAmount>125</subTotalAmount>
  <shippingCost>
    <name>Express</name>
    <grossAmount>30</grossAmount>
    <taxAmount rate="20" name="VAT">5</taxAmount>
  </shippingCost>
  <discounts>
    <discount>
      <name>Sales-Discount</name>
      <grossAmount>-10</grossAmount>
      <taxAmount rate="20" name="VAT">-1.67</taxAmount>
      <type>Discount</type>
    </discount>
  </discounts>
  <amountsByTax>
    <amountByTax taxName="VAT" taxRate="10">
      <grossAmount>80</grossAmount>
      <taxAmount>7.27</taxAmount>
    </amountByTax>
    <amountByTax taxName="VAT" taxRate="20">
      <grossAmount>45</grossAmount>
      <taxAmount>7.5</taxAmount>
    </amountByTax>
  </amountsByTax>
  <totalAmount>145</totalAmount>
  <totalTaxAmount>18.1</totalTaxAmount>
</shoppingCart>

Fields:

field (type, required)description
items
(arrayOfItem, required)
The shopping cart items
items.item
(item, required)
One item of the shopping cart
items.item.product
(product, required)
Product
items.item.product.id
(string, required)
Product ID
items.item.product.name
(string, required)
Product Name
Example: "Jeans"
items.item.product.description
(string)
Product Description
Example: "Stonewashed Size L"
items.item.product.unitPrice
(amountWithTax, required)
Price of the Product Item (per unit) including tax if applicable
items.item.product.type
(itemType)
The type of the product
Needed for specific payment methods, e.g. Klarna Deposit
The allowed values for this field can be found on the relevant payment method documentation page.
items.item.quantity
(positiveInt, required)
Number of items
items.item.totalPrice
(amountWithTax, required)
Total price considering numbers of item and unit price including tax if applicable
Calculation: (unitPrice - discount per unit) x quantity = totalPrice
or
unitPrice x quantity - total discount per item = totalPrice
items.item.discount
(amountWithTaxAndName)
Total discount per item with tax (if applicable) and discount name (name is mandatory).
Calculation: discount per unit x quantity
subTotalAmount
(decimal)
Sub total amount of the shopping cart. This amount does not include potential shipping costs or discounts on shopping cart level
shippingCost
(amountWithTaxAndName)
Shipping Costs with Tax (if applicable) and Name (name is mandatory)
discounts
(array of type amountWithTaxAndNameAndType)
Discount(s) on shopping cart level.
Collection of discount (max 100 items)
amountsByTax
(array of type amountByTax)
Collection of amountByTax (max 100 items)
amountsByTax.amountByTax
(amountByTax)
List of grouped amounts per tax category
amountsByTax.amountByTax.taxName
(amountByTax, attribute)
Name/description of the Tax type
Example: "VAT"
amountsByTax.amountByTax.taxRate
(amountByTax, attribute)
Tax rate (percentage)
Example: "10"
amountsByTax.amountByTax.grossAmount
(amountByTax)
Gross Amount of tax category group (sum of totalPrice of all items with the same tax rate), grouped per tax rate
amountsByTax.amountByTax.taxAmount
(amountByTax)
Tax amount of tax category group (sum of totalPrice of all items with the same tax rate), grouped per tax rate
totalAmount
(decimal)
Total amount of the shopping cart. This amount also includes potential shipping costs or discounts on shopping cart level
totalTaxAmount
(decimal)
Total tax amount of the shopping cart (if applicable). This amount also includes the tax of potential shipping costs or discounts on shopping cart level

Please note that the total amount of the shopping cart is not part of the shoppingCart element, but is to be found in getRedirectDataRequest.redirectParameters.grossAmount or initiatePayment.amount.

XML Schema:

<s:complexType name="shoppingCart">
  <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="items">
      <s:complexType>
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="100" name="item" >
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="product">
                  <s:complexType>
                    <s:sequence>
                      <s:element minOccurs="1" maxOccurs="1" name="id" type="lengthRestrictedString" />
                      <s:element minOccurs="1" maxOccurs="1" name="name" type="lengthRestrictedString" />
                      <s:element minOccurs="0" maxOccurs="1" name="description" type="lengthRestrictedString" />
                      <s:element minOccurs="1" maxOccurs="1" name="unitPrice" type="amountWithTax" />
                      <s:element minOccurs="0" maxOccurs="1" name="type" type="itemType" />                    
                    </s:sequence>   
                  </s:complexType>
                </s:element>
                <s:element minOccurs="1" maxOccurs="1" name="quantity" type="positiveInt" />
                <s:element minOccurs="1" maxOccurs="1" name="totalPrice" type="amountWithTax" />
                <s:element minOccurs="0" maxOccurs="1" name="discount" type="amountWithTaxAndName" />
              </s:sequence> 
            </s:complexType>
          </s:element>   
        </s:sequence>
      </s:complexType>									
    </s:element>                                                                                                                    
    <s:element minOccurs="0" maxOccurs="1" name="subTotalAmount" type="s:decimal" />
    <s:element minOccurs="0" maxOccurs="1" name="shippingCost" type="amountWithTaxAndName" />
    <s:element minOccurs="0" maxOccurs="1" name="discounts" nillable="true">
      <s:complexType>
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="100" name="discount" type="amountWithTaxAndNameAndType" />
        </s:sequence>
      </s:complexType>
    </s:element>
    <s:element minOccurs="0" maxOccurs="1" name="amountsByTax" nillable="true">
      <s:complexType>
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="100" name="amountByTax" type="amountByTax"></s:element>
        </s:sequence>
      </s:complexType>
    </s:element>
  </s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="totalAmount" type="s:decimal" />
  <s:element minOccurs="0" maxOccurs="1" name="totalTaxAmount" type="s:decimal" />
</s:complexType>