<?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="PrepayService" location="https://webservices.micropayment.de/public/prepay/public/v1.3/nvp">
  <description>Api steuert die Bezahlung per Vorkasse</description>
  <types>
    <type name="void" type="void">
      <description><![CDATA[keine Rückgabe]]></description>
    </type>
    <type name="boolean" type="boolean">
      <description><![CDATA[Boolean - ein Datentyp der immer einen von zwei Werten annimmt um eine logische Aussage zu treffen üblich sind  "true/false" oder "1/0" (wahr = 1; falsch = 0)]]></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>
    <type name="null" type="null">
      <description><![CDATA[keine Rückgabe]]></description>
    </type>
    <type name="bool" type="bool">
      <description><![CDATA[Boolean - ein Datentyp der immer einen von zwei Werten annimmt um eine logische Aussage zu treffen üblich sind  "true/false" oder "1/0" (wahr = 1; falsch = 0)]]></description>
    </type>
  </types>
  <methods>
    <method name="config">
      <description><![CDATA[ermittelt Konfigurationsparameter]]></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 0 sein]]></description>
        </parameter>
        <parameter name="project" type="string" required="true">
          <description><![CDATA[das Projektkürzel für den Vorgang]]></description>
        </parameter>
      </parameters>
      <return type="void">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="active" type="boolean" required="true">
            <description><![CDATA[Aktivierungsstatus der API]]></description>
          </parameter>
          <parameter name="notificationUrl" type="string" required="true">
            <description><![CDATA[URL für den Empang der Benachtichtigungen]]></description>
          </parameter>
          <parameter name="emailDelivery" type="boolean" required="true">
            <description><![CDATA[Aktivierung des Emailversands]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <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="count" type="integer" required="true">
            <description><![CDATA[Anzahl der Kunden in der Liste]]></description>
          </parameter>
          <parameter name="customerIdList" type="array" required="true">
            <description><![CDATA[Liste mit allen freien Parametern]]></description>
          </parameter>
          <parameter name="maxCount" type="integer" required="true">
            <description><![CDATA[Gesamtanzahl aller Kunden]]></description>
          </parameter>
        </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="form" type="string" required="false" default="'NONE'">
          <description><![CDATA[ Anrede "NONE", "SIR", "MADAM", "MISS", "COMPANY"]]></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="address" type="string" required="false" default="null">
          <description><![CDATA[ Zusätzliche Angaben z.B. "bei Schmidt"]]></description>
        </parameter>
        <parameter name="street" type="string" required="false" default="null">
          <description><![CDATA[ Strasse und Hausnummer]]></description>
        </parameter>
        <parameter name="zip" type="string" required="false" default="null">
          <description><![CDATA[ Postleitzahl]]></description>
        </parameter>
        <parameter name="city" type="string" required="false" default="null">
          <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="form" type="string" required="true">
            <description><![CDATA[Anrede]]></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="address" type="string" required="true">
            <description><![CDATA[Zusätzliche Angaben]]></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>
        <parameter name="language" type="string" required="false" default="null">
          <description><![CDATA[ Sprache]]></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>
          <parameter name="language" type="string" required="true">
            <description><![CDATA[Sprache]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionCreate">
      <description><![CDATA[erzeugt einen neuen Bezahlvorgang
 löst die Benachrichtigung sessionStatus mit dem Status "INIT" 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="sessionMode" type="string" required="false" default="'EXPIRE'">
          <description><![CDATA[ Modus EXPIRE oder PERMANENT]]></description>
        </parameter>
        <parameter name="sessionId" type="string" required="false" default="null">
          <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="null">
          <description><![CDATA[ ein Kampagnenkürzel des Projektbetreibers]]></description>
        </parameter>
        <parameter name="account" type="string" required="false" default="null">
          <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="null">
          <description><![CDATA[ abzurechnender Betrag in Cent, bei sessionMode=EXPIRE, Standard aus Konfiguration]]></description>
        </parameter>
        <parameter name="currency" type="string" required="false" default="'EUR'">
          <description><![CDATA[ Währung, akt. nur EUR]]></description>
        </parameter>
        <parameter name="title" type="string" required="false" default="null">
          <description><![CDATA[ Bezeichnung der zu kaufenden Sache, Standard aus Konfiguration]]></description>
        </parameter>
        <parameter name="payText" type="string" required="false" default="null">
          <description><![CDATA[ Verwendungszweck für Überweisung, Standard Projektname und $title]]></description>
        </parameter>
        <parameter name="expireDays" type="string" required="false" default="21">
          <description><![CDATA[ Ablauf der Session in Tagen, genauer Ablauf wird als $expireDate zurückgegeben]]></description>
        </parameter>
        <parameter name="ip" type="string" required="false" default="null">
          <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"]]></description>
          </parameter>
          <parameter name="amount" type="integer" required="true">
            <description><![CDATA[übergebener Betrag bzw. Standard aus Konfiguration in Cent bei sessionMode=EXPIRE, 0 bei PERMANENT]]></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="bankName" type="string" required="true">
            <description><![CDATA[Bank, an die überwiesen werden soll]]></description>
          </parameter>
          <parameter name="bic" type="string" required="true">
            <description><![CDATA[SWIFT BIC für ausländische Kunden]]></description>
          </parameter>
          <parameter name="accountHolder" type="string" required="true">
            <description><![CDATA[Kontoinhaber]]></description>
          </parameter>
          <parameter name="iban" type="string" required="true">
            <description><![CDATA[IBAN]]></description>
          </parameter>
          <parameter name="payToken" type="string" required="true">
            <description><![CDATA[Token, das Kunde bei Überweisung angeben muss]]></description>
          </parameter>
          <parameter name="payText" type="string" required="true">
            <description><![CDATA[Verwendungszweck, inkl. Token]]></description>
          </parameter>
          <parameter name="expireDate" type="string" required="false" default="null">
            <description><![CDATA[ Ablaufdatum der Session bei sessionMode=EXPIRE, kann bis zu 2 Tagen länger sein als durch expireDays vorgegeben]]></description>
          </parameter>
          <parameter name="dueDate" type="string" required="false" default="null">
            <description><![CDATA[ letzter Überweisungstermin für Kunden, bei sessionMode=EXPIRE]]></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", "OPEN", "PAID", "OVERPAID", "CLOSED"]]></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 bei sessionMode=EXPIRE, Gesamteingang bei PERMANENT]]></description>
          </parameter>
          <parameter name="orderAmount" type="integer" required="true">
            <description><![CDATA[geforderter Betrag der Session, entspricht $amount und $paidAmount bei sessionMode=PERMANENT]]></description>
          </parameter>
          <parameter name="paidAmount" type="integer" required="true">
            <description><![CDATA[bereits bezahlter Betrag]]></description>
          </parameter>
          <parameter name="openAmount" type="integer" required="true">
            <description><![CDATA[offener bzw. überzahlter (negativer) Betrag, Differenz aus orderAmount und paidAmount]]></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="bankName" type="string" required="true">
            <description><![CDATA[Bank]]></description>
          </parameter>
          <parameter name="bic" type="string" required="true">
            <description><![CDATA[BIC]]></description>
          </parameter>
          <parameter name="accountHolder" type="string" required="true">
            <description><![CDATA[Kontoinhaber]]></description>
          </parameter>
          <parameter name="iban" type="string" required="true">
            <description><![CDATA[IBAN]]></description>
          </parameter>
          <parameter name="payToken" type="string" required="true">
            <description><![CDATA[Token, das Kunde bei Überweisung angeben muss]]></description>
          </parameter>
          <parameter name="payText" type="string" required="true">
            <description><![CDATA[Verwendungszweck für Überweisung]]></description>
          </parameter>
          <parameter name="expireDate" type="string" required="false" default="null">
            <description><![CDATA[ Ablaufdatum bei sessionMode=EXPIRE]]></description>
          </parameter>
          <parameter name="dueDate" type="string" required="false" default="null">
            <description><![CDATA[ letzter Überweisungstermin bei sessionMode=EXPIRE]]></description>
          </parameter>
          <parameter name="ip" type="string" required="true">
            <description><![CDATA[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="sessionQrGet">
      <description><![CDATA[ermittelt den EPC-QR-Code 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="void">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="qr" type="string" required="true">
            <description><![CDATA[Der EPC-QR-Code im SVG-Format, zB für <img src="$qr">]]></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="false" default="null">
          <description><![CDATA[ ID des Kunden]]></description>
        </parameter>
        <parameter name="dtmFrom" type="integer" required="false" default="null">
          <description><![CDATA[ Anfang der Zeitraumbegrenzung oder [NULL] um diese Zeitraumbegrenzung nicht zu definieren]]></description>
        </parameter>
        <parameter name="dtmTo" type="integer" required="false" default="null">
          <description><![CDATA[ Ende der Zeitraumbegrenzung oder [NULL] um diese Zeitraumbegrenzung nicht zu definieren]]></description>
        </parameter>
        <parameter name="from" type="integer" required="false" default="0">
          <description><![CDATA[ Position der ersten auszugebenden Session]]></description>
        </parameter>
        <parameter name="count" type="integer" required="false" default="100">
          <description><![CDATA[ Anzahl der auszugebenden Sessions]]></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>
          <parameter name="maxCount" type="integer" required="true">
            <description><![CDATA[Gesamtanzahl aller Sessions im gewählten Zeitraum]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionChange">
      <description><![CDATA[Veranlasst eine Minderung des Betrags und ggf. eine (Teil-)Gutschrift]]></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="amount" type="integer" required="true">
          <description><![CDATA[Minderung der Forderung, als positiver Betrag]]></description>
        </parameter>
      </parameters>
      <return type="array">
        <description><![CDATA[]]></description>
        <parameters>
          <parameter name="status" type="string" required="true">
            <description><![CDATA[ggf. neuer Status, "INIT", "OPEN", "PAID", "OVERPAID", "CLOSED"]]></description>
          </parameter>
          <parameter name="orderAmount" type="integer" required="true">
            <description><![CDATA[neuer geforderter Betrag]]></description>
          </parameter>
          <parameter name="paidAmount" type="integer" required="true">
            <description><![CDATA[insgesamt gezahlter Betrag]]></description>
          </parameter>
          <parameter name="openAmount" type="integer" required="true">
            <description><![CDATA[offener bzw. überzahlter Betrag]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
    <method name="sessionPayinTest">
      <description><![CDATA[simuliert einen Zahlungeingang für eine oder mehrere Sessions]]></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 der zugehörigen Session]]></description>
        </parameter>
        <parameter name="amount" type="integer" required="true">
          <description><![CDATA[gezahlter Betrag]]></description>
        </parameter>
        <parameter name="bookingDate" type="string" required="false" default="null">
          <description><![CDATA[ Buchungsdatum]]></description>
        </parameter>
        <parameter name="accountHolder" type="string" required="false" default="null">
          <description><![CDATA[ Kontoinhaber des Kunden]]></description>
        </parameter>
        <parameter name="iban" type="string" required="false" default="null">
          <description><![CDATA[ Konto IBAN des Kunden]]></description>
        </parameter>
      </parameters>
      <return type="null">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="sessionRemindTest">
      <description><![CDATA[simuliert das Auslösen einer Erinnerungsmail
 löst die Benachrichtigung sessionRemind 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>
        <parameter name="lastRemind" type="bool" required="false" default="false">
          <description><![CDATA[ Letzte Erinnerung]]></description>
        </parameter>
      </parameters>
      <return type="null">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="sessionExpireTest">
      <description><![CDATA[simuliert den Ablauf einer Session
 löst die Benachrichtigung sessionStatus mit dem Status "CLOSED" 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="null">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </method>
    <method name="sessionRefundTest">
      <description><![CDATA[simuliert die automatische Rücküberweisung für überzahlte Beträge]]></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="null">
        <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 "CREATE", "PAYIN", "CHANGE", "REFUND", "EXPIRE"]]></description>
          </parameter>
          <parameter name="orderAmount" type="integer" required="true">
            <description><![CDATA[Veränderung des geforderten Betrags]]></description>
          </parameter>
          <parameter name="paidAmount" type="integer" required="true">
            <description><![CDATA[Veränderung des bezahlten Betrags]]></description>
          </parameter>
          <parameter name="openAmount" type="integer" required="true">
            <description><![CDATA[Veränderung des offenen Betrags]]></description>
          </parameter>
          <parameter name="bookingDate" type="string" required="true">
            <description><![CDATA[Datum des Zahlungseingangs]]></description>
          </parameter>
          <parameter name="bankName" type="string" required="false" default="null">
            <description><![CDATA[ Bank an bzw. von der überwiesen wurde bei type PAYIN und REFUND]]></description>
          </parameter>
          <parameter name="bic" type="string" required="false" default="null">
            <description><![CDATA[ BIC]]></description>
          </parameter>
          <parameter name="accountHolder" type="string" required="false" default="null">
            <description><![CDATA[ Kontoinhaber]]></description>
          </parameter>
          <parameter name="iban" type="string" required="false" default="null">
            <description><![CDATA[ maskierte IBAN, für Klardaten wenden Sie sich an den Support]]></description>
          </parameter>
        </parameters>
      </return>
    </method>
  </methods>
  <notifications>
    <notification name="sessionStatus">
      <description><![CDATA[Benachrichtigt bei jeder Änderung des Vorgangsstatus
 wird erstmalig durch die Funktionen sessionCreate ausgelöst und liefert den status "INIT"
 der Status "CLOSED" wird durch Ablauf der Wartefrist bzw. sessionExpireTest erreicht
 der abschliessende Status "PAID" wird durch typischerweise durch Bezahlung bzw. sessionPayinTest erreicht,
 kann aber auch zB. durch sessionChange bei vorheriger Unterzahlung ausgelöst werden.]]></description>
      <parameters>
        <parameter name="testMode" type="integer" required="true">
          <description><![CDATA[1 bei aktivierter Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></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", "PAID", "CLOSED"]]></description>
        </parameter>
        <parameter name="orderAmount" type="string" required="true">
          <description><![CDATA[gesamter Forderungbetrag]]></description>
        </parameter>
        <parameter name="paidAmount" type="string" required="true">
          <description><![CDATA[gesamt bezahlter Betrag]]></description>
        </parameter>
        <parameter name="openAmount" type="string" required="true">
          <description><![CDATA[offener Betrag]]></description>
        </parameter>
        <parameter name="freeParams" type="array" required="true">
          <description><![CDATA[Liste der freien Parameter]]></description>
        </parameter>
      </parameters>
      <return type="null">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </notification>
    <notification name="sessionEmail">
      <description><![CDATA[Benachrichtigt, wenn dem Kunden eine Email zugesandt wurde oder werden sollte
 der Parameter sent gibt an, ob die Email bereits versandt wurde]]></description>
      <parameters>
        <parameter name="testMode" type="integer" required="true">
          <description><![CDATA[1 bei aktivierter Testumgebung]]></description>
        </parameter>
        <parameter name="customerId" type="string" required="true">
          <description><![CDATA[ID des Kunden]]></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 zugehörigen Transaction (ausser bei "REMIND" und "LASTREMIND")]]></description>
        </parameter>
        <parameter name="type" type="string" required="true">
          <description><![CDATA[Art der Email "CREATE", "REMIND", "LASTREMIND", "PAYIN", "CHANGE", "EXPIRE"]]></description>
        </parameter>
        <parameter name="sent" type="bool" required="true">
          <description><![CDATA[Email wurde versandt]]></description>
        </parameter>
      </parameters>
      <return type="null">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </notification>
    <notification name="transactionCreate">
      <description><![CDATA[Benachrichtigt bei Erstellung einer neuen Transaktion
 wird ausgelöst durch die Funktionen sessionCreate und sessionChange, sowie die durch Ereignisse bzw. die
 zugehörigen Testfunktionen sessionPayinTest, sessionExpireTest und sessionRefundTest]]></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 "CREATE", "PAYIN", "CHANGE", "REFUND", "EXPIRE"]]></description>
        </parameter>
        <parameter name="orderAmount" type="string" required="true">
          <description><![CDATA[Änderung des Forderungbetrags]]></description>
        </parameter>
        <parameter name="paidAmount" type="string" required="true">
          <description><![CDATA[Änderung des bezahlten Betrags]]></description>
        </parameter>
        <parameter name="openAmount" type="string" required="true">
          <description><![CDATA[Änderung des offenen Betrags]]></description>
        </parameter>
        <parameter name="bookingDate" type="string" required="true">
          <description><![CDATA[Datum des Zahlungseingangs]]></description>
        </parameter>
      </parameters>
      <return type="null">
        <description><![CDATA[]]></description>
        <parameters/>
      </return>
    </notification>
  </notifications>
</service>
