public function getEncryptedParams( // parameter values
        $invoice_id,
        $amount,
        $currency = null,
        $language = null,
        $user_field = null,
        $mode = null,
        $salutation = null,
        $name = null,
        $street = null,
        $street2 = null,
        $zip = null,
        $city = null,
        $country = null,
        $email = null,
        $phone = null,
        $success = null,
        $error = null,
        $confirmation = null,
        // parameters names
        $invoice_idVar = "TID",
        $amountVar = "AMOUNT",
        $currencyVar = "CURRENCY",
        $languageVar = "LANGUAGE",
        $user_fieldVar = "USER_FIELD",
        $modeVar = "MODE",
        $salutationVar = "SALUTATION",
        $nameVar = "NAME",
        $streetVar = "STREET",
        $street2Var = "STREET2",
        $zipVar = "ZIP",
        $cityVar = "CITY",
        $countryVar = "COUNTRY",
        $emailVar = "EMAIL",
        $phoneVar = "PHONE",
        $successVar = "SUCCESS_URL",
        $errorVar = "ERROR_URL",
        $confirmationVar = "CONFIRMATION_URL"
    ) {

        if (!$this->mpay24Sdk) {
            die("You are not allowed to define a constructor in the child class of Mpay24flexLink!");
        }

        $params[$invoice_idVar] = $invoice_id;
        $params[$amountVar]     = $amount;

        if ($currency == null) {
            $currency = "EUR";
        }

        $params[$currencyVar] = $currency;

        if ($language == null) {
            $language = "DE";
        }

        $params[$languageVar]   = $language;
        $params[$user_fieldVar] = $user_field;
/*
        if ($description == null) {               //TODO: undefined variable $description => check where this is coming from
            $description = "Rechnungsnummer:";
        }

        $params[$descriptionVar] = $description;    //TODO: undefined variable $descriptionVar => check where this is coming from
*/
        if ($mode == null) {
            $mode = "ReadWrite";
        }

        $params[$modeVar] = $mode;

        $params[$nameVar]    = $name;
        $params[$streetVar]  = $street;
        $params[$street2Var] = $street2;
        $params[$zipVar]     = $zip;
        $params[$cityVar]    = $city;

        if ($country == null) {
            $country = "AT";
        }

        $params[$countryVar] = $country;

        $params[$emailVar]        = $email;
        $params[$successVar]      = $success;
        $params[$errorVar]        = $error;
        $params[$confirmationVar] = $confirmation;

        $parameters = $this->mpay24Sdk->flexLink($params);

        return $parameters;
    }