<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://webservices.micropayment.de/xslt/?tpl=public.service-html.transformer"?>
<service request-protocol="HTTP_PARAMS" response-protocol="NVP" type="DebitService" location="https://webservices.micropayment.de/public/debit/v1.4/nvp/">
  <description>Api steuert die Bezahlung per Lastschrift</description>
  <types>
    <type name="void" type="void">
      <description><![CDATA[keine Rückgabe]]></description>
    </type>
    <type name="string" type="string">
      <description><![CDATA[String: ein Datentyp der eine Folge von Zeichen (z. B. Buchstaben, Ziffern, Sonderzeichen und Steuerzeichen) aus einem definierten Zeichensatz enthält]]></description>
    </type>
    <type name="integer" type="integer">
      <description><![CDATA[Integer: ein Datentyp der ganzzahlige Werte speichert]]></description>
    </type>
    <type name="array" type="array">
      <description><![CDATA[Array: eine Datenstruktur die eine Liste von Elementen, meißt eines einheitlichen Datentyps, enthält - die Elemente werden über einen ganzzahligen(integer) Index adressiert]]></description>
    </type>
  </types>
  <methods>
    <method name="resetTest">
      <description><![CDATA[löscht alle Kunden und Transaktionen in der Testumgebung]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="true">
          <description><![CDATA[Muss 1 sein]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="customerCreate">
      <description><![CDATA[legt neuen Kunden an]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="false" default="null">
          <description><![CDATA[ eigene eindeutige ID des Kunden, wird anderenfalls erzeugt]]></description>
        </parameter>
        <parameter name="freeParams" type="array" required="false" default="null">
          <description><![CDATA[ Liste mit freien Parametern, die dem Kunden zugeordnet werden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="customerId" type="string" required="true">
            <description><![CDATA[eigene oder erzeugte eindeutige ID des Kunden]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="customerSet">
      <description><![CDATA[ordnet weitere freie Parameter dem Kunden zu, oder ändert sie]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[eindeutige ID des Kunden]]></description>
        </parameter>
        <parameter name="freeParams" type="array" required="false" default="null">
          <description><![CDATA[ Liste mit zusätzlichen freien Parametern]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="customerGet">
      <description><![CDATA[ermittelt alle freien Parameter des Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="freeParams" type="array" required="false" default="null">
            <description><![CDATA[ Liste mit allen freien Parametern]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="customerList">
      <description><![CDATA[ermittelt alle Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="from" type="integer" required="false" default="0">
          <description><![CDATA[ Position des ersten auszugebenden Kunden]]></description>
        </parameter>
        <parameter name="count" type="integer" required="false" default="100">
          <description><![CDATA[ Anzahl der auszugebenden Kunden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="customerIdList" type="array" required="true">
            <description><![CDATA[Liste mit allen freien Parametern]]></description>
          </parameter>
          <parameter name="count" type="integer" required="true">
            <description><![CDATA[Anzahl der Kunden in der Liste]]></description>
          </parameter>
          <parameter name="maxCount" type="integer" required="true">
            <description><![CDATA[Gesamtanzahl aller Kunden]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="bankaccountSet">
      <description><![CDATA[erzeugt oder ändert Bankverbindung eines Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
        <parameter name="country" type="string" required="false" default="'DE'">
          <description><![CDATA[ Sitz der Bank]]></description>
        </parameter>
        <parameter name="bankCode" type="string" required="true">
          <description><![CDATA[Bankleitzahl]]></description>
        </parameter>
        <parameter name="accountNumber" type="string" required="true">
          <description><![CDATA[Kontonummer]]></description>
        </parameter>
        <parameter name="accountHolder" type="string" required="true">
          <description><![CDATA[Kontoinhaber]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="bankName" type="string" required="true">
            <description><![CDATA[der ermittelte Name der Bank]]></description>
          </parameter>
          <parameter name="barStatus" type="string" required="true">
            <description><![CDATA[Sperr-Status der Kontoverbindung]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="bankaccountGet">
      <description><![CDATA[ermittelt die Bankverbindung des Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="country" type="string" required="true">
            <description><![CDATA[Sitz der Bank]]></description>
          </parameter>
          <parameter name="bankCode" type="string" required="true">
            <description><![CDATA[Bankleitzahl]]></description>
          </parameter>
          <parameter name="bankName" type="string" required="true">
            <description><![CDATA[Name der Bank]]></description>
          </parameter>
          <parameter name="accountNumber" type="string" required="true">
            <description><![CDATA[Kontonummer]]></description>
          </parameter>
          <parameter name="accountHolder" type="string" required="true">
            <description><![CDATA[Kontoinhaber]]></description>
          </parameter>
          <parameter name="barStatus" type="string" required="true">
            <description><![CDATA[Sperr-Status der Kontoverbindung]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="bankCheck">
      <description><![CDATA[prüft Bankleitzahl und ermittelt Banknamen]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="country" type="string" required="false" default="'DE'">
          <description><![CDATA[ Sitz der Bank]]></description>
        </parameter>
        <parameter name="bankCode" type="string" required="true">
          <description><![CDATA[Bankleitzahl]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="bankName" type="string" required="true">
            <description><![CDATA[Name der Bank]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="bankaccountCheck">
      <description><![CDATA[prüft Bankverbindung und ermittelt Banknamen]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="country" type="string" required="false" default="'DE'">
          <description><![CDATA[ Sitz der Bank]]></description>
        </parameter>
        <parameter name="bankCode" type="string" required="true">
          <description><![CDATA[Bankleitzahl]]></description>
        </parameter>
        <parameter name="accountNumber" type="string" required="true">
          <description><![CDATA[Kontonummer]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="bankName" type="string" required="true">
            <description><![CDATA[der ermittelte Name der Bank]]></description>
          </parameter>
          <parameter name="barStatus" type="string" required="true">
            <description><![CDATA[Sperr-Status der Kontoverbindung]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="bankaccountBar">
      <description><![CDATA[Sperrt Bankverbindung oder gibt sie frei]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="country" type="string" required="false" default="'DE'">
          <description><![CDATA[ Sitz der Bank]]></description>
        </parameter>
        <parameter name="bankCode" type="string" required="true">
          <description><![CDATA[Bankleitzahl]]></description>
        </parameter>
        <parameter name="accountNumber" type="string" required="true">
          <description><![CDATA[Kontonummer]]></description>
        </parameter>
        <parameter name="barStatus" type="string" required="true">
          <description><![CDATA[Sperr-Status BARRED, ALLOWED]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="addressSet">
      <description><![CDATA[erzeugt oder ändert Adressdaten eines Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
        <parameter name="firstName" type="string" required="true">
          <description><![CDATA[Vorname]]></description>
        </parameter>
        <parameter name="surName" type="string" required="true">
          <description><![CDATA[Nachname]]></description>
        </parameter>
        <parameter name="street" type="string" required="true">
          <description><![CDATA[Strasse und Hausnummer]]></description>
        </parameter>
        <parameter name="zip" type="string" required="true">
          <description><![CDATA[Postleitzahl]]></description>
        </parameter>
        <parameter name="city" type="string" required="true">
          <description><![CDATA[Ort]]></description>
        </parameter>
        <parameter name="country" type="string" required="false" default="'DE'">
          <description><![CDATA[ Land]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="addressGet">
      <description><![CDATA[ermittelt die Adresse des Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="firstName" type="string" required="true">
            <description><![CDATA[Vorname]]></description>
          </parameter>
          <parameter name="surName" type="string" required="true">
            <description><![CDATA[Nachname]]></description>
          </parameter>
          <parameter name="street" type="string" required="true">
            <description><![CDATA[Strasse und Hausnummer]]></description>
          </parameter>
          <parameter name="zip" type="string" required="true">
            <description><![CDATA[Postleitzahl]]></description>
          </parameter>
          <parameter name="city" type="string" required="true">
            <description><![CDATA[Ort]]></description>
          </parameter>
          <parameter name="country" type="string" required="true">
            <description><![CDATA[Land]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="contactDataSet">
      <description><![CDATA[erzeugt oder ändert Kontaktdaten eines Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
        <parameter name="email" type="string" required="false" default="null">
          <description><![CDATA[ Emailadresse des Kunden]]></description>
        </parameter>
        <parameter name="phone" type="string" required="false" default="null">
          <description><![CDATA[ Festnetzanschluss]]></description>
        </parameter>
        <parameter name="mobile" type="string" required="false" default="null">
          <description><![CDATA[ Handynummer]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="contactDataGet">
      <description><![CDATA[ermittelt die Kontaktdaten des Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="email" type="string" required="true">
            <description><![CDATA[Emailadresse]]></description>
          </parameter>
          <parameter name="phone" type="string" required="true">
            <description><![CDATA[Festnetzanschluss]]></description>
          </parameter>
          <parameter name="mobile" type="string" required="true">
            <description><![CDATA[Handynummer]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionCreate">
      <description><![CDATA[erzeugt einen neuen Bezahlvorgang
 löst die Benachrichtigung sessionStatus mit dem Status "INIT" bzw. "REINIT" aus]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="false" default="">
          <description><![CDATA[ eigene eindeutige ID des Vorgangs, wird anderenfalls erzeugt]]></description>
        </parameter>
        <parameter name="project" type="string" required="true">
          <description><![CDATA[das Projektkürzel für den Vorgang]]></description>
        </parameter>
        <parameter name="projectCampaign" type="string" required="false" default="">
          <description><![CDATA[ ein Kampagnenkürzel des Projektbetreibers]]></description>
        </parameter>
        <parameter name="account" type="string" required="false" default="">
          <description><![CDATA[ Account des beteiligten Webmasters]]></description>
        </parameter>
        <parameter name="webmasterCampaign" type="string" required="false" default="">
          <description><![CDATA[ ein Kampagnenkürzel des Webmasters]]></description>
        </parameter>
        <parameter name="amount" type="integer" required="false" default="0">
          <description><![CDATA[ abzurechnender Betrag in Cent]]></description>
        </parameter>
        <parameter name="currency" type="string" required="false" default="'EUR'">
          <description><![CDATA[ Währung]]></description>
        </parameter>
        <parameter name="title" type="string" required="false" default="">
          <description><![CDATA[ Bezeichnung der zu kaufenden Sache]]></description>
        </parameter>
        <parameter name="payText" type="string" required="false" default="">
          <description><![CDATA[ Abbuchungstext der Lastschrift]]></description>
        </parameter>
        <parameter name="ip" type="string" required="false" default="">
          <description><![CDATA[ IP des Benutzers]]></description>
        </parameter>
        <parameter name="freeParams" type="array" required="false" default="null">
          <description><![CDATA[ Liste mit freien Parametern, die dem Vorgang zugeordnet werden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="sessionId" type="string" required="true">
            <description><![CDATA[eigene oder erzeugte eindeutige ID des Vorgangs]]></description>
          </parameter>
          <parameter name="status" type="string" required="true">
            <description><![CDATA[Vorgangsstatus "INIT" oder "REINIT"]]></description>
          </parameter>
          <parameter name="expire" type="string" required="true">
            <description><![CDATA[Ablaufzeit der Bestätigung]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionSet">
      <description><![CDATA[ordnet weitere freie Parameter der Session zu, oder ändert sie]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
        <parameter name="freeParams" type="array" required="false" default="null">
          <description><![CDATA[ Liste mit zusätzlichen freien Parametern]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="sessionGet">
      <description><![CDATA[ermittelt Daten eines Bezahlvorgangs]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="status" type="string" required="true">
            <description><![CDATA[Vorgangsstatus "INIT", "REINIT", "APPROVED", "CHARGED", "REVERSED" oder "RECHARGED"]]></description>
          </parameter>
          <parameter name="expire" type="string" required="true">
            <description><![CDATA[Ablaufzeit bzw. Bestätigung des Vorgangs]]></description>
          </parameter>
          <parameter name="statusDetail" type="string" required="true">
            <description><![CDATA[Beschreibung für gescheiterte Transaktionen]]></description>
          </parameter>
          <parameter name="customerId" type="string" required="true">
            <description><![CDATA[ID des Kunden]]></description>
          </parameter>
          <parameter name="project" type="string" required="true">
            <description><![CDATA[zugeordnetes Projekt]]></description>
          </parameter>
          <parameter name="projectCampaign" type="string" required="true">
            <description><![CDATA[zugeordnete Projektkampagne]]></description>
          </parameter>
          <parameter name="account" type="string" required="true">
            <description><![CDATA[zugeordneter Webmasteraccount]]></description>
          </parameter>
          <parameter name="webmasterCampaign" type="string" required="true">
            <description><![CDATA[zugeordnete Webmasterkampagne]]></description>
          </parameter>
          <parameter name="amount" type="integer" required="true">
            <description><![CDATA[übergebener Betrag bzw. Standard aus Konfiguration in Cent]]></description>
          </parameter>
          <parameter name="openAmount" type="integer" required="true">
            <description><![CDATA[offener, noch zu zahlender Betrag der Session]]></description>
          </parameter>
          <parameter name="currency" type="string" required="true">
            <description><![CDATA[übergebene Währung bzw. "EUR"]]></description>
          </parameter>
          <parameter name="title" type="string" required="true">
            <description><![CDATA[übergebene Kaufsache bzw. Standard aus Konfiguration]]></description>
          </parameter>
          <parameter name="payText" type="string" required="true">
            <description><![CDATA[Abbuchungstext der Lastschrift]]></description>
          </parameter>
          <parameter name="ip" type="string" required="true">
            <description><![CDATA[übergebene IP des Benutzers]]></description>
          </parameter>
          <parameter name="freeParams" type="array" required="false" default="null">
            <description><![CDATA[ Liste mit allen freien Parametern]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionApprove">
      <description><![CDATA[bestätigt den Lastschrifteinzug eines Vorgangs
 löst die Benachrichtigung sessionStatus mit dem Status "APPROVED" aus]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="status" type="string" required="true">
            <description><![CDATA[Vorgangsstatus "APPROVED" oder "FAILED"]]></description>
          </parameter>
          <parameter name="expire" type="string" required="true">
            <description><![CDATA[Zeitpunkt der Bestätigung]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionList">
      <description><![CDATA[ermittelt alle Bezahlvorgänge eines Kunden]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="count" type="integer" required="true">
            <description><![CDATA[Anzahl der Einträge in sessionIdList]]></description>
          </parameter>
          <parameter name="sessionIdList" type="array" required="true">
            <description><![CDATA[0-indizierte Liste mit Vorgang-IDs]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionChargeTest">
      <description><![CDATA[simuliert die Abbuchung für alle bestätigten Vorgänge
 erzeugt für jede bestätigte Session eine neue Transaktion mit dem Typ "BOOKING" und löst die Benachrichtigung transactionCreate aus
 löst die Benachrichtigung sessionStatus mit dem Status "CHARGED" aus]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ muss 1 sein]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="count" type="integer" required="true">
            <description><![CDATA[Anzahl der gebuchten Vorgänge]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionReverseTest">
      <description><![CDATA[simuliert Stornierung eines einzelnen Vorgangs
 erzeugt eine neue Transaktion mit dem Typ "REVERSAL" und löst die Benachrichtigung transactionCreate aus
 löst die Benachrichtigung sessionStatus mit dem Status "REVERSED" aus]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ muss 1 sein]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="amount" type="integer" required="true">
            <description><![CDATA[stornierter Betrag inkl. Gebühr]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionRechargeTest">
      <description><![CDATA[simuliert die komplette Nachzahlung eines stornierten Vorgangs
 erzeugt eine neue Transaktion mit dem Typ "BACKPAY" und löst die Benachrichtigung transactionCreate aus
 löst die Benachrichtigung sessionStatus mit dem Status "RECHARGED" aus, wenn der gesamte offene Betrag beglichen wurde]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ muss 1 sein]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
        <parameter name="amount" type="integer" required="false" default="null">
          <description><![CDATA[optional der nachgezahlte Teilbetrag]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="amount" type="integer" required="true">
            <description><![CDATA[gebuchter Betrag]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionRefund">
      <description><![CDATA[Veranlasst eine (Teil-)Gutschrift und überweist sie zurück
 erzeugt eine neue Transaktion mit dem Typ "REFUND" und löst die Benachrichtigung transactionCreate aus]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID der zugehörigen Session]]></description>
        </parameter>
        <parameter name="bankCode" type="string" required="false" default="null">
          <description><![CDATA[ Bankleitzahl des altern. Empfängers]]></description>
        </parameter>
        <parameter name="accountNumber" type="string" required="false" default="null">
          <description><![CDATA[ Kontonummer des altern. Empfängers]]></description>
        </parameter>
        <parameter name="accountHolder" type="string" required="false" default="null">
          <description><![CDATA[ Kontoinhaber]]></description>
        </parameter>
        <parameter name="amount" type="integer" required="false" default="null">
          <description><![CDATA[ Überweisungsbetrag, stdm. wird der gesamte eingegangene Betrag überwiesen]]></description>
        </parameter>
        <parameter name="payText" type="string" required="false" default="null">
          <description><![CDATA[ Buchungstext, stdm. wird der ursprüngliche Buchungstext verwendet]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="amount" type="integer" required="true">
            <description><![CDATA[Überweisungsbetrag]]></description>
          </parameter>
          <parameter name="payText" type="string" required="true">
            <description><![CDATA[Buchungstext]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionRefundReverseTest">
      <description><![CDATA[simuliert Stornierung der letzten Gutschrift,
 erzeugt eine neue Transaktion mit dem Typ "REFUNDREVERSAL" und löst die Benachrichtigung transactionCreate aus]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ muss 1 sein]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="amount" type="integer" required="true">
            <description><![CDATA[stornierter Gutschriftbetrag]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="transactionCreate">
      <description><![CDATA[erstellt eine Transaktion vom Typ "EXTERNAL"
 löst die Benachrichtigung transactionCreate aus]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID der zugehörigen Session]]></description>
        </parameter>
        <parameter name="date" type="string" required="false" default="null">
          <description><![CDATA[ Datum der Transaktion]]></description>
        </parameter>
        <parameter name="amount" type="integer" required="true">
          <description><![CDATA[Transaktionsbetrag]]></description>
        </parameter>
        <parameter name="description" type="string" required="false" default="'&quot;&quot;'">
          <description><![CDATA[ Beschreibungstext]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="transactionList">
      <description><![CDATA[ermittelt alle Transaktionen für einen Bezahlvorgang]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="count" type="integer" required="true">
            <description><![CDATA[Anzahl der Einträge in transactionIdList]]></description>
          </parameter>
          <parameter name="transactionIdList" type="array" required="true">
            <description><![CDATA[0-indizierte Liste mit Transaktions-IDs]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="transactionGet">
      <description><![CDATA[ermittelt Daten einer Transaktion]]></description>
      <parameters>
        <parameter name="accessKey" type="string" required="true">
          <description><![CDATA[AccessKey aus dem Controlcenter]]></description>
        </parameter>
        <parameter name="testMode" type="integer" required="false" default="0">
          <description><![CDATA[ aktiviert Testumgebung]]></description>
        </parameter>
        <parameter name="transactionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="sessionId" type="string" required="true">
            <description><![CDATA[ID des Vorgangs]]></description>
          </parameter>
          <parameter name="date" type="string" required="true">
            <description><![CDATA[Datum der Transaktion]]></description>
          </parameter>
          <parameter name="type" type="string" required="true">
            <description><![CDATA[Art der Transaktion "BOOKING", "REVERSAL", "BACKPAY", "EXTERNAL", "REFUND", "REFUNDREVERSAL"]]></description>
          </parameter>
          <parameter name="amount" type="integer" required="true">
            <description><![CDATA[Transaktionsbetrag]]></description>
          </parameter>
          <parameter name="description" type="string" required="true">
            <description><![CDATA[Beschreibungstext]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
  </methods>
  <notifications>
    <notification name="sessionStatus">
      <description><![CDATA[Benachrichtigt bei jeder Änderung des Vorgangsstatus, und fügt weitere freie Parameter hinzu
 wird durch die Funktionen sessionCreate und sessionApprove ausgelöst
 sowie durch sessionChargeTest, sessionReverseTest und sessionRechargeTest bzw. die zugehörigen Ereignisse]]></description>
      <parameters>
        <parameter name="testMode" type="integer" required="true">
          <description><![CDATA[1 bei aktivierter Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
        <parameter name="status" type="string" required="true">
          <description><![CDATA[Vorgangsstatus "INIT", "REINIT", "APPROVED", "CHARGED", "REVERSED" oder "RECHARGED"]]></description>
        </parameter>
        <parameter name="freeParams" type="array" required="false" default="null">
          <description><![CDATA[ Liste mit allen freien Parametern]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="freeParams" type="array" required="false" default="null">
            <description><![CDATA[ Liste mit zusätzlichen freien Parametern]]></description>
          </parameter>
        </parameters>
      </return>
    </notification>
    <notification name="transactionCreate">
      <description><![CDATA[Benachrichtigt bei Erstellung einer neuen Transaktion
 wird ausgelöst durch die Funktionen sessionChargeTest, sessionReverseTest, sessionRechargeTest, transactionCreate, sessionRefund, sessionRefundReverseTest bzw. die zugehörigen Ereignisse]]></description>
      <parameters>
        <parameter name="testMode" type="integer" required="true">
          <description><![CDATA[1 bei aktivierter Testumgebung]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="true">
          <description><![CDATA[ID des Vorgangs]]></description>
        </parameter>
        <parameter name="transactionId" type="string" required="true">
          <description><![CDATA[ID der Transaktion]]></description>
        </parameter>
        <parameter name="date" type="string" required="true">
          <description><![CDATA[Datum der Transaktion]]></description>
        </parameter>
        <parameter name="type" type="string" required="true">
          <description><![CDATA[Transaktionsart "BOOKING", "REVERSAL", "BACKPAY", "EXTERNAL", "REFUND", "REFUNDREVERSAL"]]></description>
        </parameter>
        <parameter name="amount" type="string" required="true">
          <description><![CDATA[Transaktionsbetrag]]></description>
        </parameter>
        <parameter name="description" type="string" required="true">
          <description><![CDATA[Beschreibungstext]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </notification>
  </notifications>
</service>
