Differences

This shows you the differences between two versions of the page.

deutsch:module:shop:paypal-neu [2012/02/26 14:04]
Robert
deutsch:module:shop:paypal-neu [2018/06/03 18:09] (current)
Line 17: Line 17:
==== #1: DB-Update ==== ==== #1: DB-Update ====
-Es muß eine neuen Zwischenspeicher-Tabelle angelegt werden.+Es muß eine neue Zwischenspeicher-Tabelle angelegt werden.
<code php|h SQL-Anweisung in phpmyadmin ausführen:|h> <code php|h SQL-Anweisung in phpmyadmin ausführen:|h>
Line 51: Line 51:
) ENGINE=MyISAM AUTO_INCREMENT=14 ; ) ENGINE=MyISAM AUTO_INCREMENT=14 ;
</code> </code>
 + \\
 + \\
 + \\
 + \\
==== #2: Einspielen der notwendige Dateien ==== ==== #2: Einspielen der notwendige Dateien ====
- front_order_process.inc.php \\ - front_order_process.inc.php \\
- paypal.class.php \\ - paypal.class.php \\
-hier herunterladen +hier herunterladen \\ 
-{{:deutsch:module:shop:phpwcms_paypal.zip|}} +{{:deutsch:module:shop:phpwcms_r421andup_paypal.zip|}} 
-und auf den Server/ in include/inc_module/mod_shop_paypal/inc kopieren.+und auf den Server in include/inc_module/mod_shop_paypal/inc kopieren.
 \\  \\
-==== #3: Modifizieren des bestehenden Orderprocess ==== 
 \\  \\
 \\  \\
 + \\
 +
 +==== #3: Modifizieren des bestehenden Orderprocess ====
=== 1. Template File === === 1. Template File ===
Line 173: Line 179:
$_SESSION['shopping_cart']['order_number'] = $order_num; $_SESSION['shopping_cart']['order_number'] = $order_num;
- switch( $_SESSION['shopping_cart']['payby'] ){ + switch( $_SESSION[CART_KEY]['payby'] ){ 
- +
case 'paypal': case 'paypal':
headerRedirect(PHPWCMS_URL.$_tmpl['config']['cart_url']."&shop_order_process"); headerRedirect(PHPWCMS_URL.$_tmpl['config']['cart_url']."&shop_order_process");
Line 437: Line 443:
} }
</code> </code>
 + \\
 + \\
 + \\
 + \\
- +==== #4: Zusammenfassung ==== 
- +Jetzt müßte \\ 
-  +  a. die Zahlart PayPal Auswahl im Shop verfügbar sein 
- +  b. der Shop innerhalb seiner normalen Parameter funktionieren 
- +  c. eine Weiterleitung geschehen (höchstwahrscheinlich fehlerhaft!)
- +
-==== #4: Zwischenzusammenfassung ==== +
-Ab jetzt müßte \\ +
-  a. die Zahlart PayPal Auswahl im Shop verfügbar sein \\ +
-  b. eine Weiterleitung zu PayPal geschehen (derzeit ist noch die Sandbox Testumgebung aktiv) \\ +
-  c. der Shop innerhalb seiner normalen Parameter funktionieren. \\+
 \\  \\
Sollte eine der oben aufgeführten Punkte nicht zutreffen gibt es ein Problem. Kontrollier bitte noch einmal ganz genau die Punkt eins bis drei. Sollte eine der oben aufgeführten Punkte nicht zutreffen gibt es ein Problem. Kontrollier bitte noch einmal ganz genau die Punkt eins bis drei.
 \\  \\
 \\  \\
