schnittstelle sofortueberweisung.de

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

GET geht auch ...versuchen wir es mal damit

sag mir dann aber bitte auch warum es so besser ist...

meine vermutung ist, dass es sonst sein kann, dass der kunde zwar bezahlt dann aber nicht mehr zurück kommt und du dann keine bestellung im system hast...ist das der grund ?
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Bei deinem System hast du einen offnen Warenkorb an der kasse stehen. Die Ware liegt noch auf dem
Band und die Kasserin hat dir den Betrag genannt.

Bei einer Weiterleitung ala PayPal _ Modul in 1.6.x bezahlt der Kunde artig und geht aus dem Laden und läßt die
Ware an der Kasse liegen.

Der Shopbetreiber hat das Geld und kennst den Kunden (oder auch nicht) und kann nur sehr aufwendig die Ware einem Kunden zuordnen.

cu

ralf
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

und dann noch was bei sofortueberweisung muss man noch nen erfolgslink und nen abbruchlink setzen

beim erfolgslink leiten wir ja auf die susses seite und beim abbruch würde ich wieder zurück an die payment auswahl leiten....dann aber stellt sich die frage wenn ich die session lösche ob ich dann so einfach zurück kann...verstehst du was ich meine

und dann noch eine frage ;) wie komm ich an die bestellnummer ... die würde ich gerne als verwendungszweck angeben...

ja dann wären wir ja gleich fertig
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »


beim erfolgslink leiten wir ja auf die susses seite und beim abbruch würde ich wieder zurück an die payment auswahl leiten...
Die Links für erfolgreiches Bezahlen und für den Abbruch kannst du aus meinem Script nehmen.
.dann aber stellt sich die frage wenn ich die session lösche ob ich dann so einfach zurück kann
..verstehst du was ich meine
nicht die Session löschen sondern nur die Sachen die wichtig sind... Z.b. Payment ist nach einem ubbruch wichtig,
dass dieser nicht vorhanden ist...
und dann noch eine frage ;) wie komm ich an die bestellnummer ... die würde ich gerne als verwendungszweck angeben...
$insert_id

hier einfach global in der methode erweitern

cu

ralf
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

gut danke das habe ich jetzt alles umgesetzt...

es funktioniert 1a :thumbsup:

das einzige problem ist nur das der warenkorb nicht gelöscht wird das muss doch nach succes passieren oder nicht ...

gruß

ajp24
Das Wissen der Menschheit gehört der Welt!
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

Hier der Quelltext

Code: Alles auswählen

function after_process() {
  	global $order, $oCurrencies, $insert_id;

  	$aFilename = oos_get_filename();
  	$aModules = oos_get_modules();

  	$sReturn =  oos_link($aModules['checkout'], $aFilename['checkout_success'], '', 'SSL');
  	$sCancel_return = oos_link($aModules['checkout'], $aFilename['checkout_payment'], '', 'SSL');
  	// Im Backend von sofortueberweisung einzustellen
  	// für Erfolgslink http://-USER_VARIABLE_0-
  	// für Abbruchlink http://-USER_VARIABLE_1-
  	$search_string = array("http://", "https://");
  	$replace_string = array("", "");
  	$success_link = str_replace($search_string, $replace_string, $sReturn);
  	$cancel_link = str_replace($search_string, $replace_string, $sCancel_return);
  	
  	$s_user_id = urldecode(MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR);
  	$s_project_id = urldecode(MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT);
  	$s_amount = urldecode($order->info['total']);
  	$s_reason_1 = urlencode('Best.-Nr.' . $insert_id);
  	$s_reason_2 = '';
  	$s_user_variable_0 = urlencode($success_link);
  	$s_user_variable_1 = urldecode($cancel_link);
  	$s_user_variable_2 = '';
  	$s_user_variable_3 = '';
  	$s_user_variable_4 = '';
  	$s_user_variable_5 = '';
  	$s_sender_bank_code = '';
  	$s_sender_account_number = '';
  	$s_sender_holder = '';
  	$s_sender_country_id = '';
  	$s_currency_id = 'EUR';
  	$s_language_id = '';
  	$s_input_password = urldecode(MODULE_PAYMENT_SOFORTUEBERWEISUNG_PASSWORD);
  	
  	// Erstellung der Prüfsumme
  	$x_user_id = MODULE_PAYMENT_SOFORTUEBERWEISUNG_KDNR;
  	$x_project_id = MODULE_PAYMENT_SOFORTUEBERWEISUNG_PROJEKT;
  	$x_amount = $order->info['total'];
  	$x_reason_1 = 'Best.-Nr.' . $insert_id;
  	$x_reason_2 = '';
  	$x_user_variable_0 = $success_link;
  	$x_user_variable_1 = $cancel_link;
  	$x_user_variable_2 = '';
  	$x_user_variable_3 = '';
  	$x_user_variable_4 = '';
  	$x_user_variable_5 = '';
  	$x_sender_bank_code = '';
  	$x_sender_account_number = '';
  	$x_sender_holder = '';
  	$x_sender_country_id = '';
  	$x_currency_id = 'EUR';
  	$x_language_id = '';
  	$x_input_password = MODULE_PAYMENT_SOFORTUEBERWEISUNG_PASSWORD;

  	$hash_data = array( $x_user_id, $x_project_id, $x_sender_holder, $x_sender_account_number, $x_sender_bank_code,
                    	$x_sender_country_id, $x_amount, $x_currency_id, $x_reason_1, $x_reason_2, $x_user_variable_0,
                    	$x_user_variable_1, $x_user_variable_2, $x_user_variable_3, $x_user_variable_4, $x_user_variable_5,
                    	$x_input_password );
  	$hash_data_implode = implode('|',$hash_data);
  	$s_hash = sha1($hash_data_implode);


  	// Aufbau Link
  	$sLink = 'https://www.sofortueberweisung.de/payment/start?user_id=' . $s_user_id .
           	'&project_id='. $s_project_id .
           	'&amount=' . $s_amount .
           	'&currency_id=' . $s_currency_id . 
           	'&reason_1=' . $s_reason_1 .
           	'&user_variable_0=' . $s_user_variable_0 .
           	'&user_variable_1=' . $s_user_variable_1 .
           	'&hash=' . $s_hash;


 	unset($_SESSION['sendto']);
 	unset($_SESSION['billto']);
 	unset($_SESSION['shipping']);
 	unset($_SESSION['payment']);
 	unset($_SESSION['comments']);
 	
 	oos_redirect($sLink);

  	return false;

	}
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Füge in die sussess.php

