<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:simpleType name="LanguageType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EN"/>
      <xs:enumeration value="DE"/>
      <xs:enumeration value="BG"/>
      <xs:enumeration value="FR"/>
      <xs:enumeration value="HU"/>
      <xs:enumeration value="NL"/>
      <xs:enumeration value="ES"/>
      <xs:enumeration value="IT"/>
      <xs:enumeration value="CS"/>
      <xs:enumeration value="HR"/>
      <xs:enumeration value="SK"/>
      <xs:enumeration value="SL"/>
      <xs:enumeration value="SR"/>
      <xs:enumeration value="RO"/>
      <xs:enumeration value="RU"/>
      <xs:enumeration value="PL"/>
      <xs:enumeration value="PT"/>
      <xs:enumeration value="TR"/>
      <xs:enumeration value="ZH"/>
      <xs:enumeration value="JA"/>
      <xs:enumeration value="DA"/>
      <xs:enumeration value="FI"/>
      <xs:enumeration value="SV"/>
      <xs:enumeration value="NO"/>
      <xs:enumeration value="UK"/>
      <xs:enumeration value="EL"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ClientIPType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="45"/>
      <xs:pattern value="([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})|((([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PaymentTypeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CC"/>
      <xs:enumeration value="CB"/>
      <xs:enumeration value="MAESTRO"/>
      <xs:enumeration value="EPS"/>
      <xs:enumeration value="MIA"/>
      <xs:enumeration value="PB"/>
      <xs:enumeration value="PSC"/>
      <xs:enumeration value="CASH-TICKET"/>
      <xs:enumeration value="ELV"/>
      <xs:enumeration value="QUICK"/>
      <xs:enumeration value="GIROPAY"/>
      <xs:enumeration value="PAYPAL"/>
      <xs:enumeration value="BILLPAY"/>
      <xs:enumeration value="INVOICE"/>
      <xs:enumeration value="HP"/>
      <xs:enumeration value="SAFETYPAY"/>
      <xs:enumeration value="KLARNA"/>
      <xs:enumeration value="SOFORT"/>
      <xs:enumeration value="PAYOLUTION"/>
      <xs:enumeration value="POSTFINANCE"/>
      <xs:enumeration value="ELVSECURE"/>
      <xs:enumeration value="IDEAL"/>
      <xs:enumeration value="ALIPAY"/>
      <xs:enumeration value="WECHATPAY"/>
      <xs:enumeration value="PREPAYMENT"/>
      <xs:enumeration value="TWINT"/>
      <xs:enumeration value="OPENBANKING"/>
      <xs:enumeration value="APPLEPAY"/>
      <xs:enumeration value="GOOGLEPAY"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PaymentBrandType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AMEX"/>
      <xs:enumeration value="DINERS"/>
      <xs:enumeration value="MASTERCARD"/>
      <xs:enumeration value="VISA"/>
      <xs:enumeration value="JCB"/>
      <xs:enumeration value="UNIONPAY"/>
      <xs:enumeration value="BANK-BGLD"/>
      <xs:enumeration value="BAWAG"/>
      <xs:enumeration value="BA"/>
      <xs:enumeration value="ERSTE"/>
      <xs:enumeration value="RZB"/>
      <xs:enumeration value="HYPO"/>
      <xs:enumeration value="VOLKSBANK"/>
      <xs:enumeration value="ARZ"/>
      <xs:enumeration value="ONE"/>
      <xs:enumeration value="T-MOBILE"/>
      <xs:enumeration value="ORANGE"/>
      <xs:enumeration value="EPS"/>
      <xs:enumeration value="ATOS"/>
      <xs:enumeration value="HOBEX-AT"/>
      <xs:enumeration value="HOBEX-DE"/>
      <xs:enumeration value="HOBEX-NL"/>
      <xs:enumeration value="BILLPAY"/>
      <xs:enumeration value="INVOICE"/>
      <xs:enumeration value="HP"/>
      <xs:enumeration value="INTERNATIONAL"/>
      <xs:enumeration value="PAYOLUTION"/>
      <xs:enumeration value="PAYSAFECASH"/>
      <xs:enumeration value="CARD"/>
      <xs:enumeration value="EFINANCE"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PaymentSubBrandType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="3"/>
      <xs:pattern value="[0-9]{1,3}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PriceType">
    <xs:restriction base="xs:float">
      <xs:pattern value="\-?\d{1,9}(\.\d{2})?"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CurrencyType">
    <xs:restriction base="xs:string">
      <xs:length value="3"/>
      <xs:pattern value="[A-Z]{3}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AddressModeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ReadOnly"/>
      <xs:enumeration value="ReadWrite"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AddressFieldType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CustomerType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="50"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CustomerIDType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="32"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ProfileIDType">
    <xs:restriction base="xs:string">
      <xs:maxLength value="12"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="URLType">
    <xs:restriction base="xs:anyURI">
      <xs:pattern value="(http://|https://).{5,2040}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:attributeGroup name="BasicAttributes">
    <xs:attribute name="Style" type="xs:string"/>
    <xs:attribute name="HeaderStyle" type="xs:string"/>
    <xs:attribute name="LogoStyle" type="xs:string"/>
    <xs:attribute name="PageHeaderStyle" type="xs:string"/>
    <xs:attribute name="PageCaptionStyle" type="xs:string"/>
    <xs:attribute name="PageStyle" type="xs:string"/>
    <xs:attribute name="InputFieldsStyle" type="xs:string"/>
    <xs:attribute name="DropDownListsStyle" type="xs:string"/>
    <xs:attribute name="ButtonsStyle" type="xs:string"/>
    <xs:attribute name="ErrorsStyle" type="xs:string"/>
    <xs:attribute name="ErrorsHeaderStyle" type="xs:string"/>
    <xs:attribute name="SuccessTitleStyle" type="xs:string"/>
    <xs:attribute name="ErrorTitleStyle" type="xs:string"/>
    <xs:attribute name="FooterStyle" type="xs:string"/>
  </xs:attributeGroup>
  <xs:complexType name="AddressType">
    <xs:sequence>
      <xs:choice>
        <xs:element name="Name">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="AddressFieldType">
                <xs:attribute name="Gender">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:length value="1"/>
                      <xs:enumeration value="M"/>
                      <xs:enumeration value="F"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="Birthday" type="xs:date"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:sequence>
          <xs:annotation>
            <xs:documentation>Obsolete: use Name</xs:documentation>
          </xs:annotation>
          <xs:element name="FirstName">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:maxLength value="50"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="LastName">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:maxLength value="50"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
        </xs:sequence>
      </xs:choice>
      <xs:sequence minOccurs="0">
        <xs:element name="Street">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="AddressFieldType"/>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Street2" type="AddressFieldType" minOccurs="0"/>
        <xs:element name="Zip" type="AddressFieldType"/>
        <xs:element name="City" type="AddressFieldType"/>
        <xs:element name="State" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="40"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Country">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="AddressFieldType">
                <xs:attribute name="Code">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:pattern value="[A-Z]{2}"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:element name="Email" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="64"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Phone" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="20"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PayolutionPaymentSpecificType">
    <xs:sequence>
      <xs:element name="InvoiceType">
        <xs:annotation>
          <xs:appinfo source="list">payolution_type</xs:appinfo>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="3"/>
            <xs:enumeration value="B2C"/>
            <xs:enumeration value="B2B"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Company" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LegalForm">
              <xs:annotation>
                <xs:appinfo source="list">payolution_company</xs:appinfo>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:enumeration value="COMPANY"/>
                  <xs:enumeration value="SOLE"/>
                  <xs:enumeration value="REGISTERED"/>
                  <xs:enumeration value="PUBLIC"/>
                  <xs:enumeration value="OTHER"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="Name" type="xs:string"/>
            <xs:element name="Owner" minOccurs="0">
              <xs:annotation>
                <xs:documentation>LegalForm: SOLE</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="FirstName">
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:maxLength value="20"/>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="LastName">
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:maxLength value="20"/>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                  <xs:element name="Birthday" type="xs:date"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="UID" type="xs:string" minOccurs="0"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Order">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ClientIP" type="ClientIPType" minOccurs="0"/>
        <xs:element name="UserField" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="255"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Tid">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="32"/>
              <xs:minLength value="1"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="TemplateSet" minOccurs="0">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="CSSName" type="xs:string"/>
                <xs:attribute name="Language" type="LanguageType"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="PaymentTypes" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Payment" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="Type" type="PaymentTypeType" use="required"/>
                  <xs:attribute name="Brand" type="PaymentBrandType"/>
                  <xs:attribute name="SubBrand" type="PaymentSubBrandType"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="Enable" type="xs:boolean" default="true">
              <xs:annotation>
                <xs:documentation>Enable or disable the specified payment types</xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="PaymentProfiles" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ProfileID" type="ProfileIDType" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="Enable" type="xs:boolean" default="true">
              <xs:annotation>
                <xs:documentation>Enable or disable specified customer payment profiles</xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="ShoppingCart" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Description" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Number" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="Style" type="xs:string"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="ProductNr" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="Style" type="xs:string"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Description" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="Style" type="xs:string"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Package" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="Style" type="xs:string"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Quantity" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:unsignedInt">
                            <xs:attribute name="Style" type="xs:string"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="ItemPrice" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="PriceType">
                            <xs:attribute name="Style" type="xs:string"/>
                            <xs:attribute name="Tax" type="PriceType"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Price" minOccurs="0">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="PriceType">
                            <xs:attribute name="Style" type="xs:string"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="SubTotal">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="PriceType">
                        <xs:attribute name="Header" type="xs:string"/>
                        <xs:attribute name="HeaderStyle" type="xs:string"/>
                        <xs:attribute name="Style" type="xs:string"/>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
                <xs:element name="Discount">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="PriceType">
                        <xs:attribute name="Header" type="xs:string"/>
                        <xs:attribute name="HeaderStyle" type="xs:string"/>
                        <xs:attribute name="Style" type="xs:string"/>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
                <xs:element name="ShippingCosts">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="PriceType">
                        <xs:attribute name="Header" type="xs:string"/>
                        <xs:attribute name="HeaderStyle" type="xs:string"/>
                        <xs:attribute name="Style" type="xs:string"/>
                        <xs:attribute name="Tax" type="PriceType"/>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
                <xs:element name="Tax">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="PriceType">
                        <xs:attribute name="Percent" type="xs:float"/>
                        <xs:attribute name="Header" type="xs:string"/>
                        <xs:attribute name="HeaderStyle" type="xs:string"/>
                        <xs:attribute name="Style" type="xs:string"/>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:choice>
            </xs:sequence>
            <xs:attribute name="Header" type="xs:string"/>
            <xs:attribute name="HeaderStyle" type="xs:string"/>
            <xs:attribute name="Style" type="xs:string"/>
            <xs:attribute name="CaptionStyle" type="xs:string"/>
            <xs:attribute name="NumberHeader" type="xs:string"/>
            <xs:attribute name="NumberStyle" type="xs:string"/>
            <xs:attribute name="ProductNrHeader" type="xs:string"/>
            <xs:attribute name="ProductNrStyle" type="xs:string"/>
            <xs:attribute name="DescriptionHeader" type="xs:string"/>
            <xs:attribute name="DescriptionStyle" type="xs:string"/>
            <xs:attribute name="PackageHeader" type="xs:string"/>
            <xs:attribute name="PackageStyle" type="xs:string"/>
            <xs:attribute name="QuantityHeader" type="xs:string"/>
            <xs:attribute name="QuantityStyle" type="xs:string"/>
            <xs:attribute name="ItemPriceHeader" type="xs:string"/>
            <xs:attribute name="ItemPriceStyle" type="xs:string"/>
            <xs:attribute name="PriceHeader" type="xs:string"/>
            <xs:attribute name="PriceStyle" type="xs:string"/>
          </xs:complexType>
        </xs:element>
        <xs:element name="PaymentSpecific" minOccurs="0">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="PAYOLUTION" type="PayolutionPaymentSpecificType"/>
              <xs:element name="INVOICE" type="PayolutionPaymentSpecificType"/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name="Price">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="PriceType">
                <xs:attribute name="Header" type="xs:string"/>
                <xs:attribute name="HeaderStyle" type="xs:string"/>
                <xs:attribute name="Style" type="xs:string"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Currency" minOccurs="0">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="CurrencyType">
                <xs:attribute name="Display"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="Customer" minOccurs="0">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="CustomerType">
                <xs:attribute name="Id">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:maxLength value="32"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="UseProfile" type="xs:boolean"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BillingAddr" minOccurs="0">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="AddressType">
                <xs:attribute name="Mode" type="AddressModeType" use="required"/>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="ShippingAddr" minOccurs="0">
          <xs:complexType>
            <xs:complexContent>
              <xs:extension base="AddressType">
                <xs:attribute name="Mode" type="AddressModeType" use="required"/>
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="URL" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Success" type="URLType" minOccurs="0"/>
              <xs:element name="Error" type="URLType" minOccurs="0"/>
              <xs:element name="Confirmation" type="URLType" minOccurs="0"/>
              <xs:element name="Cancel" type="URLType" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attributeGroup ref="BasicAttributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Profile">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ClientIP" type="ClientIPType" minOccurs="0"/>
        <xs:element name="TemplateSet" minOccurs="0">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute name="CSSName" type="xs:string"/>
                <xs:attribute name="Language" type="LanguageType"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="PaymentTypes" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Payment" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="Type" type="PaymentTypeType" use="required"/>
                  <xs:attribute name="Brand" type="PaymentBrandType"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="Enable" type="xs:boolean" default="true">
              <xs:annotation>
                <xs:documentation>Enable or disable the specified payment types</xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element name="CustomerID">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="CustomerIDType">
                <xs:attribute name="ProfileID" type="ProfileIDType">
                  <xs:annotation>
                    <xs:documentation>Should be set to update an existing profile</xs:documentation>
                  </xs:annotation>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="BillingAddr" type="AddressType" minOccurs="0"/>
        <xs:element name="URL" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Success" type="URLType" minOccurs="0"/>
              <xs:element name="Cancel" type="URLType" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attributeGroup ref="BasicAttributes"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
