Additional Examples - Process Cart

<ProcessCartRequest xmlns="http://api.cleverbridge.com/datacontract">
  <Cart>
    <AcceptSubscription>true</AcceptSubscription>
    <BillingContact>
      <City>Aldera</City>
      <Company>R. Alliance AG</Company>
      <CompanyKatakana>アー・アライアンス・アー・ジー</CompanyKatakana>
      <CompanyRomanized>R. Alliance AG</CompanyRomanized>
      <CompanyTypeId>NPR</CompanyTypeId>
      <CountryId>CA</CountryId>
      <EMail>[email protected]</EMail>
      <Fax>0049-456-555-5555</Fax>
      <Firstname>Leia</Firstname>
      <FirstnameKatakana>レーアー</FirstnameKatakana>
      <FirstnameRomanized>Leia</FirstnameRomanized>
      <LanguageId>en</LanguageId>
      <Lastname>Organa</Lastname>
      <LastnameKatakana>オーガナー</LastnameKatakana>
      <LastnameRomanized>Organa</LastnameRomanized>
      <Phone1>0049-234-555-5555</Phone1>
      <Phone2>0049-345-555-5555</Phone2>
      <PostalCode>75008</PostalCode>
      <SalutationId>MS_</SalutationId>
      <StateId>CA-ON</StateId>
      <Street1>Alderaan Way 43</Street1>
      <Street2>Room 234</Street2>
      <Title>Princess</Title>
      <Url>www.cleverbridge.com</Url>
      <VatId>DE12232478394</VatId>
    </BillingContact>
     <CartItems>
      <CartItem>
      	<AdditionalName>For your home</AdditionalName>
      	<DynamicDiscount>
          <IncreaseNetPrice>true</IncreaseNetPrice>
          <IsGross>true</IsGross>
          <MaxIntervalNo>10</MaxIntervalNo>
          <Percent>50</Percent>
          <YourCurrency>EUR</YourCurrency>
        </DynamicDiscount>
        <DynamicInternalProductId>666666</DynamicInternalProductId>
       <DynamicPrice>
          <IncreaseNetPrice>true</IncreaseNetPrice>
          <IsGross>true</IsGross>
          <Items>
            <DynamicPriceItem>
              <Currency>USD</Currency>
              <Price>4.99</Price>
            </DynamicPriceItem>
          </Items>
          <YourCurrency>EUR</YourCurrency>
        </DynamicPrice>
        <DynamicSubscription>
          <IntervalCount>6</IntervalCount>
          <SubscriptionInterval>Months</SubscriptionInterval>
        </DynamicSubscription>
        <InternalProductId>55555</InternalProductId>
        <Name>Internet Security Basic Extended</Name>
        <ProductId>97771</ProductId>
        <Quantity>5</Quantity>
        <ExtraParameters>
          <ExtraParameter>
            <Key>x-source</Key>
            <Value>summercampaign</Value>
          </ExtraParameter>
          <ExtraParameter>
            <Key>x-sale</Key>
            <Value>50</Value>
          </ExtraParameter>
        </ExtraParameters>
      </CartItem>
      <CartItem>
      	<AdditionalName>For your small business or home office</AdditionalName>
        <DynamicDiscount>
          <IncreaseNetPrice>true</IncreaseNetPrice>
          <IsGross>true</IsGross>
          <MaxIntervalNo>10</MaxIntervalNo>
          <Percent>50</Percent>
          <YourCurrency>USD</YourCurrency>
        </DynamicDiscount>
        <DynamicInternalProductId>4444</DynamicInternalProductId>
        <DynamicPrice>
          <IncreaseNetPrice>true</IncreaseNetPrice>
          <IsGross>true</IsGross>
          <Items>
            <DynamicPriceItem>
              <Currency>USD</Currency>
              <Price>69.95</Price>
            </DynamicPriceItem>
          </Items>
          <YourCurrency>USD</YourCurrency>
        </DynamicPrice>
        <DynamicSubscription>
          <IntervalCount>6</IntervalCount>
          <SubscriptionInterval>Months</SubscriptionInterval>
        </DynamicSubscription>
        <InternalProductId>333</InternalProductId>
        <Name>Internet Security Professional</Name>
        <ProductId>97772</ProductId>
        <Quantity>5</Quantity>
        <ExtraParameters>
          <ExtraParameter>
            <Key>x-source</Key>
            <Value>summercampaign</Value>
          </ExtraParameter>
          <ExtraParameter>
            <Key>x-sale</Key>
            <Value>50</Value>
          </ExtraParameter>
        </ExtraParameters>
      </CartItem>
    </CartItems>
    <ConfigurationName>2pageflow</ConfigurationName>
    <Coupons>
      <Item>BD3-1KK-UN3</Item>
    </Coupons>
    <CustomerIsReseller>true</CustomerIsReseller>
    <DefaultCountryId>US</DefaultCountryId>
    <DefaultCurrencyId>CAD</DefaultCurrencyId>
    <DefaultLanguageId>en</DefaultLanguageId>
    <DeliveryContact>
      <City>Aldera</City>
      <Company>R. Alliance AG</Company>
      <CompanyKatakana>アー・アライアンス・アー・ジー</CompanyKatakana>
      <CompanyRomanized>R. Alliance AG</CompanyRomanized>
      <CompanyTypeId>NPR</CompanyTypeId>
      <CountryId>CA</CountryId>
      <EMail>[email protected]</EMail>
      <Fax>0049-456-555-5555</Fax>
      <Firstname>Leia</Firstname>
      <FirstnameKatakana>レーアー</FirstnameKatakana>
      <FirstnameRomanized>Leia</FirstnameRomanized>
      <LanguageId>en</LanguageId>
      <Lastname>Organa</Lastname>
      <LastnameKatakana>オーガナー</LastnameKatakana>
      <LastnameRomanized>Organa</LastnameRomanized>
      <Phone1>0049-234-555-5555</Phone1>
      <Phone2>0049-345-555-5555</Phone2>
      <PostalCode>75008</PostalCode>
      <SalutationId>MS_</SalutationId>
      <StateId>CA-ON</StateId>
      <Street1>Alderaan Way 43</Street1>
      <Street2>Room 234</Street2>
      <Title>Princess</Title>
      <Url>www.cleverbridge.com</Url>
      <VatId>DE12232478394</VatId>
    </DeliveryContact>
    <ExtraParameters>
      <ExtraParameter>
        <Key>x-tracking</Key>
        <Value>ABC</Value>
      </ExtraParameter>
      <ExtraParameter>
        <Key>x-userid</Key>
        <Value>12345</Value>
      </ExtraParameter>
    </ExtraParameters>
    <LicenseeContact>
       <City>Aldera</City>
      <Company>R. Alliance AG</Company>
      <CompanyKatakana>アー・アライアンス・アー・ジー</CompanyKatakana>
      <CompanyRomanized>R. Alliance AG</CompanyRomanized>
      <CompanyTypeId>NPR</CompanyTypeId>
      <CountryId>CA</CountryId>
      <EMail>[email protected]</EMail>
      <Fax>0049-456-555-5555</Fax>
      <Firstname>Leia</Firstname>
      <FirstnameKatakana>レーアー</FirstnameKatakana>
      <FirstnameRomanized>Leia</FirstnameRomanized>
      <LanguageId>en</LanguageId>
      <Lastname>Organa</Lastname>
      <LastnameKatakana>オーガナー</LastnameKatakana>
      <LastnameRomanized>Organa</LastnameRomanized>
      <Phone1>0049-234-555-5555</Phone1>
      <Phone2>0049-345-555-5555</Phone2>
      <PostalCode>75008</PostalCode>
      <SalutationId>MS_</SalutationId>
      <StateId>CA-ON</StateId>
      <Street1>Alderaan Way 43</Street1>
      <Street2>Room 234</Street2>
      <Title>Princess</Title>
      <Url>www.cleverbridge.com</Url>
      <VatId>DE12232478394</VatId>
    </LicenseeContact>
    <LogonPurchaseId>115515453</LogonPurchaseId>
    <Pricelistrules>
      <Item>1234</Item>
    </Pricelistrules>
    <Recommendationsets>
      <Item>14665</Item>
    </Recommendationsets>
    <TrackingParameters>
      <Item>CJ</Item>
      <Item>NL-Summer</Item>
    </TrackingParameters>
    <UseInternalContacts>false</UseInternalContacts>
  </Cart>
  <ExtraParameterMode>Default</ExtraParameterMode>
  <FraudProtectionMode>Enabled</FraudProtectionMode>
  <ProcessCartMode>Interactive</ProcessCartMode>
