Hallo zusammen,
da noch nicht sicher ist ob die SEPA Einführung verschieben wird oder nicht und die 2.0 von Modified auch auf sich warten lässt und aktuelle scheinbar kein Lastschriftmodul für SEPA verfügbar, bin ich selbst aktiv geworden und habe das Banktransfer-Modul etwas angepasst, wobei die Hauptarbeit natürlich nicht von mir ist. Als Basis habe ich diese hier genommen:
https://trac.modified-shop.org/ticket/35 da mir insbesondere die Prüfmöglichkeit durch das Script von Christian Rothe sehr sinnvoll und gut erscheinen (auch internationale Zahlungen).
Angepasst wurden dann ein paar Pfade, Abfragen und Einträge, im ursprünglichen banktransfer.php sind noch zwei kleinere Fehler drin gewesen usw.
Langer Rede kurzer Sinn: ich stelle die Arbeit mal hier ein in der Hoffnung, dass es für andere auch von Interesse ist und der Funktionstest auf mehrerer Schultern verteilt wird, da ich nur rudimentär getestet habe bis jetzt. Über Feedback, Kritik, Verbesserungen, Anregungen, Fehlermeldungen udn Korrekturen würde ich mich freuen.
Das Modul habe ich sowohl bei einer alten xt-Commerce 3.0.4schlagmichtot als auch in einem aktuellen 1.06er Modified Shop getestet. Somit sollte es auch auf allen Shops dazwischen funktionieren. Es sollte auch, soweit ich das beurteilen kann für den kommenden 2.0er Shop direkt verwendet werden können.
WICHTIG: Erst in einem Test-Shop testen. Wenn euer Daten weg sind übernehmen ich keine Haftung ! Backup auch nicht vergessen.
NOCH WICHTIGER: das Modul erfüllt NICHT die Anforderungen an ein schriftliches SEPA-Mandat. Wer das Modul verwendet ohne ein schriftliches Mandat läuft möglicherweise Gefahr, dass sich die Rückbuchungsfrist auf 13 Monate verlängert. Im Zweifelsfall mit der Bank abklären was gefordert und was GEDULDET wird.
Installation:
Die Dateien die benötigt werden sind im Anhang als ZIP Archiv zu finden. Diese Auspacken und in der Shop-Root installieren und dann folgende Änderungen durchführen:
Datenbank anpassen. Hierzu diese Querys ausführen z.B. über phpMyAdmin oder über die Komandozeile
ALTER TABLE banktransfer ADD banktransfer_iban VARCHAR(50) DEFAULT NULL;
ALTER TABLE banktransfer ADD banktransfer_bic VARCHAR(11) DEFAULT NULL;
/includes/database_tables.php
prüfen ob dieser Eintrag vorhanden ist. Wenn nicht, dann eintragen (dürfte in erster Linie nur xt-commerce betreffen):
define('TABLE_BANKTRANSFER_BLZ', 'banktransfer_blz'); für xt-commerce: darauf achten, dass die Tabelle banktransfer_blz vorhanden und auch mit den aktuellen Daten geladen ist
/lang/english/modules/payment/banktransfer.php
einfügen:
define('MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_IBAN', 'IBAN:'); define('MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_BIC', 'BIC:'); /lang/german/modules/payment/banktransfer.php
einfügen:
define('MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_IBAN', 'IBAN:'); define('MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_BIC', 'BIC:'); define('MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_INFO', 'Bitte beachten Sie, dass das Lastschriftverfahren <b>nur</b> von einem <b>deutschen Girokonto</b> aus möglich ist. Geben Sie entweder Kontonummer und BLZ ein oder IBAN und BIC.'); // ändern wenn gewünscht /lang/german/admin/orders.php
und
/lang/english/admin/orders.php
einfügen:
define('TEXT_BANK_IBAN', 'IBAN:'); define('TEXT_BANK_BIC', 'BIC:'); /admin/orders.php
den Block der mit $banktransfer_query anfängt wie folgt ändern, ersetzen oder erweitern. (Es hat sich die Query geändert und die zusätzlich anzeige der IBAN und BIC).
Das erste Beispiel zeigt die Änderungen bei xt-commerce
$banktransfer_query = xtc_db_query("select banktransfer_prz, banktransfer_status, banktransfer_owner, banktransfer_number, banktransfer_bankname, banktransfer_blz, banktransfer_fax, banktransfer_iban, banktransfer_bic from ".TABLE_BANKTRANSFER." where orders_id = '".xtc_db_input($_GET['oID'])."'");
$banktransfer = xtc_db_fetch_array($banktransfer_query);
if (($banktransfer['banktransfer_bankname']) || ($banktransfer['banktransfer_blz']) || ($banktransfer['banktransfer_iban']) || ($banktransfer['banktransfer_number'])) {
?>
<tr>
<td colspan="2"><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_NAME; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_bankname']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_BLZ; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_blz']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_NUMBER; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_number']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_IBAN; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_iban']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_BIC; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_bic']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_OWNER; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_owner']; ?></td>
</tr>
<?php
und hier die Änderungen bei Modified 1.06
// Banktransfer - START
$banktransfer_query = xtc_db_query("-- /admin/orders.php
SELECT banktransfer_prz,
banktransfer_status,
banktransfer_owner,
banktransfer_number,
banktransfer_bankname,
banktransfer_blz,
banktransfer_iban,
banktransfer_bic,
banktransfer_fax
FROM ".TABLE_BANKTRANSFER."
WHERE orders_id = ".$oID);
$banktransfer = xtc_db_fetch_array($banktransfer_query);
if ($banktransfer['banktransfer_bankname'] || $banktransfer['banktransfer_blz'] || $banktransfer['banktransfer_number'] || $banktransfer['banktransfer_iban']){
?>
<tr>
<td colspan="2"><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_NAME; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_bankname']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_BLZ; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_blz']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_NUMBER; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_number']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_IBAN; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_iban']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_BIC; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_bic']; ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_BANK_OWNER; ?></td>
<td class="main"><?php echo $banktransfer['banktransfer_owner']; ?></td>
</tr>
Das war's. Falls noch Interesse besteht an der Anpassung der Amicron Export-Script (nur Amicron 11) dann bitte melden. Die muss ich auch noch anpassen und ggf. kann man hierbei auch zusammen testen.
Viele Grüße, Dirk
Linkback: https://www.modified-shop.org/forum/index.php?topic=29003.0