Index: /lib/phpgirocode.class.php
===================================================================
--- /lib/phpgirocode.class.php	(revision 8476)
+++ /lib/phpgirocode.class.php	(revision 8477)
@@ -406,5 +406,5 @@
 				$tmpfname = @tempnam("/tmp", "phpgirocode");
 				
-				QRcode::png($code, $tmpfname, $this->errCorrLevel, $this->qrsize);
+				QRcode::png($code, $tmpfname, $this->errCorrLevel, $this->qrsize, 2);
 				
 				return base64_encode(file_get_contents($tmpfname));
Index: /lib/wpsg_fpdf.class.php
===================================================================
--- /lib/wpsg_fpdf.class.php	(revision 8476)
+++ /lib/wpsg_fpdf.class.php	(revision 8477)
@@ -9,5 +9,20 @@
 		var $noHeader = false;
 		var $extgstates = [];
-		 
+		
+		public function addBase64Image($base64Image, $x, $y, $w = 0, $h = 0) {
+			
+			list($type, $data) = explode(';', $base64Image);
+			list(, $data) = explode(',', $data);
+			$data = base64_decode($data);
+	
+			$tempFile = tempnam(sys_get_temp_dir(), 'fpdf') . '.png';
+			file_put_contents($tempFile, $data);
+	
+			$this->Image($tempFile, $x, $y, $w, $h);
+	
+			unlink($tempFile);
+			
+		}
+		
 		public function Text($x, $y, $text)
 		{
Index: /mods/mod_rechnungen/lib/vendor/horstoeko/zugferd/src/ZugferdDocumentPdfBuilderAbstract.php
===================================================================
--- /mods/mod_rechnungen/lib/vendor/horstoeko/zugferd/src/ZugferdDocumentPdfBuilderAbstract.php	(revision 8476)
+++ /mods/mod_rechnungen/lib/vendor/horstoeko/zugferd/src/ZugferdDocumentPdfBuilderAbstract.php	(revision 8477)
@@ -303,12 +303,14 @@
         $sellerXpath = $xpath->query('//ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name');
 		
+		/*
 		if ($sellerXpath->item(0) === null) {
 			
 			echo '<pre>';
+			
 			debug_print_backtrace();
 			
 			die();
 			
-		}
+		}*/
 		
         $sellerName = $sellerXpath->item(0)->nodeValue;
Index: /mods/mod_rechnungen/wpsg_fpdf.class.php
===================================================================
--- /mods/mod_rechnungen/wpsg_fpdf.class.php	(revision 8476)
+++ /mods/mod_rechnungen/wpsg_fpdf.class.php	(revision 8477)
@@ -14,5 +14,20 @@
 			
 		}
-						
+		
+		public function addBase64Image($base64Image, $x, $y, $w = 0, $h = 0) {
+			
+			list($type, $data) = explode(';', $base64Image);
+			list(, $data) = explode(',', $data);
+			$data = base64_decode($data);
+	
+			$tempFile = tempnam(sys_get_temp_dir(), 'fpdf') . '.png';
+			file_put_contents($tempFile, $data);
+	
+			$this->Image($tempFile, $x, $y, $w, $h);
+	
+			unlink($tempFile);
+			
+		}
+		
 		public function Cell($w, $h, $text, $border, $ln, $align, $fill = 0)
 		{
Index: /mods/wpsg_mod_prepayment.class.php
===================================================================
--- /mods/wpsg_mod_prepayment.class.php	(revision 8476)
+++ /mods/wpsg_mod_prepayment.class.php	(revision 8477)
@@ -48,8 +48,7 @@
 		} // public function settings_edit()
 		
