|
|||
|
Leider funktioniert der PayPal-Workflow immer noch nicht richtig. Eigentlich müssten alle Shopbetreiber mit der Verison 3.04SP2.1 dieses Problem haben:
Wenn der Kunde eine Bestellung mit PayPal tätigt, wird er zu PayPal weitergeleitet. Daraufhin wird diese Bestellung schon in der Datenbank hinterlegt und ist für den Admin sichtbar. Wenn der Käufer die Bezahlung abbricht, da er z.B. sein PP-Passwort nicht zu Hand hat, kann er nicht zu einem späteren Zeitpunkt mehr bezahlen und der Kunde weiss nicht, ob die Bestellung vollzogen ist oder nicht. Er bekommt ja auch keine Bestellbestätigung. Meldet sich der Kunde nun im Shop wieder an, sieht er als erstes, dass der Warenkorb noch voll ist. Er vermutet also, dass keine Bestellung erfolgte. Schaut er jedoch in sein Kundenkonto, ist dort die nicht bezahlte Bestellung sichtbar. Das ist doch nicht sauber !?! Wünschenswert wäre für meine Begriffe folgender Work-Flow: - nach der Bestellung wir diese in die Datenbank hinterlegt - es erscheint die "Danke-Seite" - Kunde erhält Bestellbestätigung mit Zahlunsaufforderung in Form eines Links, mit den entsprechenen Daten (E-Mailadresse, Preis, Versandkosten, ...) Der Kunde kann so den Zeitpunkt der PayPal-Bezahlung selber wählen. Was meint Ihr? Ist die Umsetzung dessen durch kleine Codeänderungen mit der Version 3.04SP2.1 mgl.? |
|
|||
|
Nachdem ich feststellen musste, dass kein Interesse an einem kundenfreundlichen PayPal-Workflow besteht, habe ich selber versucht, die oben geschilderte PayPal-Abwicklung umzusetzen.
Als erstes habe ich in der include/modules/payment/paypal.php folgende Zeile auskommentiert: // $this->form_action_url = 'https://www.paypal.com/cgi-bin/webscr'; Somit wird schon mal eine Bestellung abgelegt, der Kunde erhält eine Bestellbestätigung, der Warenkorb ist leer und im System ist ein Bestellung angelegt worden --> alles Super. Nun soll in der Bestellbestätigung eine Link zu Paypal integriert werden, so dass der Kunde, wann immer er möchte, die Zahlung durchführen kann. Dazu habe ich in der Mail-Vorlage folgenden Code hinzugefügt: {if $PAYMENT_METHOD eq 'PayPal'} Klicken Sie auf den untenstehenden Link, um die Bestellung per PayPal zu bezahlen: https://www.paypal.com/de/cgi-bin/we...lick&business=email-adresse&item_name=Bestellnummer:{$oID}&amount=??????????¤cy_code=EUR&no_shipping=1 {/if} Leider kenne ich nicht die Variable, in der der Gesamtbetrag steht, der dann auch mit einem Punkt und nicht mit einem Komma die Cents von den Euros trennt. Kann mir da wenigstens einer helfen? Kommen die Variablen aus der /include/classes/afterbuy.php? Weiterhin interessiert mich auch die Meinung anderer, zu diesem Worflow. |
|
|||
|
Wie wäre es denn den Paypal-Link dann auch im Kundenkonto anzugeben, so dass er von dort auch die Zahlung auslösen kann?
Ich finde eine Möglichkeit, die Zahlung später durchzuführen, ist ein Muß. Bei Paypal kann man ja z.B. auch sein Konto erst per Überweisung auffüllen, bevor man die eigentliche Zahlung durchführt. Eine IPN-Anbindung vermisse ich ja auch, da muß ich mir erstmal die Modulstrukturen genauer ansehen :-/. |
|
|||
|
Hallo,
die Lösung einen Link bereitzustellen ist meiner Meinung nach sehr vernünftig, hat für alle Seiten nur Vorteile. Die notwendigen Werte für den Zahlbetrag kommen aus der TABLE_ORDERS_TOTAL text - formatierter Wert kommagetrennt mit EUR value - php zahlenwert, einfach auf 2 Nachkommestellen runden und dann in den Link damit Funktioniert wunderbar Gruß Heiko |
|
|||
|
Hallo,
erstmal vielen Dank für die ersten Rückmeldungen, dass diese Vorgehensweise eine doch gute Alternative zum eingebauten PayPal-Workflow ist. Den Link in den E-Mail-Text habe ich jetzt integriert und funktioniert super. |
|
|||
|
Zitat:
was genau muss man denn nun machen, bin leider nicht so versiert. MfG Perle |
|
|||
|
Zitat:
die Idee finde ich ganz gut, jetzt nur eine Frage ich habe deine Änderung bis jetzt nicht eingebaut. Wir der Kunde immer noch direkt zu Paypal geleitet und kann dort direkt bezahlen? Oder bekommt er nur noch den PayPal link per Email? Wir haben auch das Problem dass das PayPal Modul von XT:Commerce nicht feststellen kann ob die Bestellung auch bezahlt wurde. Man muss also immer bei PayPal nachschauen. Mit meinen alten Oscommerce Shop ging das PayPalIPN Modul, aber ich musste ja auch XT umsteigen. Falls jemand vom SUPPORT TEAM das liest, soll ja vorkommen. Wann gibt es ein funktionierendes PayPal IPN Modul bzw wann gibt es eine neue Version ;-((. Irgendwann hab ihr mal was von Ende des Jahres geschrieben |
|
|||
|
Hallo,
ich bin leider kein großer Programmierer und daher denke ich, dass meine Code-Manipulation nicht die sauberste ist. Aber es funktioniert: Folgende Änderungen habe ich vorgenommen: 1. in /includes/modules/payment/paypal.php folgende Zeile auskommentieren: [PHP]// $this->form_action_url = 'https://www.paypal.com/cgi-bin/webscr';[/PHP\ --> somit entfällt die direkte Weiterleitung zu PayPal, es wird eine Bestellung angelegt und der Kunde erhält für diese die Bestätigungs-Mail 2. in /sendorders.php --> Code eingefügt (siehe "Eigener Code" ganz unten): PHP-Code:
PHP-Code:
Über diesen Link in der Bestätigungsmail kommt der Kunde wie bisher auch direkt zu Paypal. Dort wird die Gesamtsumme angezeigt, die er zu bezahlen hat sowie die Empfänger-Adresse (Der Online-Shop) und die Bestellnummer als Zahlungsgrund werden übermitteln. Der Vorteil ist, dass der Kunde auch zu einem späteren Zeitpunkt bezahlen kann. |
|
|||
|
Hallo Fiedler,
vielen Dank für die Antwort ich werde über die Feiertage mal deine Änderungen ausprobieren, solche Antworten würde ich mir von dem Support auch gerne wünschen. Aber vielleicht kann man ja mit der Antwort vom XT:C Meister ******** Beiträge aus dem Support forun sind nicht für das freie Forum bestimmt. ******** und deiner was zusammen basteln Wobei ich jetzt zwar nicht weis wie man den Zahlungs status Zahlungserinnerung einrichtet, vielleicht meint er ja Orderstatus, Zahlungserinnerung, aber ich werde nach fragen *************** Geändert von mzanier (22.12.2006 um 14:38 Uhr) |
|
|||
|
Bei Tausenderbeträgen wurden diese nicht korrekt übernommen!
Habe den Code in der send_order.php mal abgeändert. Allerdings nur für EUR beträge! // eigener Code $smarty->assign('CURRENCY1',$order->info['currency']); $tmp1 = str_replace ( '.', '', $order->info['total'] ); $tmp2 = eregi_replace ( ',', '.', $tmp1); $tmp3 = eregi_replace ( ' EUR', '', $tmp2); //$tmp3 = floatval ($tmp2); $smarty->assign('TOTAL1',$tmp3); // Ende eigener Code |
![]() |
| Lesezeichen |
| Stichworte |
| paypalworkflow, sauber, v304sp21 |
| Themen-Optionen | |
| Ansicht | |
|
|