<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://webservices.micropayment.de/xslt/?tpl=public.service-html.transformer-en"?>
<service request-protocol="HTTP_PARAMS" response-protocol="NVP" type="DebitService" location="https://webservices.micropayment.de/public/debit/v2.3/nvp/">
    <description>Api that controls payment per debit.

        SEPA Debit:
        With SEPA ( Single Euro Payments Area ) germany will introduce new europe wide unified practices on 01.02.2014
        for noncash payments (remittance, debit)

        The previous practice with bank code and account number will be replaced by IBAN and BIC.

        IBAN (International Bank Account Number) is the international account number and replaces bank code and account number.
        For payments across national borders the BIC (Business Identifier Code) is mandatory as a internationally standardised bank code (comparable to the bank code in Germany).

        For payments / debits within Germany the usage of the IBAN (iban only) is sufficient, for all other transactions the IBAN and BIC are required.

        For a correct SEPA-Payment following points are important:
        Mandate (mandateRef), Creditor-ID (creditorId) and Prenotification (Notification about the customer account debit; payDate).


        Mandate:
        Parameter names "mandateRef", "mandateSignDate"
        A Mandate is the authorization of the creditor by the debitor to book an agreed upon amount with a debit.
        The mandate reference is chosen freely bei the creditor and has to be unique.
        Usually it will be created by the DebitAPI, see return value at "sessionCreate".

        If a self generated mandate reference is used, and this mandate does not exist, the booking date of the mandate issuance can be passed. Otherwise it will be determined
        or rather the date of the sessionApprove call will be used.


        Recurring-Mandate:
        Parameter name "mandateRecur", "payRecurState"
        With "mandateRecur" is used to specify if one "ONEOFF" or one of many debits "RECURRING" will be created.
        With "FINAL" a existing mandate will be closed if applicable, this means the current mandate will be used for the last time.

        If a one-time SEPA mandate is created with "ONEOFF", then "payRecurState" will always have the status "OOFF". After this the Mandate Reference must not be used anymore.
        A Multi-Session returns "FRST" if the mandate is new or "RCUR" if it's already in use. If the mandate was closed with "FINAL" then "payRecurState"
        will have the value "FNAL". In this case also the Mandate Reference must not be used anymore.

        Creditor-ID:
        Parameter name "creditorId"
        The creditor identification ist a distinct identification of creditors of SEPA Mandates.
        It is compulsory for all creditors and can be applied for at the Bundesbank for free, see https://extranet.bundesbank.de/scp/ .
        The creditor ID can be stored in the micropayment control center under "Kundendaten-&gt;Gläubiger-Identifikationsnummer".
        Otherwise the creditor ID will be provided by micropayment.

        Prenotification:
        The Customer should be informed about a debit booking (see alos "payDate") in a suitable fashion. A suitable text example could look like following
        (the placeholders {} should be replaced by the actual values)

        "Our debit with the amount of {$qamount} will be deducted via SEPA-Debit by Mandate Nr. {$mandateRef} to the Creditor ID {$creditorId}
        from your account with the IBAN {$iban} at {$bank} BIC {$bic} at the due date {$paydate}. Please ensure that the account is covered."

        In case of recurring mandates the customer must also be notified before every following direct debit.

        New sessionCredit:
        With this function it is possible to perform a payout to a customer without a previous direct debit. This feature must be activated separately, and is
        only available under strict guidelines.

        Changes to the EU Funds Transfers Regulation:
        from the 26.06.2017 forward the EU regulation 2015/847 comes into force. For this it is necessary to determine the addresses of
        debitors outside of the european economic area (EEA). Currently this only concerns customers in Switzerland. The functionality for this has been added
        to the methods bankaccountSet, -Get, -Check and bankCheck.
        For regular customers these informations have to be added, otherwise sessionCreate will return one of the following error codes: 4112, 4113

        ------------------------------------------------------------------------------------

        All functions that were previously called with the bankcode/account number, can now also be used with the IBAN/BIC.
        If calls are made without the IBAN the parameter "country" must be supplied.

        Error codes:

        4101	// Bank code is invalid
        4102	// Account number is invalid
        4103	// No account was provided
        4104	// Action has already been acknowledged
        4105	// Account has been frozen
        4106	// Limit reached
        4107	// no open amount or exceeds session amount
        4108	// IBAN is invalid
        4109	// BIC needed or is invalid
        4110	// The payment type is not supported by the target bank
        4111	// Banks from this country are not supported
        4112	// The information for the account holder are insufficient, the full name is required
        4113	// IBAN is not part of the europena economic area, the address of the account holder must be supplied

        ------------------------------------------------------------------------------------

        Notes for the test mode:
        - Test mode can be activated on each function with the parameter `testMode=1`
        - for simulating automated internal processes and events, the ...Test-Functions exist. In Order to simulate a complete direct debit with all contingencies the following function calls are needed:
        - customerCreate (create a customer)
        - bankaccountSet (create an account reference)
        - sessionCreate (create a session)
        - sessionApprove (approve direct debit)
        - sessionChargeTest (simulate a charge)
        - sessionReverseTest (simulate a return debit)
        - sessionRechargeTest (simulate an additional payment)
        - transactionCreate (book additional payment to your account)
        - sessionRefund (refund)
        - sessionRefundReverseTest (simulate the Retour of a refund)
        - all the regular accounts and following additional accounts exist in test mode, in order to simulate a successful booking:
        - bankCode: 88888888
        - accountNumber: z.B: 1234567890
        - iban: z.B: DE89888888881234567890
        - bic: TESTDE00XXX (optional)</description>
    <types>
        <type name="void" type="void">
            <description><![CDATA[no return value]]></description>
        </type>
        <type name="string" type="string">
            <description><![CDATA[String: a data type that contains a string of characters (e. g. letters, numbers, special characters, and control characters) of a defined character set]]></description>
        </type>
        <type name="integer" type="integer">
            <description><![CDATA[Integer: a data type that stores whole numbers]]></description>
        </type>
        <type name="array" type="array">
            <description><![CDATA[Array: a data structure of multiple elements, usually of the same data type - the elements can be addressed by a integer index]]></description>
        </type>
        <type name="boolean" type="boolean">
            <description><![CDATA[Boolean - a data type that always has one of two values, mostly used are "true/false" or "1/0" (true = 1; false = 0)]]></description>
        </type>
    </types>
    <methods>
        <method name="resetTest">
            <description><![CDATA[deletes all customers and transactions in the test environment]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="true">
                    <description><![CDATA[must be 1]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </method>
        <method name="customerCreate">
            <description><![CDATA[create a new customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="false" default="null">
                    <description><![CDATA[a distinct ID of the customer, or it will be automatically generated]]></description>
                </parameter>
                <parameter name="freeParams" type="array" required="false" default="null">
                    <description><![CDATA[List of free parameters, that are assigned to the customer]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="customerId" type="string" required="true">
                        <description><![CDATA[provided or generated distinct ID of the customer]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="customerSet">
            <description><![CDATA[adds additional free parameter to the customer or changes existing ones]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[distinct ID of the customer]]></description>
                </parameter>
                <parameter name="freeParams" type="array" required="false" default="null">
                    <description><![CDATA[List of additional free parameters]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </method>
        <method name="customerGet">
            <description><![CDATA[returns all free parameters of the customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the customer]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="freeParams" type="array" required="false" default="null">
                        <description><![CDATA[List of all free parameters]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="customerList">
            <description><![CDATA[returns all customers]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="from" type="integer" required="false" default="0">
                    <description><![CDATA[position of the first customer to return]]></description>
                </parameter>
                <parameter name="count" type="integer" required="false" default="100">
                    <description><![CDATA[amount of customers to return]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="customerIdList" type="array" required="true">
                        <description><![CDATA[List of all free parameters]]></description>
                    </parameter>
                    <parameter name="count" type="integer" required="true">
                        <description><![CDATA[Amount of customers in the list]]></description>
                    </parameter>
                    <parameter name="maxCount" type="integer" required="true">
                        <description><![CDATA[Amount of all customers]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="bankaccountSet">
            <description><![CDATA[creates or changes bank accounts of a customer.
 The address holder* are optional, but are needed for IBAN from countries not in the european economic area (currently only Switzerland).]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the Customer]]></description>
                </parameter>
                <parameter name="iban" type="string" required="false" default="null">
                    <description><![CDATA[IBAN]]></description>
                </parameter>
                <parameter name="bic" type="string" required="false" default="null">
                    <description><![CDATA[BIC, optional with a german IBAN]]></description>
                </parameter>
                <parameter name="country" type="string" required="false" default="'DE'">
                    <description><![CDATA[country where the bank is based, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="bankCode" type="string" required="false" default="null">
                    <description><![CDATA[Bank code, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="accountNumber" type="string" required="false" default="null">
                    <description><![CDATA[Account number, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="accountHolder" type="string" required="true">
                    <description><![CDATA[account holder]]></description>
                </parameter>
                <parameter name="holderAddress" type="string" required="false" default="null">
                    <description><![CDATA[account holder address]]></description>
                </parameter>
                <parameter name="holderZip" type="string" required="false" default="null">
                    <description><![CDATA[account holder zip code]]></description>
                </parameter>
                <parameter name="holderCity" type="string" required="false" default="null">
                    <description><![CDATA[account holder city]]></description>
                </parameter>
                <parameter name="holderCountry" type="string" required="false" default="null">
                    <description><![CDATA[account holder country]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="iban" type="string" required="true">
                        <description><![CDATA[IBAN]]></description>
                    </parameter>
                    <parameter name="bic" type="string" required="true">
                        <description><![CDATA[BIC]]></description>
                    </parameter>
                    <parameter name="country" type="string" required="true">
                        <description><![CDATA[country where the bank is based]]></description>
                    </parameter>
                    <parameter name="bankName" type="string" required="true">
                        <description><![CDATA[Name of the bank]]></description>
                    </parameter>
                    <parameter name="bankCode" type="string" required="true">
                        <description><![CDATA[Bank code]]></description>
                    </parameter>
                    <parameter name="accountNumber" type="string" required="true">
                        <description><![CDATA[Account number]]></description>
                    </parameter>
                    <parameter name="accountHolder" type="string" required="true">
                        <description><![CDATA[Account holder]]></description>
                    </parameter>
                    <parameter name="eeaStatus" type="boolean" required="true">
                        <description><![CDATA[True, if IBAN belongs to the EEA, otherwise the account holder address has to be provided]]></description>
                    </parameter>
                    <parameter name="barStatus" type="string" required="true">
                        <description><![CDATA[Bar-Status of the account]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="bankaccountGet">
            <description><![CDATA[gets the bank account of the customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the customer]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="iban" type="string" required="true">
                        <description><![CDATA[IBAN]]></description>
                    </parameter>
                    <parameter name="bic" type="string" required="true">
                        <description><![CDATA[BIC]]></description>
                    </parameter>
                    <parameter name="country" type="string" required="true">
                        <description><![CDATA[country the Bank is based in]]></description>
                    </parameter>
                    <parameter name="bankName" type="string" required="true">
                        <description><![CDATA[Name of the Bank]]></description>
                    </parameter>
                    <parameter name="bankCode" type="string" required="true">
                        <description><![CDATA[Bank code]]></description>
                    </parameter>
                    <parameter name="accountNumber" type="string" required="true">
                        <description><![CDATA[Account number]]></description>
                    </parameter>
                    <parameter name="accountHolder" type="string" required="true">
                        <description><![CDATA[Account holder]]></description>
                    </parameter>
                    <parameter name="holderAddress" type="string" required="false" default="null">
                        <description><![CDATA[Account holder address, street and Street number]]></description>
                    </parameter>
                    <parameter name="holderZip" type="string" required="false" default="null">
                        <description><![CDATA[account holder zip code]]></description>
                    </parameter>
                    <parameter name="holderCity" type="string" required="false" default="null">
                        <description><![CDATA[account holder city]]></description>
                    </parameter>
                    <parameter name="holderCountry" type="string" required="false" default="null">
                        <description><![CDATA[account holder country]]></description>
                    </parameter>
                    <parameter name="eeaStatus" type="boolean" required="true">
                        <description><![CDATA[True, if IBAN belongs to the EEA, otherwise the account holder address has to be provided]]></description>
                    </parameter>
                    <parameter name="barStatus" type="string" required="true">
                        <description><![CDATA[Bar-Status of the account]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="bankCheck">
            <description><![CDATA[checks the bank code and returns the bank name]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="iban" type="string" required="false" default="null">
                    <description><![CDATA[IBAN]]></description>
                </parameter>
                <parameter name="bic" type="string" required="false" default="null">
                    <description><![CDATA[BIC, alternative to the IBAN]]></description>
                </parameter>
                <parameter name="country" type="string" required="false" default="'DE'">
                    <description><![CDATA[country where bank is based, alternative to IBAN and BIC]]></description>
                </parameter>
                <parameter name="bankCode" type="string" required="false" default="null">
                    <description><![CDATA[Bank code, alternative to IBAN and BIC]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="bic" type="string" required="true">
                        <description><![CDATA[BIC]]></description>
                    </parameter>
                    <parameter name="country" type="string" required="true">
                        <description><![CDATA[country where the bank is based]]></description>
                    </parameter>
                    <parameter name="bankName" type="string" required="true">
                        <description><![CDATA[name of the bank]]></description>
                    </parameter>
                    <parameter name="bankCode" type="string" required="true">
                        <description><![CDATA[Bank code]]></description>
                    </parameter>
                    <parameter name="eeaStatus" type="boolean" required="true">
                        <description><![CDATA[True, if IBAN belongs to the EEA, otherwise the account holder address has to be provided]]></description>
                    </parameter>
                    <parameter name="orderStatus" type="string" required="true">
                        <description><![CDATA[order type of the bank ALL = direct debit, remittance, CREDIT = only remittance, DENIED = no payments allowed]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="bankaccountCheck">
            <description><![CDATA[checks bank account and returns the bank name]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="iban" type="string" required="false" default="null">
                    <description><![CDATA[IBAN]]></description>
                </parameter>
                <parameter name="bic" type="string" required="false" default="null">
                    <description><![CDATA[BIC, optional with a german IBAN]]></description>
                </parameter>
                <parameter name="country" type="string" required="false" default="'DE'">
                    <description><![CDATA[country where the bank is based, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="bankCode" type="string" required="false" default="null">
                    <description><![CDATA[bank code, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="accountNumber" type="string" required="false" default="null">
                    <description><![CDATA[Account number, if the IBAN is empty]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="iban" type="string" required="true">
                        <description><![CDATA[IBAN]]></description>
                    </parameter>
                    <parameter name="bic" type="string" required="true">
                        <description><![CDATA[BIC]]></description>
                    </parameter>
                    <parameter name="country" type="string" required="true">
                        <description><![CDATA[Country where the bank is based]]></description>
                    </parameter>
                    <parameter name="bankName" type="string" required="true">
                        <description><![CDATA[Name of the bank]]></description>
                    </parameter>
                    <parameter name="bankCode" type="string" required="true">
                        <description><![CDATA[Bank code]]></description>
                    </parameter>
                    <parameter name="orderStatus" type="string" required="true">
                        <description><![CDATA[order type of the bank ALL = direct debit, remittance, CREDIT = only remittance, DENIED = no payments allowed]]></description>
                    </parameter>
                    <parameter name="accountNumber" type="string" required="true">
                        <description><![CDATA[account number]]></description>
                    </parameter>
                    <parameter name="eeaStatus" type="boolean" required="true">
                        <description><![CDATA[True, if IBAN belongs to the EEA, otherwise the account holder address has to be provided]]></description>
                    </parameter>
                    <parameter name="barStatus" type="string" required="true">
                        <description><![CDATA[Bar-Status bar status of the bank account]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="bankaccountBar">
            <description><![CDATA[bars bank accounts or unbars them]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="iban" type="string" required="false" default="null">
                    <description><![CDATA[IBAN]]></description>
                </parameter>
                <parameter name="bic" type="string" required="false" default="null">
                    <description><![CDATA[BIC, optional with a german IBAN]]></description>
                </parameter>
                <parameter name="country" type="string" required="false" default="'DE'">
                    <description><![CDATA[Country where the Bank is based, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="bankCode" type="string" required="false" default="null">
                    <description><![CDATA[Bank code, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="accountNumber" type="string" required="false" default="null">
                    <description><![CDATA[Account number, if the IBAN is empty]]></description>
                </parameter>
                <parameter name="barStatus" type="string" required="true">
                    <description><![CDATA[Bar-Status BARRED, ALLOWED]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </method>
        <method name="addressSet">
            <description><![CDATA[creates or changes address information of a customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the customer]]></description>
                </parameter>
                <parameter name="firstName" type="string" required="false" default="null">
                    <description><![CDATA[first name]]></description>
                </parameter>
                <parameter name="surName" type="string" required="false" default="null">
                    <description><![CDATA[sur name]]></description>
                </parameter>
                <parameter name="company" type="string" required="false" default="null">
                    <description><![CDATA[Company]]></description>
                </parameter>
                <parameter name="street" type="string" required="false" default="null">
                    <description><![CDATA[street and street number]]></description>
                </parameter>
                <parameter name="zip" type="string" required="false" default="null">
                    <description><![CDATA[zip code]]></description>
                </parameter>
                <parameter name="city" type="string" required="false" default="null">
                    <description><![CDATA[city]]></description>
                </parameter>
                <parameter name="country" type="string" required="false" default="'DE'">
                    <description><![CDATA[Country]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </method>
        <method name="addressGet">
            <description><![CDATA[returns the address of the customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[aktivates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the customer]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="firstName" type="string" required="true">
                        <description><![CDATA[first name]]></description>
                    </parameter>
                    <parameter name="surName" type="string" required="true">
                        <description><![CDATA[surname]]></description>
                    </parameter>
                    <parameter name="company" type="string" required="true">
                        <description><![CDATA[company]]></description>
                    </parameter>
                    <parameter name="street" type="string" required="true">
                        <description><![CDATA[street and street number]]></description>
                    </parameter>
                    <parameter name="zip" type="string" required="true">
                        <description><![CDATA[zip code]]></description>
                    </parameter>
                    <parameter name="city" type="string" required="true">
                        <description><![CDATA[city]]></description>
                    </parameter>
                    <parameter name="country" type="string" required="true">
                        <description><![CDATA[country]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="contactDataSet">
            <description><![CDATA[creates or changes the contact information of a customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the customer]]></description>
                </parameter>
                <parameter name="email" type="string" required="false" default="null">
                    <description><![CDATA[Email Address of the customer]]></description>
                </parameter>
                <parameter name="phone" type="string" required="false" default="null">
                    <description><![CDATA[landline number]]></description>
                </parameter>
                <parameter name="mobile" type="string" required="false" default="null">
                    <description><![CDATA[mobile phone number]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </method>
        <method name="contactDataGet">
            <description><![CDATA[returns the contact information of a customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the customer]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="email" type="string" required="true">
                        <description><![CDATA[Email Address]]></description>
                    </parameter>
                    <parameter name="phone" type="string" required="true">
                        <description><![CDATA[landline number]]></description>
                    </parameter>
                    <parameter name="mobile" type="string" required="true">
                        <description><![CDATA[mobile phone number]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionCreate">
            <description><![CDATA[creates a new session
 sends the notification sessionStatus with the status "INIT" or "REINIT"]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="true">
                    <description><![CDATA[ID of the customer]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="false" default="">
                    <description><![CDATA[a distinct id of the session, or it will be generated]]></description>
                </parameter>
                <parameter name="project" type="string" required="true">
                    <description><![CDATA[the project abbreviation of the session]]></description>
                </parameter>
                <parameter name="projectCampaign" type="string" required="false" default="">
                    <description><![CDATA[the campaign abbreviation of the project owner]]></description>
                </parameter>
                <parameter name="account" type="string" required="false" default="">
                    <description><![CDATA[account of the involved web master]]></description>
                </parameter>
                <parameter name="webmasterCampaign" type="string" required="false" default="">
                    <description><![CDATA[the campaign abbreviation of the web master]]></description>
                </parameter>
                <parameter name="amount" type="integer" required="false" default="0">
                    <description><![CDATA[amount to charge in cent of the currency used]]></description>
                </parameter>
                <parameter name="currency" type="string" required="false" default="'EUR'">
                    <description><![CDATA[Currency]]></description>
                </parameter>
                <parameter name="title" type="string" required="false" default="">
                    <description><![CDATA[Title of the item to be bought, choose a name recognized by your customer, for example: project name / shop name]]></description>
                </parameter>
                <parameter name="payText" type="string" required="false" default="">
                    <description><![CDATA[pay text of the direct debit, choose a name recognized by your customer, for example: project name / shop name]]></description>
                </parameter>
                <parameter name="ip" type="string" required="false" default="">
                    <description><![CDATA[IP of the user]]></description>
                </parameter>
                <parameter name="freeParams" type="array" required="false" default="null">
                    <description><![CDATA[list of free params that belong to a session]]></description>
                </parameter>
                <parameter name="mandateRef" type="string" required="false" default="null">
                    <description><![CDATA[SEPA Mandate Reference, will be created otherwise]]></description>
                </parameter>
                <parameter name="mandateSignDate" type="string" required="false" default="null">
                    <description><![CDATA[Date of signing the mandate, otherwise sessionApprove Date]]></description>
                </parameter>
                <parameter name="mandateRecur" type="string" required="false" default="null">
                    <description><![CDATA[ SEPA mandate for single - standard for new mandates: "ONEOFF", or recurring payments: "RECURRING" or "FINAL"]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="sessionId" type="string" required="true">
                        <description><![CDATA[provided or created distinct ID of the session]]></description>
                    </parameter>
                    <parameter name="status" type="string" required="true">
                        <description><![CDATA[session status "INIT" or "REINIT"]]></description>
                    </parameter>
                    <parameter name="expire" type="string" required="true">
                        <description><![CDATA[expiration of the acknowledgement]]></description>
                    </parameter>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[given amount or rather standard from the configuration in cent]]></description>
                    </parameter>
                    <parameter name="currency" type="string" required="true">
                        <description><![CDATA[given currency respectively "EUR"]]></description>
                    </parameter>
                    <parameter name="title" type="string" required="true">
                        <description><![CDATA[given purchase item respectively standard from the configuration]]></description>
                    </parameter>
                    <parameter name="payToken" type="string" required="true">
                        <description><![CDATA[mapping key in the direct debit text]]></description>
                    </parameter>
                    <parameter name="payText" type="string" required="true">
                        <description><![CDATA[pay text of the direct debit]]></description>
                    </parameter>
                    <parameter name="payAmount" type="string" required="true">
                        <description><![CDATA[amount in EUR-Cent]]></description>
                    </parameter>
                    <parameter name="creditorId" type="string" required="true">
                        <description><![CDATA[SEPA Creditor ID]]></description>
                    </parameter>
                    <parameter name="mandateRef" type="string" required="true">
                        <description><![CDATA[SEPA Mandate Reference]]></description>
                    </parameter>
                    <parameter name="mandateSignDate" type="string" required="true">
                        <description><![CDATA[SEPA Date of signing the mandate or <empty>]]></description>
                    </parameter>
                    <parameter name="payRecurState" type="string" required="true">
                        <description><![CDATA[SEPA repeat-status of the payment: "OOFF", "FRST", "RCUR", "FNAL"]]></description>
                    </parameter>
                    <parameter name="payDate" type="string" required="true">
                        <description><![CDATA[SEPA date of the charge]]></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 from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
                <parameter name="freeParams" type="array" required="false" default="null">
                    <description><![CDATA[List of additional free parameters]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </method>
        <method name="sessionGet">
            <description><![CDATA[returns the information of a session]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="status" type="string" required="true">
                        <description><![CDATA[Session status "INIT", "REINIT", "APPROVED", "CHARGED", "REVERSED" or "RECHARGED"]]></description>
                    </parameter>
                    <parameter name="expire" type="string" required="true">
                        <description><![CDATA[expiration date respectively acknowledgement of the session]]></description>
                    </parameter>
                    <parameter name="statusDetail" type="string" required="true">
                        <description><![CDATA[description for failed transactions]]></description>
                    </parameter>
                    <parameter name="customerId" type="string" required="true">
                        <description><![CDATA[ID of the customer]]></description>
                    </parameter>
                    <parameter name="project" type="string" required="true">
                        <description><![CDATA[assigned project]]></description>
                    </parameter>
                    <parameter name="projectCampaign" type="string" required="true">
                        <description><![CDATA[assigned Project campaign]]></description>
                    </parameter>
                    <parameter name="account" type="string" required="true">
                        <description><![CDATA[assigned webmaster account]]></description>
                    </parameter>
                    <parameter name="webmasterCampaign" type="string" required="true">
                        <description><![CDATA[assigned webmaster campaign]]></description>
                    </parameter>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[given amount respectively standard from the configuration in Cent]]></description>
                    </parameter>
                    <parameter name="currency" type="string" required="true">
                        <description><![CDATA[given currency respectively "EUR"]]></description>
                    </parameter>
                    <parameter name="title" type="string" required="true">
                        <description><![CDATA[given purchase item respectively standard from the configuration]]></description>
                    </parameter>
                    <parameter name="payToken" type="string" required="true">
                        <description><![CDATA[reference key in the direct debit text]]></description>
                    </parameter>
                    <parameter name="payText" type="string" required="true">
                        <description><![CDATA[pay text of the direct debit]]></description>
                    </parameter>
                    <parameter name="payAmount" type="integer" required="true">
                        <description><![CDATA[Payment amount in EUR-Cent]]></description>
                    </parameter>
                    <parameter name="openAmount" type="integer" required="true">
                        <description><![CDATA[open amount of the Session in EUR-Cent]]></description>
                    </parameter>
                    <parameter name="creditAmount" type="integer" required="true">
                        <description><![CDATA[already payed amount of the session in EUR-Cent]]></description>
                    </parameter>
                    <parameter name="ip" type="string" required="true">
                        <description><![CDATA[given IP of the user]]></description>
                    </parameter>
                    <parameter name="freeParams" type="array" required="false" default="null">
                        <description><![CDATA[List of all free parameters]]></description>
                    </parameter>
                    <parameter name="creditorId" type="string" required="true">
                        <description><![CDATA[SEPA Creditor ID]]></description>
                    </parameter>
                    <parameter name="mandateRef" type="string" required="true">
                        <description><![CDATA[SEPA Mandate Reference]]></description>
                    </parameter>
                    <parameter name="mandateSignDate" type="string" required="true">
                        <description><![CDATA[SEPA Date of the mandate signing or <empty>]]></description>
                    </parameter>
                    <parameter name="payRecurState" type="string" required="true">
                        <description><![CDATA[SEPA recurring status of the payment: "OOFF", "FRST", "RCUR", "FNAL"]]></description>
                    </parameter>
                    <parameter name="payDate" type="string" required="true">
                        <description><![CDATA[SEPA date of the charge]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionApprove">
            <description><![CDATA[approves the direct debit charge of a session
 sends the notification sessionStatus with the status "APPROVED"]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="status" type="string" required="true">
                        <description><![CDATA[Session status "APPROVED" or "FAILED"]]></description>
                    </parameter>
                    <parameter name="expire" type="string" required="true">
                        <description><![CDATA[time of acknowledgement]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionCredit">
            <description><![CDATA[Creates a credit note for the customer, independant of the status and payment state of the session]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
                <parameter name="amount" type="integer" required="true">
                    <description><![CDATA[remittance amount in EUR-Cent]]></description>
                </parameter>
                <parameter name="payText" type="string" required="false" default="null">
                    <description><![CDATA[ payment text, by default the original remittance information is used]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[Remittance amount in EUR-Cent]]></description>
                    </parameter>
                    <parameter name="payText" type="string" required="true">
                        <description><![CDATA[payment text]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionList">
            <description><![CDATA[returns all sessions of a customer]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="customerId" type="string" required="false" default="null">
                    <description><![CDATA[ID of the customer or [NULL] for sessions of all customers]]></description>
                </parameter>
                <parameter name="dtmFrom" type="integer" required="false" default="null">
                    <description><![CDATA[Begin of the date range or [NULL] to not define this]]></description>
                </parameter>
                <parameter name="dtmTo" type="integer" required="false" default="null">
                    <description><![CDATA[End of the date range or [NULL] to not define this]]></description>
                </parameter>
                <parameter name="from" type="integer" required="false" default="0">
                    <description><![CDATA[Position of the first session to return]]></description>
                </parameter>
                <parameter name="count" type="integer" required="false" default="100">
                    <description><![CDATA[Amount of sessions to return]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="sessionIdList" type="array" required="false" default="null">
                        <description><![CDATA[ 0-indexed list of Session IDs]]></description>
                    </parameter>
                    <parameter name="count" type="integer" required="true">
                        <description><![CDATA[amount of entries in the list]]></description>
                    </parameter>
                    <parameter name="maxCount" type="integer" required="true">
                        <description><![CDATA[amount of all sessions/of the customer in the chosen date range]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionChargeTest">
            <description><![CDATA[simulates the charge for all acknowledged sessions
 creates a new transaction with the type "BOOKING" for every acknowledged session, and sends the notifications transactionCreate and sessionStatus with the status "CHARGED"]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[must be 1]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="count" type="integer" required="true">
                        <description><![CDATA[Amount of booked sessions]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionReverseTest">
            <description><![CDATA[simulates the cancellation of a single session
 creates a new transaction with the type "REVERSAL" and sends the notification transactionCreate
 and the notification sessionStatus with the status "REVERSED"]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[must be 1]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
                <parameter name="reverseCode" type="integer" required="false" default="0">
                    <description><![CDATA[ text code of the bank for example 9055 - objection]]></description>
                </parameter>
                <parameter name="reverseReason" type="string" required="false" default="'UNKNOWN'">
                    <description><![CDATA[ return debit note reason "UNSPECIFIED", "ACCOUNT_EXPIRED", "ACCOUNT_WRONG", "NOT_AUTHORIZED", "CONTRADICTED", "UNKNOWN"]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[cancellation amount with the fee included in EUR-Cent]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionRechargeTest">
            <description><![CDATA[simulates the complete pay back of a cancelled session
 creates a new transaction with the type "BACKPAY" and sends the notification transactionCreate
 and sends the notification sessionStatus with the status "RECHARGED", if the complete open amount has been settled]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[must be 1]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
                <parameter name="amount" type="integer" required="false" default="null">
                    <description><![CDATA[optionally the partial back pay amount in EUR-Cent]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[booked amount in EUR-Cent]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionRefund">
            <description><![CDATA[initiates a (partial-)credit and transfers it back
 creates a new transaction with the type "REFUND" and sends the notification transactionCreate]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the corresponding session]]></description>
                </parameter>
                <parameter name="bankCode" type="string" required="false" default="null">
                    <description><![CDATA[bank code, alternative for the IBAN]]></description>
                </parameter>
                <parameter name="accountNumber" type="string" required="false" default="null">
                    <description><![CDATA[account number, alternative for the IBAN]]></description>
                </parameter>
                <parameter name="accountHolder" type="string" required="false" default="null">
                    <description><![CDATA[Account holder]]></description>
                </parameter>
                <parameter name="amount" type="integer" required="false" default="null">
                    <description><![CDATA[Transfer amount in EUR-Cent, by default all of the entered amount will be transferred]]></description>
                </parameter>
                <parameter name="payText" type="string" required="false" default="null">
                    <description><![CDATA[pay text, bei default the original booking text will be used]]></description>
                </parameter>
                <parameter name="iban" type="string" required="false" default="null">
                    <description><![CDATA[IBAN of the alternative receiver]]></description>
                </parameter>
                <parameter name="bic" type="string" required="false" default="null">
                    <description><![CDATA[BIC, optional with a german IBAN]]></description>
                </parameter>
                <parameter name="country" type="string" required="false" default="'DE'">
                    <description><![CDATA[Country where the bank is based, alternative to the IBAN]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[Transfer amount in EUR-Cent]]></description>
                    </parameter>
                    <parameter name="payText" type="string" required="true">
                        <description><![CDATA[pay text]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="sessionRefundReverseTest">
            <description><![CDATA[simulates the cancellation of the last credit,
 creates a new transaction with the type "REFUNDREVERSAL" and sends the notification transactionCreate]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[must be 1]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[cancelled credit amount in EUR-Cent]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="transactionCreate">
            <description><![CDATA[creates a transaction with the type "EXTERNAL"
 sends the notification transactionCreate]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the corresponding session]]></description>
                </parameter>
                <parameter name="date" type="string" required="false" default="null">
                    <description><![CDATA[Date of the transaction]]></description>
                </parameter>
                <parameter name="amount" type="integer" required="true">
                    <description><![CDATA[Transaction amount in EUR-Cent]]></description>
                </parameter>
                <parameter name="description" type="string" required="false" default="'&quot;&quot;'">
                    <description><![CDATA[ description text]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </method>
        <method name="transactionList">
            <description><![CDATA[returns all transactions for a session]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="count" type="integer" required="true">
                        <description><![CDATA[Amount of entries in the transactionIdList]]></description>
                    </parameter>
                    <parameter name="transactionIdList" type="array" required="true">
                        <description><![CDATA[0-indexed list of transaction-IDs]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
        <method name="transactionGet">
            <description><![CDATA[returns information of a transaction]]></description>
            <parameters>
                <parameter name="accessKey" type="string" required="true">
                    <description><![CDATA[AccessKey from the micropayment ControlCenter]]></description>
                </parameter>
                <parameter name="testMode" type="integer" required="false" default="0">
                    <description><![CDATA[activates the test environment]]></description>
                </parameter>
                <parameter name="transactionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="sessionId" type="string" required="true">
                        <description><![CDATA[ID of the session]]></description>
                    </parameter>
                    <parameter name="date" type="string" required="true">
                        <description><![CDATA[Date of the transaction]]></description>
                    </parameter>
                    <parameter name="type" type="string" required="true">
                        <description><![CDATA[Type of transaction "BOOKING", "REVERSAL", "BACKPAY", "EXTERNAL", "REFUND", "REFUNDREVERSAL", "CREDIT"]]></description>
                    </parameter>
                    <parameter name="reverseReason" type="string" required="false" default="null">
                        <description><![CDATA[ on $type = "REVERSAL" type of return debit note "UNSPECIFIED", "ACCOUNT_EXPIRED", "ACCOUNT_WRONG", "NOT_AUTHORIZED", "CONTRADICTED", "UNKNOWN"]]></description>
                    </parameter>
                    <parameter name="amount" type="integer" required="true">
                        <description><![CDATA[transaction amount in EUR-Cent]]></description>
                    </parameter>
                    <parameter name="description" type="string" required="true">
                        <description><![CDATA[description text]]></description>
                    </parameter>
                </parameters>
            </return>
        </method>
    </methods>
    <notifications>
        <notification name="sessionStatus">
            <description><![CDATA[Notifies on every change of the session status, and adds other free parameters
 initiated by the functions sessionCreate and sessionApprove
 also sessionChargeTest, sessionReverseTest and sessionRechargeTest respectively the corresponding events]]></description>
            <parameters>
                <parameter name="testMode" type="integer" required="true">
                    <description><![CDATA[1 in a activated test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
                <parameter name="status" type="string" required="true">
                    <description><![CDATA[session status "INIT", "REINIT", "APPROVED", "CHARGED", "REVERSED" or "RECHARGED"]]></description>
                </parameter>
                <parameter name="freeParams" type="array" required="false" default="null">
                    <description><![CDATA[List with all free parameters]]></description>
                </parameter>
            </parameters>
            <return type="array">
                <description><![CDATA[]]></description>
                <parameters>
                    <parameter name="freeParams" type="array" required="false" default="null">
                        <description><![CDATA[List with all free parameters]]></description>
                    </parameter>
                </parameters>
            </return>
        </notification>
        <notification name="transactionCreate">
            <description><![CDATA[Notified on creation of a new transaction
 is initiated by the functions sessionChargeTest, sessionReverseTest, sessionRechargeTest, transactionCreate, sessionRefund, sessionRefundReverseTest respectively the corresponding events]]></description>
            <parameters>
                <parameter name="testMode" type="integer" required="true">
                    <description><![CDATA[1 in a activated test environment]]></description>
                </parameter>
                <parameter name="sessionId" type="string" required="true">
                    <description><![CDATA[ID of the session]]></description>
                </parameter>
                <parameter name="transactionId" type="string" required="true">
                    <description><![CDATA[ID of the Transaction]]></description>
                </parameter>
                <parameter name="date" type="string" required="true">
                    <description><![CDATA[Date of the Transaction]]></description>
                </parameter>
                <parameter name="type" type="string" required="true">
                    <description><![CDATA[Transaction type "BOOKING", "REVERSAL", "BACKPAY", "EXTERNAL", "REFUND", "REFUNDREVERSAL"]]></description>
                </parameter>
                <parameter name="amount" type="string" required="true">
                    <description><![CDATA[Transaction amount in EUR-Cent]]></description>
                </parameter>
                <parameter name="description" type="string" required="true">
                    <description><![CDATA[description text]]></description>
                </parameter>
            </parameters>
            <return type="void">
                <description><![CDATA[]]></description>
                <parameters/>
            </return>
        </notification>
    </notifications>
</service>