-Sollte es zu eigenartigen Weiterleitungen beim ABschliessen des Bestellprozesses kommen, dann trifft dies zu: + \\ 
-Die zur Verfügung gestellte Datei front.order_process.inc.php enthält einen Abschitt, zum Überprüfen des Referrer. +==== #5: config.inc.php ==== 
-<code> +Mit großer Wahrscheinlichkeit ist die Weiterleitungen beim Abschliessen des Bestellprozesses fehlerhaft. Die Parameter $phpwcms['machine_alias'] und $phpwcms['site_domain'] existieren Standardmäßig nicht und sollten in die config.inc.php nachgetragen werden.
- switch ($_GET['action']) { +
-  +
-    case 'process':      // Process and order... +
- validateReferrer(   $phpwcms['site_domain'], +
-    $phpwcms['machine_alias'].'.'.$phpwcms['site_domain']  +
- );//or bail... +
-</code> +
-Diese Parameter $phpwcms['machine_alias'] und $phpwcms['site_domain'] existieren Standardmäßig nicht und sollten ggf. in die config.inc.php nachgetragen werden.+
Konkret wäre das: Konkret wäre das:
<code> <code>
Line 469: Line 465:
$phpwcms['machine_alias'] = 'alias'; // www oder subdomain $phpwcms['machine_alias'] = 'alias'; // www oder subdomain
</code> </code>
- 
-Bitte ggf auch die frontend.render.php => function validateReferrer() einsehen und verstehen was da passiert! 
- 
-==== #5.1: Übersetzung ==== 
-Wird ein Kunde zu Paypal weiter geleitet erscheint eine Meldung. Diese ist derzeit in englischer Sprache. Unter paypal.class.php kann dies verändert werden. \\ 
 \\  \\
-Such nach +In diesem Zusammenhang auch die frontend.render.php => function validateReferrer() einsehen und verstehen was da passiert!
-<code> +
-// Generate the request header +
-</code> +
-und ersetze das darauf folgende +
-<code php|h beispielhaft mit:|h> +
- echo "<html>\n"; +
- echo "<head><title>PayPal Zahlung...</title></head>\n"; +
- +
- echo "<body onLoad=\"document.forms['paypal_form'].submit();\">\n"; +
- +
- echo "<center><h2>Bitte warten. Sie werden jetzt zu PayPal weiter geleitet.</h2></center>\n"; +
- echo "<form method=\"post\" name=\"paypal_form\" "; +
- echo "action=\"".$this->paypal_url."\">\n"; +
- +
- foreach ($this->fields as $name => $value) { +
- echo "<input type=\"hidden\" name=\"$name\" value=\"$value\"/>\n"; +
-+
- echo "<center><br/><br/>Sollten Sie nicht innerhalb der nächsten Sekunden weitergeleitet werden "; +
- echo "klicken Sie bitte hier...<br/><br/>\n"; +
- echo "<input type=\"submit\" value=\"Zu PayPal\"></center>\n"; +
- +
- echo "</form>\n"; +
- echo "</body></html>\n"; +
-</code> +
- \\ +
- \\ +
-==== #5.2: Übersetzung ==== +
-Die Success/ Error Page muß ebenso angepasst werden. Diese -wie zuvor angelegt/ eingefügt- im Template ganz am Ende zu finden. \\ +
- \\ +
-<code php|h beispielhafte deutsche übersetzung:|h> +
-<!--PAYPAL_ORDER_DONE_START//--> +
- <h2>Bestellung  #{ORDER} erfolgreich platziert</h2> +
- <p>Hallo <strong>{INV_FIRSTNAME} {INV_NAME}</strong>,<br /> +
- Vielen Dank für deine Bestellung. Du erhälst eine Benachrichtigung an <strong>{EMAIL}</strong> sobald uns Deine Bezahlung von PayPal bestätigt wurde.</p> +
- <p>Deine Bestellnummer lautet: <strong>{ORDER}</strong>. Bitte verwende die Nummer bei Rückfragen.</p> +
-<!--PAYPAL_ORDER_DONE_END//--> +
- +
-<!--PAYPAL_ORDER_DEBUG_START//--> +
- <h2>Paypal Fehler</h2> +
- <p><strong>{DEBUG_MSG1} </strong></p> +
- <p><strong>{DEBUG_MSG2} </strong></p> +
-<!--PAYPAL_ORDER_DEBUG_END//--> +
-</code> +
- \\ +
- \\ +
- \\ +
-==== #6: Beheben des Steuerbug ==== +
-Zwar gibt es unter Shop > Produkte die Möglichkeit zu bestimmen ob ein Preis in brutto oder netto vorliegt. Die Erweiterung wertet dies jedoch nicht aus sondern geht standardmäßig von einem Netto-Preis aus. Das bedeutet PayPal rechnet noch einmal die Mehrwertsteuer oben drauf. Diese Erweiterung beseitigt das unerwünschte Verhalten. \\ +
- \\ +
-**ACHTUNG:** Hier wäre eine Abfrage wünschenswert die anhand der Erfassung im Backend entscheidet ob Artikel mit oder ohne MwSt. an Paypal übergeben werden muß. Der folgende Core-Hack erfordert **alle** Produkte des Shops als Brutto. \\ +
- \\ +
-Vorgehensweise: Quick&Dirty wird die Tax-Zeile aus der Übergabe an PayPal entfernt. \\ +
- \\ +
-<code php|h Suche in paypal.class.php: |h> +
-      foreach ($this->fields as $name => $value) { +
-        echo "<input type=\"hidden\" name=\"$name\" value=\"$value\"/>\n"; +
-      } +
-</code> +
-<code php|h Ersetze die Funktion mit: |h> +
-      foreach ($this->fields as $name => $value) { +
- //remove tax from data-output  + q23.media 23102011 +
- if (substr($name, 0, 3) != 'tax') { +
-         echo "<input type=\"hidden\" name=\"$name\" value=\"$value\"/>\n"; +
-+
-      } +
-</code>+
deutsch/module/shop/paypal-neu.1330261475.txt.gz · Last modified: 2018/06/03 18:07 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0