protected function getBaseData()
    {
        $data = array();

        $data['VPSProtocol'] = $this->VPSProtocol;
        $data['TxType'] = $this->getTxType();
        $data['Vendor'] = $this->getVendor();
        $data['AccountType'] = $this->getAccountType() ?: static::ACCOUNT_TYPE_E;

        // TODO: move this to getDerivedLanguage()

        if ($language = $this->getLanguage()) {
            // Although documented as ISO639, the gateway expects
            // the code to be upper case.

            $language = strtoupper($language);

            // If a locale has been passed in instead, then just take the first part.
            // e.g. both "en" and "en-gb" becomes "EN".

            list($language) = preg_split('/[-_]/', $language);

            $data['Language'] = $language;
        }

        return $data;
    }