Info |
---|
Die aktuellste Version des Plugins für xt:Commerce 3.0.4 SP2.1 erhalten Sie direkt von PayPal nach Freischaltung für Ratenkauf |
Installation in xt:Commerce 3.0.4 SP2.1
- Sichern Sie Ihre Komplette xt:Commerce 3 Installation und führen Sie eine Installation des Plugins in Ihrem Testsystem durch bevor Sie es in Ihrem Live Shop installieren
- Kopieren Sie bitte die Files aus dem Verzeichnis new_files/ in Ihre xt:Commerce 3 Installation, danach folgen Sie bitte den folgenden Anweisungen zur Anpassung Ihrer Shop-Datein.
Grundsätzlich empfehlen wir dringend ein Update auf xt:Commerce 4 (in kürze xt:Commerce 5).
Untere Anleitung bezieht sich auf eine Installation in eine unveränderte xt:Commerce 3 Installation und originaler xt:Commerce Software, das Gutscheinsystem wir in aktueller Pluginversion nicht untersützt.
Version | Datum | Notiz |
---|---|---|
1.0 | 15.09.2016 | Initial Release |
Datei admin/configuration.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
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;
}
?> |
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>'; |
Einfügen vor
Code Block |
---|
if (ACTIVATE_GIFT_SYSTEM=='true') { |
Datei admin/includes/application_top.php
1.
Code Block |
---|
define('FILENAME_PAYPAL','paypal.php'); |
Einfügen nach
Code Block |
---|
define('FILENAME_XSELL_GROUPS','cross_sell_groups.php'); |
2.
Code Block |
---|
define('TABLE_PAYPAL', 'paypal');
define('TABLE_PAYPAL_STATUS_HISTORY', 'paypal_status_history'); |
Einfügen nach
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'; ?>" /> |
Einfügen nach
Code Block |
---|
<link rel="stylesheet" type="text/css" href="<?php echo 'templates/'.CURRENT_TEMPLATE.'/stylesheet.css'; ?>" /> |
Datei includes/application_top.php
Code Block |
---|
// Paypal:
require_once (DIR_WS_CLASSES.'paypal_checkout.php');
$o_paypal = new paypal_checkout(); |
Einfügen vor
Code Block |
---|
// include the who's online functions
xtc_update_whos_online(); |
Datei includes/application_top_callback.php
Einfügen vor ?>
Code Block |
---|
require (DIR_WS_FUNCTIONS.'sessions.php'); |
Datei includes/database_tables.php
Einfü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 |
---|
$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'));
|
Einfügen vor
Code Block |
---|
if ($_SESSION['customers_status']['customers_status_graduated_prices'] == 1)
include (DIR_WS_MODULES.FILENAME_GRADUATED_PRICE); |
Datei shopping_cart.php
Code Block |
---|
$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'));
|
Einfügen vor:
Code Block |
---|
// minimum/maximum order value
$checkout = true; |
Datei checkout_payment.php
1.
Code Block |
---|
unset($_SESSION['reshash']);
unset($_SESSION['nvpReqArray']);
unset($_SESSION['PP_RETURN_RATENKAUF']); |
Einfügen vor:
Code Block |
---|
if (ACTIVATE_GIFT_SYSTEM == 'true') {
$smarty->assign('module_gift', $order_total_modules->credit_selection());
} |
2.
Code Block |
---|
if(isset($_SESSION['reshash']['FORMATED_ERRORS'])){
$smarty->assign('error', $_SESSION['reshash']['FORMATED_ERRORS']);
} |
Einfügen vor:
Code Block |
---|
$selection = $payment_modules->selection(); |
Datei checkout_confirmation.php
1.
Code Block |
---|
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();
} |
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));
}
} |
2.
Code Block |
---|
$order_total_modules->process(); |
ändern zu:
Code Block |
---|
$order_totals = $order_total_modules->process(); |
Datei includes/classes/order.php
1.
Code Block |
---|
$order_total_query = xtc_db_query("select text,value from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_total'");
$order_total = xtc_db_fetch_array($order_total_query);
$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_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_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)'];
$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)'];
|
Einfügen nach: (Zeile ~78)
Code Block |
---|
$order_total_query = xtc_db_query("select text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . $order_id . "' and class = 'ot_total'");
$order_total = xtc_db_fetch_array($order_total_query); |
2.
Einfügen von:
Code Block |
---|
'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, |
nach:
Code Block |
---|
'total' => strip_tags($order_total['text']), |
3.
Einfügen von
Code Block |
---|
'country_iso_2' => $order['delivery_country_iso_code_2'], |
nach:
Code Block |
---|
'country' => $order['delivery_country'], |
4.
Einfügen von
Code Block |
---|
'country_iso_2' => $order['billing_country_iso_code_2'], |
nach
Code Block |
---|
'country' => $order['billing_country'], |
Änderungen in Sprachfiles:
lang/german/admin/configuration.php
Einfügen am ende der Datei (vor ?>)
Code Block |
---|
include 'paypal_configuration.php'; |
lang/german/german.php
Einfügen vor ?>
Code Block |
---|
include 'paypal.php' |
lang/german/admin/german.php
Einfügen vor ?>
Code Block |
---|
define('BOX_PAYPAL','PayPal'); |
Änderung in Templates:
Informationsbox auf Produktseite (templates/../module/product_info/DATEI.html
Einfügen von:
Code Block |
---|
{if $PAYPAL_RATENKAUF_INFO}
{$PAYPAL_RATENKAUF_INFO}
{/if} |
an gewünschter Stelle für die Finanzierungsinfobox
Datei module/shopping_cart.html
Einfügen von:
Code Block |
---|
{if $PAYPAL_RATENKAUF_INFO}
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">{$PAYPAL_RATENKAUF_INFO}</td>
</tr>
</table>
<br />
{/if} |
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> |
durch:
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.
Darlehensgeber Geben Sie bitte hier Ihren Firmennamen und Adresse an (z.B: Firma XY Gmbh, Testweg 1, 10928 Musterhausen)