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; } }