protected function getData()
    {
        Helper::requireServiceId();
        if (empty($this->_amount)) {
            throw new Required('Amount is not set', 1);
        }
        if (empty($this->_bankAccountHolder)) {
            throw new Required('bankAccountHolder is not set', 1);
        }
        if (empty($this->_bankAccountNumber)) {
            throw new Required('bankAccountNumber is not set', 1);
        }

        $this->data['serviceId'] = Config::getServiceId();
        $this->data['amount'] = $this->_amount;
        $this->data['bankAccountHolder'] = $this->_bankAccountHolder;
        $this->data['bankAccountNumber'] = $this->_bankAccountNumber;

        if (!empty($this->_bankAccountBic)) {
            $this->data['bankAccountBic'] = $this->_bankAccountBic;
        }
        if (!empty($this->_description)) {
            $this->data['description'] = $this->_description;
        }
        if (!empty($this->_promotorId)) {
            $this->data['promotorId'] = $this->_promotorId;
        }
        if (!empty($this->_info)) {
            $this->data['info'] = $this->_info;
        }
        if (!empty($this->_tool)) {
            $this->data['tool'] = $this->_tool;
        }
        if (!empty($this->_object)) {
            $this->data['object'] = $this->_object;
        }
        if (!empty($this->_extra1)) {
            $this->data['extra1'] = $this->_extra1;
        }
        if (!empty($this->_extra2)) {
            $this->data['extra2'] = $this->_extra2;
        }
        if (!empty($this->_extra3)) {
            $this->data['extra3'] = $this->_extra3;
        }
        if (isset($this->_orderId)) {
            $this->data['orderId'] = $this->_orderId;
        }
        if (isset($this->_currency)) {
            $this->data['currency'] = $this->_currency;
        }
        if ($this->_processDate instanceof \Datetime) {
            $this->data['processDate'] = $this->_processDate->format('d-m-Y');
        }

        return parent::getData();
    }