</ProcessCartRequest>
<ProcessCartResponse xmlns="http://api.cleverbridge.com/datacontract">
  <ResultMessage>TestOrder</ResultMessage>
  <ProcessResult>TestOrder</ProcessResult>
  <PurchaseId>131376428</PurchaseId>
  <IsPaymentRetryScheduled>false</IsPaymentRetryScheduled>
  <PaymentResult>
    <Code>GEN_PAY</Code>
    <Message>Successful</Message>
  </PaymentResult>
</ProcessCartResponse>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://api.cleverbridge.com/datacontract" elementFormDefault="qualified" targetNamespace="http://api.cleverbridge.com/datacontract">
   <xs:element name="ProcessCartRequest" nillable="true" type="tns:ProcessCartRequest" />
   <xs:complexType name="ProcessCartRequest">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="Cart" type="tns:Cart" />
         <xs:element minOccurs="1" maxOccurs="1" name="ExtraParameterMode" type="tns:ExtraParameterModeType" />
         <xs:element minOccurs="1" maxOccurs="1" name="FraudProtectionMode" type="tns:FraudProtectionModeType" />
         <xs:element minOccurs="1" maxOccurs="1" name="ProcessCartMode" type="tns:ProcessCartModeType" />
         <xs:element minOccurs="0" maxOccurs="1" name="Subscription" type="tns:Subscription" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Cart">
      <xs:sequence>
         <xs:element minOccurs="1" maxOccurs="1" name="AcceptSubscription" type="xs:boolean" />
         <xs:element minOccurs="0" maxOccurs="1" name="BillingContact" type="tns:Contact" />
         <xs:element minOccurs="0" maxOccurs="1" name="CartItems" type="tns:ArrayOfCartItem" />
         <xs:element minOccurs="0" maxOccurs="1" name="ConfigurationName" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Coupons" type="tns:ArrayOfString" />
         <xs:element minOccurs="1" maxOccurs="1" name="CustomerIsReseller" type="xs:boolean" />
         <xs:element minOccurs="0" maxOccurs="1" name="CustomerReferenceId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="DefaultCountryId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="DefaultCurrencyId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="DefaultLanguageId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="DeliveryContact" type="tns:Contact" />
         <xs:element minOccurs="0" maxOccurs="1" name="ExtraParameters" type="tns:ArrayOfExtraParameter" />
         <xs:element minOccurs="0" maxOccurs="1" name="LicenseeContact" type="tns:Contact" />
         <xs:element minOccurs="1" maxOccurs="1" name="LogonPurchaseId" type="xs:long" />
         <xs:element minOccurs="0" maxOccurs="1" name="Pricelistrules" type="tns:ArrayOfString" />
         <xs:element minOccurs="0" maxOccurs="1" name="Recommendationsets" type="tns:ArrayOfString" />
         <xs:element minOccurs="0" maxOccurs="1" name="TrackingParameters" type="tns:ArrayOfString" />
         <xs:element minOccurs="1" maxOccurs="1" name="UseInternalContacts" type="xs:boolean" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="Contact">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="City" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Company" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="CompanyKatakana" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="CompanyRomanized" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="CompanyTypeId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="CountryId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="EMail" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Fax" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Firstname" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="FirstnameKatakana" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="FirstnameRomanized" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="LanguageId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Lastname" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="LastnameKatakana" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="LastnameRomanized" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Phone1" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Phone2" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="PostalCode" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="SalutationId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="StateId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Street1" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Street2" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Title" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Url" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="VatId" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ArrayOfCartItem">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="CartItem" nillable="true" type="tns:CartItem" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="CartItem">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="AdditionalName" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="DynamicDiscount" type="tns:DynamicDiscount" />
         <xs:element minOccurs="0" maxOccurs="1" name="DynamicInternalProductId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="DynamicPrice" type="tns:DynamicPrice" />
         <xs:element minOccurs="0" maxOccurs="1" name="DynamicSubscription" type="tns:DynamicSubscription" />
         <xs:element minOccurs="0" maxOccurs="1" name="InternalProductId" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
         <xs:element minOccurs="1" maxOccurs="1" name="ProductId" type="xs:long" />
         <xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="xs:int" />
         <xs:element minOccurs="0" maxOccurs="1" name="ExtraParameters" type="tns:ArrayOfExtraParameter" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="DynamicDiscount">
      <xs:sequence>
         <xs:element minOccurs="1" maxOccurs="1" name="IncreaseNetPrice" type="xs:boolean" />
         <xs:element minOccurs="1" maxOccurs="1" name="IsGross" type="xs:boolean" />
         <xs:element minOccurs="0" maxOccurs="1" name="Items" type="tns:ArrayOfDynamicDiscountItem" />
         <xs:element minOccurs="1" maxOccurs="1" name="MaxIntervalNo" type="xs:long" />
         <xs:element minOccurs="1" maxOccurs="1" name="Percent" type="xs:decimal" />
         <xs:element minOccurs="0" maxOccurs="1" name="YourCurrency" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ArrayOfDynamicDiscountItem">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="DynamicDiscountItem" nillable="true" type="tns:DynamicDiscountItem" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="DynamicDiscountItem">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="Currency" type="xs:string" />
         <xs:element minOccurs="1" maxOccurs="1" name="Price" type="xs:decimal" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="DynamicPrice">
      <xs:sequence>
         <xs:element minOccurs="1" maxOccurs="1" name="IncreaseNetPrice" type="xs:boolean" />
         <xs:element minOccurs="1" maxOccurs="1" name="IsGross" type="xs:boolean" />
         <xs:element minOccurs="0" maxOccurs="1" name="Items" type="tns:ArrayOfDynamicPriceItem" />
         <xs:element minOccurs="0" maxOccurs="1" name="YourCurrency" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ArrayOfDynamicPriceItem">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="DynamicPriceItem" nillable="true" type="tns:DynamicPriceItem" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="DynamicPriceItem">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="Currency" type="xs:string" />
         <xs:element minOccurs="1" maxOccurs="1" name="Price" type="xs:decimal" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="DynamicSubscription">
      <xs:sequence>
         <xs:element minOccurs="1" maxOccurs="1" name="IntervalCount" type="xs:int" />
         <xs:element minOccurs="1" maxOccurs="1" name="SubscriptionInterval" type="tns:SubscriptionIntervalType" />
      </xs:sequence>
   </xs:complexType>
   <xs:simpleType name="SubscriptionIntervalType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Days" />
         <xs:enumeration value="Months" />
      </xs:restriction>
   </xs:simpleType>
   <xs:complexType name="ArrayOfExtraParameter">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="ExtraParameter" nillable="true" type="tns:ExtraParameter" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ExtraParameter">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="Key" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Value" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ArrayOfString">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="unbounded" name="Item" nillable="true" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
   <xs:simpleType name="ExtraParameterModeType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Default" />
         <xs:enumeration value="PurchaseOnly" />
         <xs:enumeration value="SubscriptionOnly" />
      </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="FraudProtectionModeType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Enabled" />
         <xs:enumeration value="Disabled" />
      </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="ProcessCartModeType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Interactive" />
         <xs:enumeration value="NonInteractive" />
      </xs:restriction>
   </xs:simpleType>
   <xs:complexType name="Subscription">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="SubscriptionId" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://api.cleverbridge.com/datacontract" elementFormDefault="qualified" targetNamespace="http://api.cleverbridge.com/datacontract">
   <xs:element name="ProcessCartResponse" nillable="true" type="tns:ProcessCartResponse" />
   <xs:complexType name="ProcessCartResponse">
      <xs:complexContent mixed="false">
         <xs:extension base="tns:BaseResponseMessage">
            <xs:sequence>
               <xs:element minOccurs="0" maxOccurs="1" name="ContinueUrl" type="xs:string" />
               <xs:element minOccurs="0" maxOccurs="1" name="Error" type="tns:ErrorType" />
               <xs:element minOccurs="1" maxOccurs="1" name="ProcessResult" type="tns:ProcessResultType" />
               <xs:element minOccurs="1" maxOccurs="1" name="PurchaseId" type="xs:long" />
              <xs:element minOccurs="1" maxOccurs="1" name="IsPaymentRetryScheduled" type="xs:boolean"/>
            </xs:sequence>
         </xs:extension>
      </xs:complexContent>
   </xs:complexType>
   <xs:complexType name="BaseResponseMessage">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="ResultMessage" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ErrorType">
      <xs:sequence>
         <xs:element minOccurs="0" maxOccurs="1" name="Code" type="xs:string" />
         <xs:element minOccurs="0" maxOccurs="1" name="Message" type="xs:string" />
      </xs:sequence>
   </xs:complexType>
   <xs:simpleType name="ProcessResultType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Paid" />
         <xs:enumeration value="WaitingForOfflinePayment" />
         <xs:enumeration value="TestOrder" />
         <xs:enumeration value="Pending" />
         <xs:enumeration value="Failed" />
         <xs:enumeration value="CustomerActionNeeded" />
         <xs:enumeration value="ContactMissing" />
         <xs:enumeration value="SubscriptionNotFound" />
      </xs:restriction>
   </xs:simpleType>
</xs:schema>