Jump to content
xt:Commerce Community Forum
Sign in to follow this  
fiedler

Paypal-Workflow nicht sauber in V3.04SP2.1

Recommended Posts

Bei wem funktioniert aktuell die Abfrage der Zahlungsmethode innerhalb der Email ? Bei mir klappt es nicht auf die beschriebene Weise. :(

Habe folgenden Code in der send_order.html eingefügt:


{if $PAYMENT_METHOD eq 'PayPal'}

PAYPAL

{/}

Auch andere Schreibweisen für paypal funktionieren nicht. Hab es auch schon mit == versucht oder anstatt PayPal den kompletten Text der für die Variable {$payment_method} ausgegeben wird. Aber nichts hilft.

Wer kann mir weiterhelfen?? Wär super !

Share this post


Link to post
Share on other sites

@ robplanet:

Nein sorry Ich hatte den Code nur falsch abgetippt.

Funktioniert das denn bei dir ??

So sieht es in meiner order_mail.html aus:


{if $PAYMENT_METHOD eq 'PayPal'}


PAYPAL TEXT


{else}


ÜBERWEISUNG TEXT


{/if}

Leider funktioniert die Abfrage nicht. Auch bei PayPal erscheint immer der Text nach {else}. Verschiedene Schreibweisen wie paypal, Paypal, PayPal, Zahlung mit PayPal, etc... wurden bereits getestet.

Jemand eine Ahnung wieso ??

Share this post


Link to post
Share on other sites

Hallo,

ich habe die Lösung eingebaut und gestet (v3.04SP2.1). Funktioniert eigentlich wunderbar - nur wird in meinem Fall die Variable mit dem Gesamtbetrag nicht an Paypal übergeben. Auf der Paypal-Seite erscheint nach Betätigung des Links in der Bestellmail eine Aufforderung den zu zahlenden Betrag anzugeben.

Hat jemand eine Idee und kann helfen?

Besten Dank!

Share this post


Link to post
Share on other sites

Bei wem funktioniert aktuell die Abfrage der Zahlungsmethode innerhalb der Email ? Bei mir klappt es nicht auf die beschriebene Weise. :(

muss meine Frage erneut stellen, da bei mir das Problem bisher immer noch besteht. Gibt es jemanden bei dem die Abfrage funktioniert mit der 3.04 SP 2.1 ??

Greetz

Share this post


Link to post
Share on other sites

Habe die Lösung von fiedler mit der von medien_vision kombiniert und bekam anschließend über Paypal die Fehlermeldung über falsch formatierte Werte.

Habe das Problem mit Hilfe der Währungseinstellungen im Backend gelöst.

Hier hatte ich ursprünglich bei "Symbol left" das €-Zeichen eingeben – nachdem ich € durch EUR ersetzt und dies im Feld "Symbol right" eingetragen hatte, funktionierte die gesamte Übergabe einwandfrei.

Share this post


Link to post
Share on other sites

Hier noch eine kleine Verbesserung:

Dieser Schnipsel gehört in die send_order.php.

Änderung: ziehen des Empfängers aus dem PayPal-Modul


// PayPal-Workflow-Anpassung

if ($order->info['payment_method'] == 'paypal') {
$paypal_id_query = xtc_db_query("SELECT configuration_value FROM ".TABLE_CONFIGURATION." WHERE configuration_key = 'MODULE_PAYMENT_PAYPAL_ID'");
$paypal_id = xtc_db_fetch_array($paypal_id_query);
$paypal_id = $paypal_id['configuration_value'];

$smarty->assign('PAYPAL_ID', $paypal_id);
$smarty->assign('CURRENCY1',$order->info['currency']);
$tmp1 = str_replace ( '.', '', $order->info['total'] );
$tmp2 = eregi_replace ( ',', '.', $tmp1);
$tmp3 = floatval($tmp2);
$smarty->assign('TOTAL1',$tmp3);
}
// PayPal-Workflow-Anpassung

[/PHP]

Schnipsel für die e-Mail:

HMTL (Kompletter Block!!!):

[PHP]
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
{$address_label_customer}<br />
<br />
{if $PAYMENT_METHOD}<strong>Zahlungsmethode:</strong> {$PAYMENT_METHOD}<br />{/if}
{if $PAYMENT_METHOD eq 'PayPal'}
Klicken Sie auf den untenstehenden Link, um die Bestellung per PayPal zu bezahlen:<br />
<a href="https://www.paypal.com/de/cgi-bin/webscr?cmd=_xclick&business={$PAYPAL_ID}&item_name=Bestellnummer:{$oID}&amount={$TOTAL1}&currency_code={$CURRENCY1}&no_shipping=1">https://www.paypal.com/de/cgi-bin/webscr?cmd=_xclick&business={$PAYPAL_ID}&item_name=Bestellnummer:{$oID}&amount={$TOTAL1}&currency_code={$CURRENCY1}&no_shipping=1</a><br /> Hinweis: Falls der Link nicht funktioniert, kopieren Sie diesen bitte manuell in das Adressfenster Ihres Browsers.<br /> {/if} <br /> <strong>Bestellung Nr:</strong> {$oID}<br /> <strong>Bestelldatum:</strong> {$DATE}<br /> {if $csID}<strong>Kundennummer:</strong> {$csID}<br />{/if}
</font></td>
<td width="1">
<img src="{$logo_path}logo.gif"></td>
</tr>
</table>
[/PHP]

TXT:

[PHP]
{if $PAYMENT_METHOD}Zahlungsmethode: {$PAYMENT_METHOD}{/if}
{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/webscr?cmd=_xclick&business={$PAYPAL_ID}&item_name=Bestellnummer:{$oID}&amount={$TOTAL1}&currency_code={$CURRENCY1}&no_shipping=1

Hinweis: Falls der Link nicht funktioniert, kopieren Sie diesen bitte manuell in das Adressfenster Ihres Browsers.
{/if}
[/PHP]

HTH - Markus

Share this post


Link to post
Share on other sites

Hallo Markus

Also ich habe den Code bei mir eingegeben und alles funktioniert soweit einwandfrei, bis auf die Kommastellen.

Egal was ich am code verändere, aus z.B. 0,87 .-€ wird immer 78.-€

PayPal erkennt einfach nicht den richtigen Wert.

Irgend eine Idee was ich noch falsch mache ???

Gruss und Dank

Thomas

Share this post


Link to post
Share on other sites

Hallo,

ich habe ein kleines Problem mit Paypal. Ich hoffe mir kann da jemand weiterhelfen?

Wenn ein Kunde bei mir einen Artikel bestellt fügt mein Shop automatisch die Versandkosten dazu. Wenn der Kunde dann die Zahlungsmethode PayPal wählt, wird er auf die Paypal-Seite gleitet und PayPal fügt dann zum Gesamtbetrag inklusive den Versandkosten noch einmal Versandkosten hinzu. Also der Kunde zahlt dann zwei mal die Versandkosten.

Wíe kann ich das Problem lösen.

Danke schon mal im Voraus

Share this post


Link to post
Share on other sites

Guten Abend

erstmal besten Dank an alle die bei diesem Problem mitgeholfen haben... Bei mir läuft es bis jetzt ohne Probleme.

ich hätte noch ein paar Anregungen

1. zum einen wäre es schön wenn die Versandkosten per "&shipping=Betrag" mit übergeben würden.

2. bei der Übergabe an Paypal erscheind als Betrag z.B. € 9,99 EUR anstatt 9,99 EUR

3. ich habe den Link auf die Paypal Grafik gesetzt und möchte die Grafik/Link auch bei Paypalzahlungen auf der checkout_success.html einbinden. Wie bekomme ich dies hin. Wäre sehr für einen Tip Dankbar.

4. Wäre auch super wenn man bei Paypalzahlung diese Grafik/Link im Kundenkonto hinterlegen könnte. Wird dann wohl Analog zu Punkt 3 sein?

Besten Dank für eure Hilfe

Share this post


Link to post
Share on other sites

Ich habe ein weiteres Problem gefunden, welches allerdings allgemein mit externen Zahlungsmodulen besteht. Das heißt eigentlich ist es dasselbe Problem, nur aus einem anderen Blickwinkel betrachtet.

Folgende Situation:

Der Kunde wählt PayPal als Zahlungsmethode und wird zur PayPal Website weitergeleitet. Dann entschließt er sich doch eine andere Zahlungsmethode zu wählen und klickt auf den Button "Zurück zu xxxx". PayPal stellt den ja zur Verfügung. Jetzt ist er wieder im Shop und kann eine andere Zahlungsmethode wählen. Zum Beispiel Sofortüberweisung. Das Problem besteht darin, dass sobald der Kunde auf eine externe Zahlungsseite weitergeleitet wird, erstellt XTC automatisch eine Bestellung. Geht der Kunde zurück und wählt eine andere Methode, wird eine neue Bestellung angelegt. Man hat also zwei identische Bestellungen, eine mit Zahlungsmethode Paypal und eine mit Sofortüberweisung.

Kennt jemand eine Lösung für dieses Problem ???

Ich suche immer noch die Lösung um doppelte bestellungen zu vermeiden. Gibt es mittlerweile einen Lösungsansatz?

Wäre dankbar für jede Hilfe...

MfG Ingo

Share this post


Link to post
Share on other sites

meine lösung ist unheimlich simpel und verlässlich.

- curl abschalten. (Adminbereich - Zahlungoptionen - Paypal - curl -> false)

in der includes/modules/payment/paypal.php folgendes auskommentieren...

//etwa zeile 40

//$this->form_action_url = 'https://www.paypal.com/cgi-bin/webscr';


//etwa zeile 130

//xtc_redirect($this->form_action_url.'?'.$dataString);

...und nachdem der $dataString erzeugt ist, diesen einfach in der SESSION speichern.
unset($_SESSION['datastring_paypal_url']);

$_SESSION['datastring_paypal_url'] = 'https://www.paypal.com/cgi-bin/webscr?'.$dataString;
- link in die mail setzen in templates/.../mail/german/mail_order.html bzw txt
{php} 

if(isset($_SESSION['datastring_paypal_url'])){

echo '<a href="'.$_SESSION['datastring_paypal_url'].'">Klicken Sie auf diesen Link um nun direkt per PayPal zu zahlen.</a>';

}

{/php}
- und link in das bestell-abschluss fenster setzen in templates/.../modules/checkout_success.html

{php}

if(isset($_SESSION['datastring_paypal_url'])){

echo '<a href="'.$_SESSION['datastring_paypal_url'].'">Klicken Sie auf diesen Link um nun direkt per PayPal zu zahlen.</a>';

unset($_SESSION['datastring_paypal_url']);

}

{/php}

so weit, so gut.

Edited by spasstrompete

Share this post


Link to post
Share on other sites

Hallo spasstrompete

kannst du deine Lösung etwas ausführlicher Beschreiben?

Ich komme da nicht ganz mit,

..und nachdem der $dataString erzeugt ist, diesen einfach in der SESSION speichern.

WO GENAU kommt das hinein???

und die folgenden Codes in den geschweiften php Klammern???

Bitte step by step für einen Dummy

Gruss aus der Schweiz

Share this post


Link to post
Share on other sites

auch wenn das Thema schon älter ist muss ich es aus den tiefen des Forums nach oben holen.

Ich habe ein Problem, dass diesem sehr ähnlich ist. Mein Grundproblem ist, dass mein Auftraggeber den Workflow etwas anders haben will, quasi so:

Zahlart PayPal auswählen -> Klick auf Bestellen -> Weiterleitung zu PayPal -> Bezahlen -> zurück zum Shop

Gleichzeigt kommt via IPN ja der Bezahlpush und in diesem Moment soll eigentlich die Bestellemail "order_mail.html" versendet werden. Scheinbar geht das aber nicht so einfach.

Hat jemand schon ein änhliches Problem gehabt. Vielleicht kennt ja jemand eine simple Lösung für das Problem.

Gruß ProggerUno

Share this post


Link to post
Share on other sites

So, dann will ich auch noch mal zu Wort kommen ;-)

Seit dem "fiedler" die erste Codeveränderung vorgestellt hat, sind nun gute 5 Jahre vergangen und ich nutze seine Variante (mit dem PayPal Link in der Bestätigungsmail) noch immer.

Ist es denn aktuell immer noch nötig, dass dem Kunden ein PayPal Link in der Bestätigungsmail mit gesendet wird um die Bestellung zu bezahlen oder kann ich die Codeerweiterung wieder raus nehmen/ zurück bauen?

Ich würde gerne meinen Kunden den "normalen" Weg anbieten um mit PayPal zahlen zu können ... also direkt nach dem Absenden der Bestellung mit einer Weiterleitung auf die PayPal Seite und nach dem Zahlen wieder zurück in meinen Shop! Geht das mittlerweile ohne Probleme?

Wie sieht es aus mit "PayPal Express"?

Ich nutze nach wie vor XTC Version 3.04SP2.1

Danke für Eure Antworten.

back@me

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...