-		public function settings_save()
-		{
-			
-		    $this->shop->update_option('wpsg_mod_prepayment_bezeichnung', $_REQUEST['wpsg_mod_prepayment_bezeichnung'], false, false, WPSG_SANITIZE_TEXTFIELD);
+		public function settings_save() {
+			
+			$this->shop->update_option('wpsg_mod_prepayment_bezeichnung', $_REQUEST['wpsg_mod_prepayment_bezeichnung'], false, false, WPSG_SANITIZE_TEXTFIELD);
 			$this->shop->update_option('wpsg_mod_prepayment_aktiv', $_REQUEST['wpsg_mod_prepayment_aktiv'], false, false, WPSG_SANITIZE_CHECKBOX);
 			$this->shop->update_option('wpsg_mod_prepayment_hint', $_REQUEST['wpsg_mod_prepayment_hint'], false, false, WPSG_SANITIZE_TEXTFIELD);
@@ -62,4 +61,7 @@
 			$this->shop->update_option('wpsg_mod_prepayment_swift', $_REQUEST['wpsg_mod_prepayment_swift'], false, false, WPSG_SANITIZE_TEXTFIELD);
 			$this->shop->update_option('wpsg_mod_prepayment_subject', $_REQUEST['wpsg_mod_prepayment_subject'], false, false, WPSG_SANITIZE_TEXTFIELD);
+			$this->shop->update_option('wpsg_mod_prepayment_qrcode', $_REQUEST['wpsg_mod_prepayment_qrcode'], false, false, WPSG_SANITIZE_CHECKBOX);
+			$this->shop->update_option('wpsg_mod_prepayment_qrcode_invoice', $_REQUEST['wpsg_mod_prepayment_qrcode_invoice'], false, false, WPSG_SANITIZE_CHECKBOX);
+			$this->shop->update_option('wpsg_mod_prepayment_qrcode_mail', $_REQUEST['wpsg_mod_prepayment_qrcode_mail'], false, false, WPSG_SANITIZE_CHECKBOX);
 			
 			$this->shop->addTranslationString('wpsg_mod_prepayment_bezeichnung', wpsg_sinput(WPSG_SANITIZE_TEXTFIELD, $_REQUEST['wpsg_mod_prepayment_bezeichnung']));
@@ -67,4 +69,53 @@
 			
 		} // public function settings_save()
+		
+		public function wpsg_mod_rechnungen_pdf(&$pdf, &$order_id, &$bPreview, &$bInvoice) {
+			
+			if ($this->shop->get_option('wpsg_mod_prepayment_qrcode_invoice') == '1') {
+				
+				require_once WPSG_PATH_LIB.'phpgirocode.class.php';
+				
+				$formatIBAN = function($iban) {
+	
+					$iban = preg_replace('/\040/', '', $iban);
+					$iban_formated = '';
+					
+					for ($i = 0; $i < ceil(strlen($iban) / 4); $i ++) $iban_formated .= substr($iban, $i * 4, 4).' ';
+					
+					return trim($iban_formated);
+				
+				};
+				
+				$img = 'data:image/png;base64,'.$this->genQRCode(
+					$order_id,
+					$this->get_subject($order_id),
+					$this->shop->view['basket']['sum']['preis_gesamt_brutto'],
+					10,
+					PhpGirocode::OUTPUT_BASE64
+				);
+				
+				if ($pdf->getY() > 200) {
+					
+					$pdf->AddPage();
+					$y = $pdf->getY();
+					
+				} else $y = $pdf->getY() + 15;
+				
+				$pdf->setX(24); $pdf->setXY(24, $y);
+				$pdf->MultiCell(0, 4, __('Wenn Ihre Banking-App Girocode unterstÃŒtzt, kÃ¶nnen Sie den folgenden QRCode scannen, um die Zahlung durchzufÃŒhren.', 'wpsg'));
+				
+				$pdf->setY($pdf->getY() + 5);
+				
+				$pdf->addBase64Image($img, 22, $pdf->getY(), 50, 50);
+				
+				$pdf->setXY(80, $pdf->getY() + 3);
+				$pdf->MultiCell(0, 4,  "IBAN: ".$formatIBAN($this->shop->replaceUniversalPlatzhalter($this->shop->get_option('wpsg_mod_prepayment_iban')))."
+Kontoinhaber: ".$this->shop->replaceUniversalPlatzhalter($this->shop->get_option('wpsg_mod_prepayment_kinhaber'))."
+
+Betreff: ".$this->get_subject($order_id));
+				
+			}
+			
+		}
 		
 		public function checkGeneralBackendError()
@@ -126,23 +177,29 @@
 		} // public function order_done(&$order_id)
 		
-		public function mail_payment()
-		{
-
+		public function mail_payment() {
+			
 			if ($this->shop->view['basket']['checkout']['payment'] != $this->id) return;
 			
 			$this->shop->view['mod_prepayment']['subject'] = $this->get_subject($this->shop->view['o_id']);
 			
-			if ($this->shop->htmlMail === true)
-			{
+			if ($this->shop->htmlMail === true) {
 
 				echo $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_prepayment/mail_html.phtml');
 				
-			}
-			else
-			{
+			} else {
 			
 				echo $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_prepayment/mail.phtml');
 				
 			}
+			
+		}
+		
+		public function mail_payment_after() {
+
+			if ($this->shop->view['basket']['checkout']['payment'] != $this->id || $this->shop->htmlMail !== true) return;
+			
+			$this->shop->view['mod_prepayment']['subject'] = $this->get_subject($this->shop->view['o_id']);
+			
+			echo $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_prepayment/mail_html_payment_after.phtml');
 			
 		} // public function mail_payment()
Index: /views/css/frontend.css
===================================================================
--- /views/css/frontend.css	(revision 8476)
+++ /views/css/frontend.css	(revision 8477)
@@ -255,5 +255,5 @@
 .wpsg_productform .wpsg_produkt_wrapper .wpsg_product_only_store {  margin-top:0.75em; margin-bottom:0.75em; }
 .wpsg_productform .wpsg_produkt_wrapper .wpsg_mod_productvariants_product_wrap { margin-top:0.75em; margin-bottom:0.75em; }
-.wpsg_productform .wpsg_produkt_wrapper .wpsg_mod_productvariants_product_wrap select { width:100%; box-sizing:border-box; }
+.wpsg_productform .wpsg_produkt_wrapper .wpsg_mod_productvariants_product_wrap select { width:100%; box-sizing:border-box; padding:0.75em; line-height:1.5em; }
 .wpsg_productform .wpsg_produkt_wrapper .wpsg_product_informationarea { margin-top:1.5em; margin-bottom:1.5em; }
 .wpsg_productform .wpsg_produkt_wrapper label { font-weight:bold; } 
@@ -576,5 +576,5 @@
 .wpsg_mod_prepayment_info_left_amount { display:flex; flex-direction:column; }
 
-.wpsg_mod_prepayment_girocode { display: flex; gap: 20px; border: 1px solid #000000; padding: 20px;}
+.wpsg_mod_prepayment_girocode { display: flex; gap: 20px; border: 1px solid #000000; padding: 20px; font-size:16px; }
 .wpsg_mod_prepayment_girocode h4{ margin: 0; }
 .wpsg_mod_prepayment_girocode_left { display: flex; flex-direction: column; }
Index: /views/mailtemplates/html/customer.phtml
===================================================================
--- /views/mailtemplates/html/customer.phtml	(revision 8476)
+++ /views/mailtemplates/html/customer.phtml	(revision 8477)
@@ -182,36 +182,5 @@
 		<td style="padding:2px; line-height:100%; vertical-align:top;" class="col0"><?php echo __('Zahlungsart', 'wpsg'); ?>:
 <br />		
-
-<?php
-	
-	require_once WPSG_PATH_LIB.'phpgirocode.class.php';
-	
-	if (isset($this->view['mod_prepayment']['subject']) && ($this->get_option('wpsg_mod_prepayment_qrcode') == true)) {
-			
-		if (in_array('kundenmail.phtml', $this->arTemplateStack)) {
-
-		
-			if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '0') {
-
-				$qrcodes = array();
-				$qrcodes = $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['wpsg_mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 3, PhpGirocode::OUTPUT_FILE, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
-
-				foreach ($qrcodes as $qr) echo $qr;
-
-			} else if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '1') { 
-
-				echo $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 3, PhpGirocode::OUTPUT_FILE, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
-
-			} else if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '2') {
-
-				echo $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 3, PhpGirocode::OUTPUT_FILE, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
-
-			}
-
-		}
-		
-	}
-	
-?>
+ 
 		
 		
@@ -222,3 +191,4 @@
 		</td>				
 	</tr>
+	<?php $this->callMods('mail_payment_after'); ?>
 </table>
Index: /views/mods/mod_prepayment/mail_html.phtml
===================================================================
--- /views/mods/mod_prepayment/mail_html.phtml	(revision 8476)
+++ /views/mods/mod_prepayment/mail_html.phtml	(revision 8477)
@@ -10,74 +10,2 @@
 </p> 
 
-<table style="width:100%;">
-	<tr>
-		<td><?php echo __('Kontoinhaber', 'wpsg'); ?>:</td>
-		<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_kinhaber')); ?></td>
-	</tr>
-	<tr>
-		<td><?php echo __('IBAN', 'wpsg'); ?>:</td>
-		<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban')); ?></td>
-	</tr>
-	<tr>
-		<td><?php echo __('Bank', 'wpsg'); ?>:</td>
-		<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_bank')); ?></td>
-	</tr>	
-	<tr>
-		<td><?php echo __('BIC-/SWIFT-Code', 'wpsg'); ?>:</td>
-		<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_swift')); ?></td>
-	</tr> 
-	<tr>
-		<td><?php echo __('Betreff', 'wpsg'); ?>:</td>
-		<td style="text-align:right;"><?php echo wpsg_translate(__('#1#', 'wpsg'), $this->view['mod_prepayment']['subject']); ?></td>
-	</tr>
-	<?php 
-	
-		if (isset($this->view['mod_prepayment']['subject']) && ($this->get_option('wpsg_mod_prepayment_qrcode') == true)) {
-
-			require_once WPSG_PATH_LIB.'phpgirocode.class.php';
-
-			echo '<tr><td>'.__('Zahlen via QR Code', 'wpsg').':</td></tr>';
-			
-			if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '0') {
-
-				$qrcodes = array();
-				$qrcodes = $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['wpsg_mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 3, PhpGirocode::OUTPUT_BASE64, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
-				
-				foreach ($qrcodes as $qr) {
-
-					if ($qr['title'] == 'QR-Rechnung') echo '<tr style="margin-top:25px;" >';
-					else echo '<tr>';
-						echo '<td>'.__($qr['title'], 'wpsg').'</td>';
-						echo '<td style="float:right;"><img style="max-width:120px;" width="120" height="120" src="data:image/png;base64,'.$qr['hash'].'" alt="qrcode" /></td>';
-					echo '</tr>';
-
-				}
-
-			} else if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '1') { 
-
-				$qrcode = $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 3, PhpGirocode::OUTPUT_BASE64, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
-				
-				echo '
-					<tr>
-						<td>'.__($qrcode['title'], 'wpsg').':</td>
-						<td style="float:right;" alt="qrcode">'.$qrcode['hash'].'</td>
-					</tr>
-				';
-
-			} else if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '2') {
-
-				$qrcode = $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 3, PhpGirocode::OUTPUT_BASE64, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
-
-				echo '
-					<tr>
-						<td>'.__($qrcode['title'], 'wpsg').':</td>
-						<td style="float:right;" alt="qrcode">'.$qrcode['hash'].'</td>
-					</tr>
-				';
-
-			}
-		
-		}
-
-	?>
-</table>
Index: /views/mods/mod_prepayment/mail_html_payment_after.phtml
===================================================================
--- /views/mods/mod_prepayment/mail_html_payment_after.phtml	(revision 8477)
+++ /views/mods/mod_prepayment/mail_html_payment_after.phtml	(revision 8477)
@@ -0,0 +1,67 @@
+<?php
+	
+	declare(strict_types=1);
+	
+	/**
+	 * @author: daniel
+	 * @date: 15.01.25
+	 * @time: 14:41
+	 */
+	
+?>
+
+<?php
+	
+	if (isset($this->view['mod_prepayment']['subject'])) {
+ 
+?>
+
+			<tr>
+				<td>
+					<?php if ($this->get_option('wpsg_mod_prepayment_qrcode') == true) {
+						
+						require_once WPSG_PATH_LIB.'phpgirocode.class.php';
+		
+						$qrcode = $this->callMod('wpsg_mod_prepayment', 'genQRCode', [
+							$this->view['o_id'],
+							$this->view['mod_prepayment']['subject'],
+							$this->view['basket']['sum']['preis_gesamt_brutto'],
+							5,
+							PhpGirocode::OUTPUT_BASE64
+						]);
+						
+					?>
+						<?php echo __('Girocode fÃŒr einfache Ãberweisungen', 'wpsg'); ?><br /><br />
+						<img src="data:image/png;base64,<?php echo $qrcode; ?>" alt="Base64 Image">
+					<?php } ?>
+				</td>
+				<td>
+					<br /><br />
+					<table style="width:100%;">
+						<tr>
+							<td><?php echo __('Kontoinhaber', 'wpsg'); ?>:</td>
+							<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_kinhaber')); ?></td>
+						</tr>
+						<tr>
+							<td><?php echo __('IBAN', 'wpsg'); ?>:</td>
+							<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban')); ?></td>
+						</tr>
+						<tr>
+							<td><?php echo __('Bank', 'wpsg'); ?>:</td>
+							<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_bank')); ?></td>
+						</tr>
+						<tr>
+							<td><?php echo __('BIC-/SWIFT-Code', 'wpsg'); ?>:</td>
+							<td style="text-align:right;"><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_swift')); ?></td>
+						</tr>
+						<tr>
+							<td><?php echo __('Betreff', 'wpsg'); ?>:</td>
+							<td style="text-align:right;"><?php echo wpsg_translate(__('#1#', 'wpsg'), $this->view['mod_prepayment']['subject']); ?></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+
+<?php
+	
+	}
Index: /views/mods/mod_prepayment/order_done.phtml
===================================================================
--- /views/mods/mod_prepayment/order_done.phtml	(revision 8476)
+++ /views/mods/mod_prepayment/order_done.phtml	(revision 8477)
@@ -5,6 +5,15 @@
 	 */
 	
-	//wpsg_debug($this->view['wpsg_mod_prepayment']['subject']);
-    
+	$formatIBAN = function($iban) {
+	
+		$iban = preg_replace('/\040/', '', $iban);
+		$iban_formated = '';
+		
+		for ($i = 0; $i < ceil(strlen($iban) / 4); $i ++) $iban_formated .= substr($iban, $i * 4, 4).' ';
+		
+		return trim($iban_formated);
+	
+	}
+	
 ?>
 
@@ -12,5 +21,5 @@
 <br /><br />
 <?php echo wpsg_translate(__('Kontoinhaber: #1#', 'wpsg'), $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_kinhaber'))); ?><br /> 
-<?php echo wpsg_translate(__('IBAN: #1#', 'wpsg'), $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban'))); ?><br /> 
+<?php echo wpsg_translate(__('IBAN: #1#', 'wpsg'), $formatIBAN($this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban')))); ?><br />
 <?php echo wpsg_translate(__('Bank: #1#', 'wpsg'), $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_bank'))); ?><br />
 <?php echo wpsg_translate(__('BIC-/SWIFT-Code: #1#', 'wpsg'), $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_swift'))); ?> 
@@ -19,165 +28,54 @@
 <br /><br />
 
-<?php return; if ( isset($this->view['wpsg_mod_prepayment']['subject']) && ($this->get_option('wpsg_mod_prepayment_qrcode') == true) ) { ?>
+<?php if (isset($this->view['wpsg_mod_prepayment']['subject']) && $this->get_option('wpsg_mod_prepayment_qrcode') == true) { ?>
 
 	<?php require_once WPSG_PATH_LIB.'phpgirocode.class.php'; ?>
+ 
+	<!-- Girocode (EPC) -->
 
-	<?php if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '0') { ?>
+	<p>
+		<?php echo __('Wenn Ihre Banking-App Girocode unterstÃŒtzt, kÃ¶nnen Sie diesen QRCode scannen.', 'wpsg'); ?>
+	</p>
+
+	<?php
+	
+		$img = [
+			'title' => __('Girocode', 'wpsg'),
+			'invoiceAmount' => $this->view['basket']['sum']['preis_gesamt_brutto'],
+			'referenceNumber' => $this->view['wpsg_mod_prepayment']['subject'],
+			'hash' => $this->callMod('wpsg_mod_prepayment', 'genQRCode', [
+				$this->view['o_id'],
+				$this->view['wpsg_mod_prepayment']['subject'],
+				$this->view['basket']['sum']['preis_gesamt_brutto'],
+				10,
+				PhpGirocode::OUTPUT_BASE64
+			])
+		];
 		
-		<!-- Girocode und QR-Rechnung -->
+	?>
 
-		<?php 
- 
-		try {
-			
-			$img = array();
-			$img = $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['wpsg_mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 10, PhpGirocode::OUTPUT_BASE64, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
- 		
-		?>
- 
-		<div class="wpsg_mod_prepayment_info_wrap">
-			<?php foreach ($img as $i) { ?>
-				<div class="wpsg_mod_prepayment_info">
-					<div class="wpsg_mod_prepayment_info_left">
-                    <div class="wpsg_mod_prepayment_info_left_qr-download">
-						<h4><?php echo wpsg_translate(__($i['title'], 'wpsg')); ?></h4>
-						<?php if (isset($i['filepath'])) { ?><a title="Downloadlink fÃŒr die QR-Rechnung" target="_blank" href="<?php echo $this->callMod('wpsg_mod_prepayment', 'getFrontendLink', [$i['order_id']]); ?>"><i class="fa fa-download" aria-hidden="true"></i></a><?php } ?>
-                    </div>	
-                        <br />
-						<?php echo '<img class="wpsg_mod_prepayment_info_left_qrcodeimg" src="data:image/png;base64,'.$i['hash'].'" />'; ?>
-						<br />
-						<div class="wpsg_mod_prepayment_info_left_wrap">
-							<div class="wpsg_mod_prepayment_info_left_currency">
-								<h4><?php echo wpsg_translate(__('WÃ€hrung', 'wpsg')); ?></h4>
-								<?php echo $this->get_option('wpsg_currency'); ?>
-							</div>
-							<div class="wpsg_mod_prepayment_info_left_amount">
-								<h4><?php echo wpsg_translate(__('Betrag', 'wpsg')); ?></h4>
-								<?php echo sprintf("%.2f", $i['invoiceAmount']); ?>
-							</div>
-						</div>
-					</div>
-					<div class="wpsg_mod_prepayment_info_right">
-						<h4><?php echo wpsg_translate(__('Konto / Zahlbar an', 'wpsg')); ?></h4>
-						<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban')); ?><br />
-						<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_kinhaber')); ?><br />
-						<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_street')); ?><br />
-						<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_zip')).' '.$this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_city')); ?><br />
-						<?php if (!empty($i['referenceNumber'])) { ?>
-							<h4><?php echo wpsg_translate(__('Referenz', 'wpsg')); ?></h4>
-							<?php echo $i['referenceNumber']; ?><br />
-						<?php } ?>
-						<h4><?php echo wpsg_translate(__('ZusÃ€tzliche Informationen', 'wpsg')); ?></h4>
-						<?php echo $i['additionalInformation']; ?><br /> 
-						<h4><?php echo wpsg_translate(__('Zahlbar durch', 'wpsg')); ?></h4>
-						<?php echo $i['customerdata']['vname'].' '.$i['customerdata']['name']; ?><br />
-						<?php echo $i['customerdata']['strasse'].' '.$i['customerdata']['nr']; ?><br />
-						<?php echo $i['customerdata']['plz'].' '.$i['customerdata']['ort']; ?><br />
-					</div>
+	<div class="wpsg_mod_prepayment_girocode">
+		<div class="wpsg_mod_prepayment_girocode_left" >
+			<h4><?php echo wpsg_translate(__($img['title'], 'wpsg')); ?></h4>
+			<?php echo '<img class="wpsg_mod_prepayment_girocode_left_qrcodeimg" src="data:image/png;base64,'.$img['hash'].'" />'; ?>
+			<br>
+			<div class="wpsg_mod_prepayment_girocode_left_wrap">
+				<div class="wpsg_mod_prepayment_girocode_left_currency">
+					<h4><?php echo wpsg_translate(__('WÃ€hrung', 'wpsg')); ?></h4>
+					<?php echo $this->get_option('wpsg_currency'); ?>
 				</div>
-			<?php } ?>
-		</div>
-
-		<?php } catch (\Exception $e) { wpsg_debug($e); } ?>
-
-	<?php } else if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '1') { ?>
-
-		<!-- Girocode (EPC) -->
-
-		<p>
-			<?php echo __('Wenn Ihre Banking-App Girocode unterstÃŒtzt, kÃ¶nnen Sie diesen QRCode scannen.', 'wpsg'); ?>
-		</p>
-
-		<?php 
-		
-			$img = array();
-			$img = $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['wpsg_mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 10, PhpGirocode::OUTPUT_BASE64, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket']));
-
-		?>
-
-		<div class="wpsg_mod_prepayment_girocode">
-			<div class="wpsg_mod_prepayment_girocode_left" >
-				<h4><?php echo wpsg_translate(__($img['title'], 'wpsg')); ?></h4>
-				<br />
-				<?php echo '<img class="wpsg_mod_prepayment_girocode_left_qrcodeimg" src="data:image/png;base64,'.$img['hash'].'" />'; ?>
-				<br>
-				<div class="wpsg_mod_prepayment_girocode_left_wrap">
-					<div class="wpsg_mod_prepayment_girocode_left_currency">
-						<h4><?php echo wpsg_translate(__('WÃ€hrung', 'wpsg')); ?></h4>
-						<?php echo $this->get_option('wpsg_currency'); ?>
-					</div>
-					<div class="wpsg_mod_prepayment_girocode_left_amount">
-						<h4><?php echo wpsg_translate(__('Betrag', 'wpsg')); ?></h4>
-						<?php echo sprintf("%.2f", $img['invoiceAmount']); ?>
-					</div>
+				<div class="wpsg_mod_prepayment_girocode_left_amount">
+					<h4><?php echo wpsg_translate(__('Betrag', 'wpsg')); ?></h4>
+					<?php echo sprintf("%.2f", $img['invoiceAmount']); ?>
 				</div>
 			</div>
-			<div class="wpsg_mod_prepayment_girocode_right">
-				<h4><?php echo wpsg_translate(__('Konto / Zahlbar an', 'wpsg')); ?></h4>
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban')); ?><br />
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_kinhaber')); ?><br />
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_street')); ?><br />
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_zip')).' '.$this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_city')); ?><br />
-				<?php if (!empty($img['referenceNumber'])) { ?>
-					<h4><?php echo wpsg_translate(__('Referenz', 'wpsg')); ?></h4>
-					<?php echo $img['referenceNumber']; ?><br />
-				<?php } ?>
-				<h4><?php echo wpsg_translate(__('ZusÃ€tzliche Informationen', 'wpsg')); ?></h4>
-				<?php echo $img['additionalInformation']; ?><br /> 
-				<h4><?php echo wpsg_translate(__('Zahlbar durch', 'wpsg')); ?></h4>
-				<?php echo $img['customerdata']['vname'].' '.$img['customerdata']['name']; ?><br />
-				<?php echo $img['customerdata']['strasse'].' '.$img['customerdata']['nr']; ?><br />
-				<?php echo $img['customerdata']['plz'].' '.$img['customerdata']['ort']; ?><br />
-			</div>
 		</div>
-
-	<?php } else if ($this->get_option('wpsg_mod_prepayment_qrcode_country') == '2') { ?>
-
-		<!-- QR-Rechnung (SWISS) -->
-
-		<?php 
-
-			$img = array();
-			$img = $this->callMod('wpsg_mod_prepayment', 'genQRCode', array($this->view['o_id'], $this->view['wpsg_mod_prepayment']['subject'], $this->view['basket']['sum']['preis_gesamt_brutto'], 10, PhpGirocode::OUTPUT_BASE64, $this->get_option('wpsg_mod_prepayment_qrcode_country'), $this->view['basket'])); 
-		
-		?>
-		
-		<div class="wpsg_mod_prepayment_qrrechnung">
-			<div class="wpsg_mod_prepayment_qrrechnung_left">
-				<h4><?php echo wpsg_translate(__($img['title'], 'wpsg')); ?></h4>
-				<br />
-				<?php echo '<img class="wpsg_mod_prepayment_qrrechnung_left_qrcodeimg" src="data:image/png;base64,'.$img['hash'].'" />'; ?>
-				<br>
-				<div class="wpsg_mod_prepayment_qrrechnung_left_wrap">
-					<div class="wpsg_mod_prepayment_qrrechnung_left_currency">
-						<h4><?php echo wpsg_translate(__('WÃ€hrung', 'wpsg')); ?></h4>
-						<?php echo $this->get_option('wpsg_currency'); ?>
-					</div>
-					<div class="wpsg_mod_prepayment_qrrechnung_left_amount">
-						<h4><?php echo wpsg_translate(__('Betrag', 'wpsg')); ?></h4>
-						<?php echo sprintf("%.2f", $img['invoiceAmount']); ?>
-					</div>
-				</div>
-			</div>
-			<div class="wpsg_mod_prepayment_qrrechnung_right">
-				<h4><?php echo wpsg_translate(__('Konto / Zahlbar an', 'wpsg')); ?></h4>
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban')); ?><br />
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_kinhaber')); ?><br />
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_street')); ?><br />
-				<?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_zip')).' '.$this->replaceUniversalPlatzhalter($this->get_option('wpsg_shopdata_city')); ?><br />
-				<?php if (!empty($img['referenceNumber'])) { ?>
-					<h4><?php echo wpsg_translate(__('Referenz', 'wpsg')); ?></h4>
-					<?php echo $img['referenceNumber']; ?><br />
-				<?php } ?>
-				<h4><?php echo wpsg_translate(__('ZusÃ€tzliche Informationen', 'wpsg')); ?></h4>
-				<?php echo $img['additionalInformation']; ?><br /> 
-				<h4><?php echo wpsg_translate(__('Zahlbar durch', 'wpsg')); ?></h4>
-				<?php echo $img['customerdata']['vname'].' '.$img['customerdata']['name']; ?><br />
-				<?php echo $img['customerdata']['strasse'].' '.$img['customerdata']['nr']; ?><br />
-				<?php echo $img['customerdata']['plz'].' '.$img['customerdata']['ort']; ?><br />
-			</div>
+		<div class="wpsg_mod_prepayment_girocode_right">
+			<h4 style="margin-bottom:30px;"><?php echo wpsg_translate(__('Konto / Zahlbar an', 'wpsg')); ?></h4>
+			IBAN: <strong><?php echo $formatIBAN($this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_iban'))); ?></strong><br />
+			Kontoinhaber: <strong><?php echo $this->replaceUniversalPlatzhalter($this->get_option('wpsg_mod_prepayment_kinhaber')); ?></strong><br /><br />
+			Betreff: <strong><?php echo $img['referenceNumber']; ?></strong>
 		</div>
-
-	<?php } ?>
+	</div>
 	
 <?php } ?>
Index: /views/mods/mod_prepayment/settings_edit.phtml
===================================================================
--- /views/mods/mod_prepayment/settings_edit.phtml	(revision 8476)
+++ /views/mods/mod_prepayment/settings_edit.phtml	(revision 8477)
@@ -9,4 +9,12 @@
 <?php echo wpsg_drawForm_Input('wpsg_mod_prepayment_bezeichnung', __('Bezeichnung', 'wpsg'), $this->get_option('wpsg_mod_prepayment_bezeichnung'), array('help' => 'wpsg_mod_prepayment_bezeichnung')); ?>
 <?php echo wpsg_drawForm_Checkbox('wpsg_mod_prepayment_aktiv', __('Aktiv', 'wpsg'), $this->get_option('wpsg_mod_prepayment_aktiv'), array('help' => 'wpsg_mod_prepayment_aktiv')); ?>
+
+<br />
+
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_prepayment_qrcode', __('GiroCode fÃŒr Ãberweisung (Bestellabschluss) anbieten', 'wpsg'), $this->get_option('wpsg_mod_prepayment_qrcode'), array('help' => 'wpsg_mod_prepayment_qrcode')); ?>
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_prepayment_qrcode_invoice', __('GiroCode fÃŒr Ãberweisung (Rechnung) anbieten', 'wpsg'), $this->get_option('wpsg_mod_prepayment_qrcode_invoice'), array('help' => 'wpsg_mod_prepayment_qrcode_invoice')); ?>
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_prepayment_qrcode_mail', __('GiroCode fÃŒr Ãberweisung (HTML Kundenemail) anbieten', 'wpsg'), $this->get_option('wpsg_mod_prepayment_qrcode_mail'), array('help' => 'wpsg_mod_prepayment_qrcode_mail')); ?>
+
+<br />
 
 <?php echo wpsg_drawForm_Textarea('wpsg_mod_prepayment_hint', __('Hinweistext', 'wpsg'), $this->get_option('wpsg_mod_prepayment_hint'), array('help' => 'wpsg_mod_prepayment_hint')); ?>
