...
Installation in xt:Commerce 3.0.4 SP2.1
Datei admin/configure.php
Code Block |
---|
<?php switch ($_GET['gID']) { case 21: echo AFTERBUY_URL; case 19: echo '<table class="infoBoxHeading" width="100%"> <tr> <td width="150" align="center"> <a href="'.xtc_href_link(FILENAME_CONFIGURATION, 'gID=21', 'NONSSL').'">Afterbuy</a> </td> <td width="1">| </td> <td width="150" align="center"> <a href="'.xtc_href_link(FILENAME_CONFIGURATION, 'gID=19', 'NONSSL').'">Google Conversion</a> </td> <td width="1">| </td> <td> </td> </tr> </table>'; break; } ?> |
ersetzen durch:
Code Block |
---|
<?php // Paypal Express Modul start: switch ($_GET['gID']) { case 21: case 19: case 24: case 111125: echo '<table width="100%"> <tr class="dataTableHeadingRow"> <td width="150" align="center"> <a class="button" href="'.xtc_href_link(FILENAME_CONFIGURATION, 'gID=21', 'NONSSL').'">Afterbuy</a> </td> <td width="1">|</td> <td width="150" align="center"> <a class="button" href="'.xtc_href_link(FILENAME_CONFIGURATION, 'gID=19', 'NONSSL').'">Google Conversion</a> </td> <td width="1">|</td> <td width="150" align="center"> <a class="button" href="'.xtc_href_link(FILENAME_CONFIGURATION, 'gID=111125', 'NONSSL').'">PayPal</a> </td> <td width="1">|</td> <td></td> </tr> </table>'; break; // Paypal Express Modul end } ?> |
Datei admin/includes/column_left.php
Code Block |
---|
if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['paypal'] == '1')) echo '<a href="' . xtc_href_link('paypal.php') . '" class="menuBoxContentLink"> -' . BOX_PAYPAL . '</a><br>'; |
...
Code Block |
---|
if (ACTIVATE_GIFT_SYSTEM=='true') { |
Datei admin/includes/application_top.php
1.
Code Block |
---|
define('FILENAME_PAYPAL','paypal.php'); |
...
Code Block |
---|
define('TABLE_PAYPAL', 'paypal');
define('TABLE_PAYPAL_STATUS_HISTORY', 'paypal_status_history'); |
...
Code Block |
---|
define('TABLE_CAMPAIGNS_IP','campaigns_ip'); |
Datei includes\header.php
Code Block |
---|
<link rel="stylesheet" type="text/css" href="<?php echo 'templates/'.CURRENT_TEMPLATE.'/module/paypal_ratenkauf/xt_paypal_installments.css'; ?>" /> |
...
Code Block |
---|
<link rel="stylesheet" type="text/css" href="<?php echo 'templates/'.CURRENT_TEMPLATE.'/stylesheet.css'; ?>" /> |
Datei includes/application_top.php
Code Block |
---|
// Paypal Express Modul:
require_once (DIR_WS_CLASSES.'paypal_checkout.php');
$o_paypal = new paypal_checkout(); |
...
Code Block |
---|
// include the who's online functions xtc_update_whos_online(); |
Datei includes/database_tables.php
Eindügen vor ?>
Code Block |
---|
// PayPal define('TABLE_PAYPAL', 'paypal'); define('TABLE_PAYPAL_STATUS_HISTORY', 'paypal_status_history'); |
Datei includes/modules/product_info.php
Code Block |
---|
// paypal ratenkauf start $file = DIR_WS_CLASSES . 'paypal_ratenkauf_api.php'; if (file_exists ( $file )) { include_once ($file); } $ppi = new paypal_ratenkauf_api(); $info_smarty->assign('PAYPAL_RATENKAUF_INFO',$ppi->renderRatenkaufInfoBox($products_price['plain'],$_SESSION['currency'],'DE')); // paypal ratenkauf end |
Einfügen vor
Code Block |
---|
if ($_SESSION['customers_status']['customers_status_graduated_prices'] == 1) include (DIR_WS_MODULES.FILENAME_GRADUATED_PRICE); |
Datei checkout_confirmation.php
Code Block |
---|
// PP Ratenkauf start if($_GET['PayerID']!='' AND $_SESSION['reshash']['TOKEN']!='' AND (strtoupper($_SESSION['reshash']["ACK"])=="SUCCESS" OR strtoupper($_SESSION['reshash']["ACK"])=="SUCCESSWITHWARNING")) { $_POST['conditions']='1'; $file = DIR_WS_CLASSES . 'paypal_ratenkauf_api.php'; if (file_exists ( $file )) { include_once ($file); } $ppi = new paypal_ratenkauf_api(); $ppi->paypalGetCustomerData(); } // PP Ratenkauf end |
Einfügen nach:
Code Block |
---|
//-- TheMedia Begin check if display conditions on checkout page is true if (isset ($_POST['cot_gv'])) $_SESSION['cot_gv'] = true; // if conditions are not accepted, redirect the customer to the payment method selection page |
Datei shopping_cart.php
Code Block |
---|
// paypal ratenkauf start $file = DIR_WS_CLASSES . 'paypal_ratenkauf_api.php'; if (file_exists ( $file )) { include_once ($file); } $ppi = new paypal_ratenkauf_api(); $smarty->assign('PAYPAL_RATENKAUF_INFO',$ppi->renderRatenkaufInfoBox($_SESSION['cart']->show_total(),$_SESSION['currency'],'DE')); // paypal ratenkauf end |
...
Einfügen vor:
Code Block |
---|
// minimum/maximum order value $checkout = true; |
Datei checkout_payment.php
1.
Code Block |
---|
// Paypal Express Modul Start // PayPal neuer Start auf jeden Fall unset($_SESSION['reshash']); unset($_SESSION['nvpReqArray']); // Paypal Express Modul Ende // paypal ratenkauf start unset($_SESSION['PP_RETURN_RATENKAUF']); // paypal ratenkauf ende |
Einfügen vor:
Code Block |
---|
if (ACTIVATE_GIFT_SYSTEM == 'true') { $smarty->assign('module_gift', $order_total_modules->credit_selection()); } |
2.
Code Block |
---|
// Paypal Express Modul Start if(isset($_SESSION['reshash']['FORMATED_ERRORS'])){ $smarty->assign('error', $_SESSION['reshash']['FORMATED_ERRORS']); } // Paypal Express Modul Ende} |
Einfügen vor:
Code Block |
---|
$selection = $payment_modules->selection(); |
Datei checkout_confirmation.php
1.
Code Block |
---|
// PP Ratenkauf start if($_GET['PayerID']!='' AND $_SESSION['reshash']['TOKEN']!='' AND (strtoupper($_SESSION['reshash']["ACK"])=="SUCCESS" OR strtoupper($_SESSION['reshash']["ACK"])=="SUCCESSWITHWARNING")) { $_POST['conditions']='1'; $file = DIR_WS_CLASSES . 'paypal_ratenkauf_api.php'; if (file_exists ( $file )) { include_once ($file); } $ppi = new paypal_ratenkauf_api(); $ppi->paypalGetCustomerData(); } // PP Ratenkauf end |
Einfügen vor:
Code Block |
---|
if (DISPLAY_CONDITIONS_ON_CHECKOUT == 'true') { if ($_POST['conditions'] == false) { $error = str_replace('\n', '<br />', ERROR_CONDITIONS_NOT_ACCEPTED); xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode($error), 'SSL', true, false)); } } |
...
Datei includes/classes/order.php
1.
Code Block |
---|
// PayPal start: $order_tax_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_tax'"); $order_tax = xtc_db_fetch_array($order_tax_query); $pp_order_tax=$order_tax['SUM(value)']; $pp_order_disc=0; $order_disc_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_discount'"); $order_disc = xtc_db_fetch_array($order_disc_query); $pp_order_disc+=$order_disc['SUM(value)']; $pp_order_gs=0; $order_gs_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_coupon'"); $order_gs = xtc_db_fetch_array($order_gs_query); $pp_order_gs-=$order_gs['SUM(value)']; $order_gs_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_gv'"); $order_gs = xtc_db_fetch_array($order_gs_query); $pp$pp_order_gs-=$order_gs['SUM(value)']; /// customers bonus $order_gs_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_bonus_fee'"); $order_gs = xtc_db_fetch_array($order_gs_query); $pp_order_gs-=$order_gs['SUM(value)']; $pp_order_fee=0; $order_fee_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_payment'"); $order_fee = xtc_db_fetch_array($order_fee_query); // Rabatt aus Fremd Modul if($order_fee['SUM(value)'] < 0): $pp_order_disc+=$order_fee['SUM(value)']; else: $pp_order_fee+=$order_fee['SUM(value)']; endif; $order_fee_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_cod_fee'"); $order_fee = xtc_db_fetch_array($order_fee_query); $pp_order_fee+=$order_fee['SUM(value)']; $order_fee_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_ps_fee'"); $order$order_fee = xtc_db_fetch_array($order_fee_query); $pp_order_fee+=$order_fee['SUM(value)']; $order_fee_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_loworderfee'"); $order_fee = xtc_db_fetch_array($order_fee_query); $pp_order_fee+=$order_fee['SUM(value)']; // PayPal Ende // paypal ratenkauf $order_fee_query = xtc_db_query("select SUM(value) from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_paypal_ratenkauf'"); $order_fee = xtc_db_fetch_array($order_fee_query); $pp_ratenkauf_fee=$order_fee['SUM(value)']; // ratenkauf ende |
Einfügen nach: (Zeile ~78)
...
2.
Einfügen von:
Code Block |
---|
// PayPal 'pp_total' => $order_total['value'], 'pp_shipping' => $shipping_method['value'], ''pp_tax' => $pp_order_tax, 'pp_disc' => $pp_order_disc, 'pp_gs' => $pp_order_gs, 'pp_fee' => $pp_order_fee, 'pp_ratenkauf_fee'=>$pp_ratenkauf_fee, // PayPal End |
nach:
Code Block |
---|
'total' => strip_tags($order_total['text']), |
...
Code Block |
---|
define('BOX_PAYPAL','PayPal'); |
Änderung in Templates:
Informationsbox auf Produktseite (templates/../module/product_info/DATEI.html
...
an gewünschter Stelle für die Finanzierungsinfobox
Datei module/checkout_confirmation.html
Ersetzen von:
Code Block |
---|
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">{$CHECKOUT_FORM} {if $MODULE_BUTTONS!=''} {$MODULE_BUTTONS}<br />{/if} {$CHECKOUT_BUTTON}<br /><br />
<table width="100%" border="0" cellpadding="4">
<tr>
<td class="mainText">{if $REVOCATION}
<b>{$REVOCATION_TITLE}</b><br />
{$REVOCATION}<br />
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td class="main"><img src="{$tpl_path}img/arrow_green.gif" alt="arrow" />{$REVOCATION_TITLE} {$REVOCATION_LINK}</td>
</tr>
<tr>
<td class="main"><img src="{$tpl_path}img/arrow_green.gif" alt="arrow" />{$AGB_TITLE} {$AGB_LINK}</td>
</tr>
</table>
{/if}</td>
</tr>
</table></td>
</tr>
</table> |
...
Code Block |
---|
{if $PAYPAL_RATENKAUF_INFO}{$PAYPAL_RATENKAUF_INFO} <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="right">{$CHECKOUT_FORM} {$CHECKOUT_RATENKAUF_BUTTON}<br /><br /> <table width="100%" border="0" cellpadding="4"> <tr> <td class="mainText">{if $REVOCATION} <b>{$REVOCATION_TITLE}</b><br /> {$REVOCATION}<br /> <table width="100%" border="0" cellspacing="0" cellpadding="3"> <tr> <td class="main"><img src="{$tpl_path}img/arrow_green.gif" alt="arrow" />{$REVOCATION_TITLE} {$REVOCATION_LINK}</td> </tr> <tr> <td class="main"><img src="{$tpl_path}img/arrow_green.gif" alt="arrow" />{$AGB_TITLE} {$AGB_LINK}</td> </tr> </table> {/if}</td> </tr> </table></td> </tr> </table> {else} <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="right">{$CHECKOUT_FORM} {if $MODULE_BUTTONS!=''} {$MODULE_BUTTONS}<br />{/if} {$CHECKOUT_BUTTON}<br /><br /> <table width="100%" border="0" cellpadding="4"> <tr> <td class="mainText">{if $REVOCATION} <b>{$REVOCATION_TITLE}</b><br /> {$REVOCATION}<br /> <table width="100%" border="0" cellspacing="0" cellpadding="3"> <tr> <td class="main"><img src="{$tpl_path}img/arrow_green.gif" alt="arrow" />{$REVOCATION_TITLE} {$REVOCATION_LINK}</td> </tr> <tr> <td class="main"><img src="{$tpl_path}img/arrow_green.gif" alt="arrow" />{$AGB_TITLE} {$AGB_LINK}</td> </tr> </table> {/if}</td> </tr> </table></td> </tr> </table> {/if} |
Datei modules/print_order.html
Einfügen von
Code Block |
---|
<link rel="stylesheet" type="text/css" href="templates/{$smarty.const.CURRENT_TEMPLATE}/module/paypal_ratenkauf/xt_paypal_installments.css" /> |
nach
Code Block |
---|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
Plugin-Installation/Konfiguration
- Installation von ot_total_ratenkauf und ot_paypal_ratenkauf unter Module→Zusammenfassung
Bitte beachten Sie die voreingestellte Sortierreihenfolge. Beide Module müssen NACH ot_total (Standard 99) sortiert sein.
- Installation des Zahlungsmodules paypal_ratenkauf
Erlaubte Zonen = DE
Aktivieren = true
Konfiguration der PayPal API Daten unter Konfiguration→xt;Partner→PayPal
Konfiguration Erklärung New Order Status Eine Bestellung wurde angelegt (Alle relevanten Bestellstatus konfigurieren Sie im PayPal Plugin) Client ID (Live) Wie Sie diese Daten anlegen finden Sie hier: Erstellen einer REST Applikation
In einer Multishop-Installation erstellen Sie bitte für jeden Shop eine eigene REST Applikation.Secret (Live) Client ID (Sandbox) Secret (Sandbox) Spezifische Bewerbung mit Wert Am Produkt wird der Ratenkauf immer mit echten Preisen beworben.
Bitte aktivieren Sie diese Funktion nur bei einem wirklich performantem Server.