Code: Alles auswählen

  $_SESSION['cart]->reset(true);

// unregister session variables used during checkout
  unset($_SESSION['sendto]);
  unset($_SESSION['billto]);
  unset($_SESSION['shipping]);
  unset($_SESSION['payment]);
  unset($_SESSION['comments]);

ein
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

[quote='ajp24',index.php?page=Thread&postID=1222#post1222]Hier der Quelltext

Code: Alles auswählen

function after_process() {
  	global $order, $oCurrencies, $insert_id;

  	$sReturn =  oos_link($aModules['checkout'], $aFilename['checkout_success'], '', 'SSL');
  	$sCancel_return = oos_link($aModules['checkout'], $aFilename['checkout_payment'], '', 'SSL');
  	// Im Backend von sofortueberweisung einzustellen
  	// für Erfolgslink http://-USER_VARIABLE_0-
  	// für Abbruchlink http://-USER_VARIABLE_1-
  	$search_string = array("http://", "https://");
  	$replace_string = array("", "");
  	$success_link = str_replace($search_string, $replace_string, $sReturn);
  	$cancel_link = str_replace($search_string, $replace_string, $sCancel_return);
  	}
[/quote]

mmh... welche backlinks verwendet sofoert-überweiseung.de und wie regelst du dies mit der session?
also für die Kunden, die in ihrem Browser keine Session per Cookies annehmen?

Wir erstellen für alle Kunden gültige Links

Code: Alles auswählen

  	$sReturn =  oos_link($aModules['checkout], $aFilename['checkout_success], '', 'SSL');
  	$sCancel_return = oos_link($aModules['checkout], $aFilename['checkout_payment], '', 'SSL');
jetzt gehst du her und löscht http bzw. https.... verwendet sofortüberweisung die
gültigen links mit der richtigen session? oder die in ihrer datenbank? und wie bekommst du die session dahin?


cu

ralf
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

Das http:// bzw https:// muss direkt im Kundenmenü erfasst werden und kann nicht im Parameter mit übergeben werden

Die Ersetzungsparameter müssen exakt geschrieben werden, d.h. in Großbuchstaben, beginnend mit "-" und endend mit "-"

Im Backend steht dann einfach das

für Erfolgslink

Code: Alles auswählen

http://-USER_VARIABLE_0-
für Abbruchlink

Code: Alles auswählen

 http://-USER_VARIABLE_1-
Zuletzt geändert von ajp24 am 04.07.2009, 15:13, insgesamt 2-mal geändert.
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Okay ...

hast du die Möglichkeit eine dynamische Varaiable an die

Code: Alles auswählen

      // für Erfolgslink http://-USER_VARIABLE_0-
      // für Abbruchlink http://-USER_VARIABLE_1-  
Links anzufügeen?

Damit meine ich, dass du eine ID oder Varibale im Shop für den einen Kunden erzeusgst
und diese an dem Payment Anbieter sendest und dieser sendet diese eindeutige
ID ( Varibale ) an dich zurück.

Diese Variable benötigt der MyOOS aus Sicherheitsgründen für

Code: Alles auswählen

      // für Erfolgslink http://-USER_VARIABLE_0-
      // für Abbruchlink http://-USER_VARIABLE_1-[/php

da beide Seiten nur für [b]den[/b] Kunden erreichbar ist.

Kann es möglich sein, dass dein Anbieter hier die *shop eigenen Variablen*
erwartet? die das System an die hinterlegten URLS anhängt?

[code=php]      $sReturn =  oos_link($aModules['checkout], $aFilename['checkout_success], '', 'SSL');
      $sCancel_return = oos_link($aModules['checkout], $aFilename['checkout_payment], '', 'SSL');
Sorry - ich hatte noch keine Zeit für das Lesen der Schnittstellenbeschreibung (habe ich bis jetzt auch noch nicht gefunden)

cu

ralf
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

sofortueberweisung sagt
Die Inhalte in den Parametern Kundenvariable 0-5 nehmen wir beim Aufruf unserer Schnittstelle
entgegen und geben Sie am Ende des Zahlungsprozesses in der Benachrichtigung oder im Abbruch-,
bzw. Erfolgslink an Sie zurück.
user_variable_0 Kundenvariable 0 Zu Ihrer freien Verwendung
(z.B. Session-ID)
user_variable_1 Kundenvariable 1 Zu Ihrer freien Verwendung
user_variable_2 Kundenvariable 2 Zu Ihrer freien Verwendung
user_variable_3 Kundenvariable 3 Zu Ihrer freien Verwendung
user_variable_4 Kundenvariable 4 Zu Ihrer freien Verwendung
user_variable_5 Kundenvariable 5 Zu Ihrer freien Verwendung

Beispiel:

Code: Alles auswählen

Eingetragener Erfolgslink in Ihrem Projekt:
http://-USER_VARIABLE_0-/index.php?meineSession=-USER_VARIABLE_1-&transID=-
TRANSACTION-

Parameterabfrage in Ihrem Skript:
<?php
//in die Variable $variable wird der von uns zurückgegebene Wert geschrieben
$variable = $_POST[‚meineSession’];
…echo $variable;
?>
Beispiel 4: Erfolgslink mit Abfrage des Parameters „USER_VARIABLE_1“ in PHP
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

[url]http://-USER[/url]_VARIABLE_0-/index.php?meineSession=-USER_VARIABLE_1-&transID=-TRANSACTION-


-USER_VARIABLE_0
kommt aus der ~shop/includes/config.php

Code: Alles auswählen

 
 define('OOS_HTTP_SERVER', ''); // No trailing slash
  define('OOS_HTTPS_SERVER', ''); // No trailing slash
  define('ENABLE_SSL', ''); 
  define('OOS_SHOP', ''); 
 

Code: Alles auswählen

      if (ENABLE_SSL == 'true') {
        $link = OOS_HTTPS_SERVER . OOS_SHOP;
      } else {
        $link = OOS_HTTP_SERVER . OOS_SHOP;
      }
 
-USER_VARIABLE_0 = $link;

index.php?meineSession=-

^- dies sollst du vermutlich bei dem Payment- Anbieter hinterlegen für abbaruch und erfolgreich.

?meineSession=- der name der Session sollte nicht statisch hinterlegt sein.

Hinertlege bei dem Anbieter nur
index.php?mp=....&file=....&USER_VARIABLE_1-&transID=-TRANSACTION-


erzeuge nach Möglichkeit mit den MyOOS Funktionen die Session - Daten
USER_VARIABLE_1- = das ergbnis von

Code: Alles auswählen

oos_session_name() . '=' . oos_session_id() 
also grob vergeleichbar mit
super_name_oos=dre5268dfgsu8490kffghas902kfwe

hth

ralf
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

danke :)

ja machen wir mal hier weiter ?( :)
Zuletzt geändert von ajp24 am 16.07.2009, 12:01, insgesamt 1-mal geändert.
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

ich habe das Modul für einen Sponsor ((gute Kundin) gerade erfolgreich in die MyOOS version 1.6.5 eingebaut.

Bei Sofortüberweisung habe ich für

Erfolgreiche Link

http://shop_domain.de/index.php?mp=checkout&file=success&-USER_VARIABLE_0-

Abbruch Link
http://shop_domain.de/index.php?mp=checkout&file=payment&-USER_VARIABLE_0-

eingetragen.

Code: Alles auswählen

      $sSession = oos_session_name() . '=' . oos_session_id();
 
.

Code: Alles auswählen

      $s_user_variable_0 = urlencode($sSession);
 
hth

r23
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

prima :)
Das Wissen der Menschheit gehört der Welt!
Antworten