public function retrieveSepaMandate($file_reference)
 {
     $global_config = $this->getConfig('global');
     $standard_parameters = $this->getStandardParameters();
     $builder = new Payone_Builder($this->getPayoneConfig());
     $service = $builder->buildServiceManagementGetFile();
     $request_data = array('key' => $global_config['key'], 'file_reference' => $file_reference, 'file_type' => 'SEPA_MANDATE', 'file_format' => 'PDF');
     $params = array_merge($standard_parameters, $request_data);
     $request = new Payone_Api_Request_GetFile($params);
     $this->log('getFile request:' . PHP_EOL . print_r($request, true));
     $result = $service->getFile($request);
     //$this->log('getFile result:'.PHP_EOL.print_r($result, true));
     if ($result instanceof Payone_Api_Response_Management_GetFile) {
         $t_pdf_data = $result->getRawResponse();
         $mandate_filename = 'sepa_mandate_' . $_SESSION['customer_id'] . '_' . md5($file_reference) . '.pdf';
         $bytes_written = file_put_contents(DIR_FS_DOWNLOAD_PUBLIC . $mandate_filename, $t_pdf_data);
         if ($bytes_written === false) {
             $this->log('ERROR writing mandate file ' . DIR_FS_DOWNLOAD_PUBLIC . $mandate_filename);
             return false;
         } else {
             $this->log('SEPA mandate written to ' . $mandate_filename . ' (' . $bytes_written . ' bytes)');
             return $mandate_filename;
         }
     } else {
         return false;
     }
 }