protected function GetExternalPaymentHandlerURL(TdbShopOrder $oOrder)
    {
        $oUser = TdbDataExtranetUser::GetInstance();
        $oCountry = $oUser->GetCountry();
        $sActiveFrontEndLanguageCode = self::getLanguageService()->getLanguageIsoCode();
        $aParameter = array(
            'PSPID' => $this->GetPSPID(),
            'ORDERID' => $oOrder->fieldOrdernumber,
            'AMOUNT' => $oOrder->fieldValueTotal * 100,
            'CURRENCY' => $this->GetCurrency(),
            'LANGUAGE' => strtolower($sActiveFrontEndLanguageCode).'_'.strtoupper($sActiveFrontEndLanguageCode),
            'CN' => $oUser->fieldFirstname.' '.$oUser->fieldLastname,
            'EMAIL' => $oUser->fieldName,
            'OWNERADDRESS' => $oUser->fieldStreet.' '.$oUser->fieldStreetnr,
            'OWNERCTY' => $oCountry->fieldName,
            'OWNERTOWN' => $oUser->fieldCity,
            'OWNERZIP' => $oUser->fieldPostalcode,
            'PARAMPLUS' => 'PAYCALL='.self::URL_IDENTIFIER.'&PAYHAID='.$this->sqlData['cmsident'], 'PARAMVAR' => self::URL_IDENTIFIER_NOTIFY, );
        $this->AddCustomParameter($aParameter);
        $sOgonePaymentLayoutPageURL = $this->GetOgonePaymentLayoutPage();
        if ($sOgonePaymentLayoutPageURL) {
            $aParameter['TP'] = $sOgonePaymentLayoutPageURL;
        }
        $aParameter['ACCEPTURL'] = $this->GetResponseURL('success');
        $aParameter['DECLINEURL'] = $this->GetResponseURL('decline');
        $aParameter['SHASIGN'] = $this->BuildOutgoingHash($aParameter);
        $sExternalHandlerURL = $this->GetPaymentURL().'?'.str_replace('&amp;', '&', TTools::GetArrayAsURL($aParameter));

        return $sExternalHandlerURL;
    }