schnittstelle sofortueberweisung.de
[quote='ajp24',index.php?page=Thread&postID=1212#post1212]Mehr ist nicht nötig um sofortueberweisung im oos zu nutzen
[/quote]
:cursing:
die hier hinterlegten Zugangsdaten sind *gültig* und führten zu zahlreichen fehlgeleiteten Zahlungen aus einem Shop.
Bitte keine Zugangsdaten hier veröffentlichen und in Module maximal Zugangsdaten für Demo-Anbindungen verwenden die bei einer Life-Schaltung zu einem FEHLER fürehn.
Danke
Code: Alles auswählen
class sofortueberweisung {
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR', '10000', '6', '4', now())");
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT', '50000', '6', '4', now())");
:cursing:
die hier hinterlegten Zugangsdaten sind *gültig* und führten zu zahlreichen fehlgeleiteten Zahlungen aus einem Shop.
Bitte keine Zugangsdaten hier veröffentlichen und in Module maximal Zugangsdaten für Demo-Anbindungen verwenden die bei einer Life-Schaltung zu einem FEHLER fürehn.
Danke
Das Modul wurde normal konfiguriert, geprüft und abgenommen... Irgendwann im laufenden Betrieb wurde das Modul *deaktiviert* und neu
*installiert* ohne Anpassung der Zugangsdaten . 8| Der Shop verwendete die "default" Werte aus dem Modul-Script....
Diese sind *gültig* und *funktionieren* in der Kombination.
Was lernen wir daraus? Richtig. NIE ... wirklich NIE mehr irgendwelche Zugangsdaten im Script hinterlegen.
*installiert* ohne Anpassung der Zugangsdaten . 8| Der Shop verwendete die "default" Werte aus dem Modul-Script....
Diese sind *gültig* und *funktionieren* in der Kombination.
Was lernen wir daraus? Richtig. NIE ... wirklich NIE mehr irgendwelche Zugangsdaten im Script hinterlegen.
Hallo,
[quote='ajp24',index.php?page=Thread&postID=1414#post1414]
ist ja bei allen anderen modulen auch so[/quote]
es kann möglichsein, dass das Projekt in der Vergangenheit 'default' Werte verwendet hat.
Die Möglichkeit, dass ein Shopbetreiber mit diesen Werten arbeiten könnte - ist mir nicht in den Sinn gekommen.
Wenn dir also ein Modul mit default Werten irgendwann mal auffallen sollten, werte ich dies als Bug und würde mich über Hinweise freuen.
Allerdings ändere ich dies nicht mehr an der Version 1.6.x und auch nciht mehr an 1.7.x . Da ich die Zeit einfach nicht habe.... und neue Fehler vermeiden möchten.
Schönen Sonntag
ralf
[quote='ajp24',index.php?page=Thread&postID=1414#post1414]
ist ja bei allen anderen modulen auch so[/quote]
es kann möglichsein, dass das Projekt in der Vergangenheit 'default' Werte verwendet hat.
Die Möglichkeit, dass ein Shopbetreiber mit diesen Werten arbeiten könnte - ist mir nicht in den Sinn gekommen.
Wenn dir also ein Modul mit default Werten irgendwann mal auffallen sollten, werte ich dies als Bug und würde mich über Hinweise freuen.
Allerdings ändere ich dies nicht mehr an der Version 1.6.x und auch nciht mehr an 1.7.x . Da ich die Zeit einfach nicht habe.... und neue Fehler vermeiden möchten.
Schönen Sonntag
ralf
[quote='wolfschw',index.php?page=Thread&postID=1596#post1596]
Wie bringe ich jetzt noch die Versandkosten und die Bestell- bzw. ID-Nr. nach Sofortüberweisung ?
[/quote]
ajp24 hat dies in seinem Posting am Freitag, 3. Juli 2009 um 12:56 beschrieben...
ansonsten einfach das Modul (php script) heir rein kopieren
Wie bringe ich jetzt noch die Versandkosten und die Bestell- bzw. ID-Nr. nach Sofortüberweisung ?
[/quote]
ajp24 hat dies in seinem Posting am Freitag, 3. Juli 2009 um 12:56 beschrieben...
ansonsten einfach das Modul (php script) heir rein kopieren
Hallo
Hier mein script Sofortueberweisung für 1.7.15
Gruß
Wolfgang
Hier mein script Sofortueberweisung für 1.7.15
Code: Alles auswählen
class sofortueberweisung {
var $code, $title, $description, $enabled;
// class constructor
function sofortueberweisung() {
global $oOrder, $aLang;
$this->code = 'sofortueberweisung';
$this->title = $aLang['module_payment_sofortueberweisung_text_title];
$this->description = $aLang['module_payment_sofortueberweisung_text_description];
$this->sort_order = MODULE_PAYMENT_SOFORTUEBERWEISUNG_SORT_ORDER;
$this->enabled = ((MODULE_PAYMENT_SOFORTUEBERWEISUNG_STATUS == 'True') ? true : false);
if ((int)MODULE_PAYMENT_SOFORTUEBERWEISUNG_ORDER_STATUS_ID > 0) {
$this->order_status = MODULE_PAYMENT_SOFORTUEBERWEISUNG_ORDER_STATUS_ID;
}
if (is_object($oOrder)) $this->update_status();
$this->form_action_url = 'https://www.sofortueberweisung.de/payment/start';
}
// class methods
function update_status() {
global $oOrder;
if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE > 0) ) {
$check_flag = false;
// Get database information
$db =& oosDBGetConn();
$oosDBTable = oosDBGetTables();
$check_result = $db->Execute("SELECT zone_id FROM " . $oosDBTable['zones_to_geo_zones] . " WHERE geo_zone_id = '" . MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE . "' AND zone_country_id = '" . $oOrder->billing['country]['id] . "' ORDER BY zone_id");
while ($check = $check_result->fields) {
if ($check['zone_id] < 1) {
$check_flag = true;
break;
} elseif ($check['zone_id] == $oOrder->billing['zone_id]) {
$check_flag = true;
break;
}
// Move that ADOdb pointer!
$check_result->MoveNext();
}
if ($check_flag == false) {
$this->enabled = false;
}
}
}
function javascript_validation() {
return false;
}
function selection() {
return array('id' => $this->code,
'module' => $this->title);
}
function pre_confirmation_check() {
return false;
}
function confirmation() {
return false;
}
function process_button() {
global $oOrder, $oCurrencies;
if (MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY == 'Selected Currency') {
$my_currency = $_SESSION['currency];
} else {
$my_currency = substr(MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY, 5);
}
if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) {
$my_currency = 'EUR';
}
$process_button_string = oos_draw_hidden_field('user_id', MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR) .
oos_draw_hidden_field('project_id', MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT) .
oos_draw_hidden_field('amount', number_format(($oOrder->info['total] - $oOrder->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency)));
return $process_button_string;
}
function before_process() {
return false;
}
function after_process() {
return false;
}
function output_error() {
return false;
}
function check() {
if (!isset($this->_check)) {
$db =& oosDBGetConn();
$oosDBTable = oosDBGetTables();
$check_result = $db->Execute("SELECT configuration_value FROM " . $oosDBTable['configuration] . " WHERE configuration_key = 'MODULE_PAYMENT_SOFORTUEBERWEISUNG_STATUS'");
$this->_check = $check_result->RecordCount();
}
return $this->_check;
}
function install() {
// Get database information
$db =& oosDBGetConn();
$oosDBTable = oosDBGetTables();
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_STATUS', 'True', '6', '3', 'oos_cfg_select_option(array(\'True\', \'False\'), ', now())");
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR', '10000', '6', '4', now())");
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT', '50000', '6', '4', now())");
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY', 'Selected Currency', '6', '6', 'oos_cfg_select_option(array(\'Selected Currency\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\',\'Only JPY\'), ', now())");
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_SORT_ORDER', '0', '6', '0', now())");
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE', '0', '6', '2', 'oos_cfg_get_zone_class_title', 'oos_cfg_pull_down_zone_classes(', now())");
$db->Execute("INSERT INTO " . $oosDBTable['configuration] . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, use_function, date_added) VALUES ('MODULE_PAYMENT_SOFORTUEBERWEISUNG_ORDER_STATUS_ID', '0', '6', '0', 'oos_cfg_pull_down_order_statuses(', 'oos_cfg_get_order_status_name', now())");
}
function remove() {
// Get database information
$db =& oosDBGetConn();
$oosDBTable = oosDBGetTables();
$db->Execute("DELETE FROM " . $oosDBTable['configuration] . " WHERE configuration_key in ('" . implode("', '", $this->keys()) . "')");
}
function keys() {
return array('MODULE_PAYMENT_SOFORTUEBERWEISUNG_STATUS', 'MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR', 'MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT', 'MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY', 'MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE', 'MODULE_PAYMENT_SOFORTUEBERWEISUNG_ORDER_STATUS_ID', 'MODULE_PAYMENT_SOFORTUEBERWEISUNG_SORT_ORDER');
}
}
?>
Gruß
Wolfgang
Code: Alles auswählen
function process_button() {
global $oOrder, $oCurrencies;
if (MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY == 'Selected Currency') {
$my_currency = $_SESSION['currency'];
} else {
$my_currency = substr(MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY, 5);
}
if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) {
$my_currency = 'EUR';
}
$process_button_string = oos_draw_hidden_field('user_id', MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR) .
oos_draw_hidden_field('project_id', MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT) .
oos_draw_hidden_field('amount', number_format(($oOrder->info['total'] - $oOrder->info['shipping_cost']) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency)));
return $process_button_string;
}
function before_process() {
return false;
}
function after_process() {
return false;
}
Code: Alles auswählen
function after_process() {
Code: Alles auswählen
function process_button() {
global $oOrder, $oCurrencies;
if (MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY == 'Selected Currency') {
$my_currency = $_SESSION['currency];
} else {
$my_currency = substr(MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY, 5);
}
if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) {
$my_currency = 'EUR';
}
$process_button_string = oos_draw_hidden_field('user_id', MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR) .
oos_draw_hidden_field('project_id', MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT) .
oos_draw_hidden_field('amount', number_format(($oOrder->info['total] - $oOrder->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency)));
return $process_button_string;
ansonsten fehlt in den globals eins $insert_id und in der summe (amount) werden die Versandkosten abgezogen (
Code: Alles auswählen
- $oOrder->info['shipping_cost]
daher fehlt dieser Betrag in der Summe....
Hoffe es hilft
ralf
Hallo,
evtl. stimmt die klasse nicht... ich kenne die Änderungen ja nicht...
aus
wird
Die Zugangsdaten von Softüberweisungen sollten übermittelt werden... was sendet der shop?
und wie sieht die klasse aus?
ralf
evtl. stimmt die klasse nicht... ich kenne die Änderungen ja nicht...
aus
Code: Alles auswählen
function process_button() {
global $oOrder, $oCurrencies;
if (MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY == 'Selected Currency') {
$my_currency = $_SESSION['currency];
} else {
$my_currency = substr(MODULE_PAYMENT_SOFORTUEBERWEISUNG_CURRENCY, 5);
}
if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) {
$my_currency = 'EUR';
}
Code: Alles auswählen
function process_button() {
return false;
}
und wie sieht die klasse aus?
ralf
Hallo
gruß
Code: Alles auswählen
// class methods
function update_status() {
global $oOrder;
if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE > 0) ) {
$check_flag = false;
// Get database information
$db =& oosDBGetConn();
$oosDBTable = oosDBGetTables();
$check_result = $db->Execute("SELECT zone_id FROM " . $oosDBTable['zones_to_geo_zones] . " WHERE geo_zone_id = '" . MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE . "' AND zone_country_id = '" . $oOrder->billing['country]['id] . "' ORDER BY zone_id");
while ($check = $check_result->fields) {
if ($check['zone_id] < 1) {
$check_flag = true;
break;
} elseif ($check['zone_id] == $oOrder->billing['zone_id]) {
$check_flag = true;
break;
}
// Move that ADOdb pointer!
$check_result->MoveNext();
}
if ($check_flag == false) {
$this->enabled = false;
}
}
}
gruß
Hallo,
hier mal eine Kopie aus dem payPal Modul
in der 1.7.x Version verwenden wir
Dies kann man leicht prüfen, wenn man mit WinMerge z.b. sich den Unterschied
der klassen zwischen 1.7. und 1.6 anzeigen läßt
WinMerge gibt es hier
http://winmerge.org/
Grüße
ralf
hier mal eine Kopie aus dem payPal Modul
Code: Alles auswählen
// class methods
function update_status() {
global $oOrder;
if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYPAL_ZONE > 0) ) {
$check_flag = false;
// Get database information
$dbconn =& oosDBGetConn();
$oostable =& oosDBGetTables();
$zones_to_geo_zonestable = $oostable['zones_to_geo_zones];
$check_result = $dbconn->Execute("SELECT zone_id FROM $zones_to_geo_zonestable WHERE geo_zone_id = '" . MODULE_PAYMENT_PAYPAL_ZONE . "' AND zone_country_id = '" . $oOrder->billing['country]['id] . "' ORDER BY zone_id");
while ($check = $check_result->fields) {
if ($check['zone_id] < 1) {
$check_flag = true;
break;
} elseif ($check['zone_id] == $oOrder->billing['zone_id]) {
$check_flag = true;
break;
}
// Move that ADOdb pointer!
$check_result->MoveNext();
}
// Close result set
$check_result->Close();
if ($check_flag == false) {
$this->enabled = false;
}
}
}
Code: Alles auswählen
$dbconn =& oosDBGetConn();
$oostable =& oosDBGetTables();
der klassen zwischen 1.7. und 1.6 anzeigen läßt
WinMerge gibt es hier
http://winmerge.org/
Grüße
ralf
ps
ich habe paypal verwendet...
aus
wird
aus
wird
Sorry...
cu
ralf
ich habe paypal verwendet...
aus
Code: Alles auswählen
if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYPAL_ZONE > 0) ) {
Code: Alles auswählen
if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE > 0) ) {
aus
Code: Alles auswählen
$check_result = $dbconn->Execute("SELECT zone_id FROM $zones_to_geo_zonestable WHERE geo_zone_id = '" . MODULE_PAYMENT_PAYPAL_ZONE . "' AND zone_country_id = '" . $oOrder->billing['country]['id] . "' ORDER BY zone_id");
Code: Alles auswählen
$check_result = $dbconn->Execute("SELECT zone_id FROM $zones_to_geo_zonestable WHERE geo_zone_id = '" . MODULE_PAYMENT_SOFORTUEBERWEISUNG_ZONE . "' AND zone_country_id = '" . $oOrder->billing['country]['id] . "' ORDER BY zone_id");
cu
ralf