Pagina 1 di 1

Sconto su bonifico bancario

Inviato: 21/06/2006, 17:21
da ngteam
Esiste una contribution per effettuare uno sconto sul tipo di pagamento scelto dal cliente, nello specifico pagamento con bonifico bancario?

Grazie a tutti :)

Inviato: 22/09/2006, 19:28
da scoach
si chiama Order Payment discount 1.2
ot_payment

Installata e funzionante proprio sul bonifico come vuoi fare tu.
saluti.

Inviato: 24/03/2007, 23:32
da oversize
scoach ha scritto:si chiama Order Payment discount 1.2
ot_payment

Installata e funzionante proprio sul bonifico come vuoi fare tu.
saluti.
perche a me non funziona :twisted: :twisted: :twisted:

Inviato: 25/03/2007, 11:48
da oversize
ho installato questa contribution , sono solo due file uno da mettere in catalog>includes>modules>order_total e l'altro in
catalog>includes>language>italian>modules>order_total

dall'admin dovrei gestire il tutto ma non funzione niente ,in protica dovrebbe mettermi una % di sconto su un metodo di pagamento a mia scelta ....qualcuno la ha mai provata??

http://www.oscommerce.com/community/con ... OT_PAYMENT

ho impostato come da foto .
nell' install c'è questo passpo che non ho ben capito :




I have re-named the tables so this module can be installed with the payment type fee module.
As they were based on the same bit of code they used the same table names.
If both modules were installed the seconf one took on the setting of the first.

One thing that wasn't clear to me was the name of the payment type to put in the field.
Don't use the label name as I did. Use the name of the class for the payment type.
This means opening the payment file up to read the class.

i.e. for this one:

class pm2checkout {

so in the payment type name put pm2checkout

Note that it is case sensitive!


################################################################
PAYMENT order_total class
--------------------------

Gives a discount based on the payment type. So you could give say 2% discount for online payment.
The default is set to cod. Normally you can discover the payment type from the name of the payment class file.
So Credit cards are in cc.php and the class name is cc.

[Now allows multiple payment classes. Just separate with commas



non è che mettere postepay in admin non basta e bisogna metterlo anche nel file?? questo il file .


<?php
/*
$Id: ot_lev_members.php,v 1.0 2002/04/08 01:13:43 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2002 osCommerce

Released under the GNU General Public License
*/

class ot_payment {
var $title, $output;

function ot_payment() {
$this->code = 'ot_payment';
$this->title = MODULE_PAYMENT_DISC_TITLE;
$this->description = MODULE_PAYMENT_DISC_DESCRIPTION;
$this->enabled = MODULE_PAYMENT_DISC_STATUS;
$this->sort_order = MODULE_PAYMENT_DISC_SORT_ORDER;
$this->include_shipping = MODULE_PAYMENT_DISC_INC_SHIPPING;
$this->include_tax = MODULE_PAYMENT_DISC_INC_TAX;
$this->percentage = MODULE_PAYMENT_DISC_PERCENTAGE;
$this->minimum = MODULE_PAYMENT_DISC_MINIMUM;
$this->calculate_tax = MODULE_PAYMENT_DISC_CALC_TAX;
// $this->credit_class = true;
$this->output = array();
}

function process() {
global $order, $currencies;

$od_amount = $this->calculate_credit($this->get_order_total());
if ($od_amount>0) {
$this->deduction = $od_amount;
$this->output[] = array('title' => $this->title . ':',
'text' => '<b>' . $currencies->format($od_amount) . '</b>',
'value' => $od_amount);
$order->info['total'] = $order->info['total'] - $od_amount;
}
}


function calculate_credit($amount) {
global $order, $customer_id, $payment;
$od_amount=0;
$od_pc = $this->percentage;
$do = false;
if ($amount > $this->minimum) {
$table = split("[,]" , MODULE_PAYMENT_DISC_TYPE);
for ($i = 0; $i < count($table); $i++) {
if ($payment == $table[$i]) $do = true;
}
if ($do) {
// Calculate tax reduction if necessary
if($this->calculate_tax == 'true') {
// Calculate main tax reduction
$tod_amount = round($order->info['tax']*10)/10*$od_pc/100;
$order->info['tax'] = $order->info['tax'] - $tod_amount;
// Calculate tax group deductions
reset($order->info['tax_groups']);
while (list($key, $value) = each($order->info['tax_groups'])) {
$god_amount = round($value*10)/10*$od_pc/100;
$order->info['tax_groups'][$key] = $order->info['tax_groups'][$key] - $god_amount;
}
}
$od_amount = round($amount*10)/10*$od_pc/100;
$od_amount = $od_amount + $tod_amount;
}
}
return $od_amount;
}


function get_order_total() {
global $order, $cart;
$order_total = $order->info['total'];
// Check if gift voucher is in cart and adjust total
$products = $cart->get_products();
for ($i=0; $i<sizeof($products); $i++) {
$t_prid = tep_get_prid($products[$i]['id']);
$gv_query = tep_db_query("select products_price, products_tax_class_id, products_model from " . TABLE_PRODUCTS . " where products_id = '" . $t_prid . "'");
$gv_result = tep_db_fetch_array($gv_query);
if (ereg('^GIFT', addslashes($gv_result['products_model']))) {
$qty = $cart->get_quantity($t_prid);
$products_tax = tep_get_tax_rate($gv_result['products_tax_class_id']);
if ($this->include_tax =='false') {
$gv_amount = $gv_result['products_price'] * $qty;
} else {
$gv_amount = ($gv_result['products_price'] + tep_calculate_tax($gv_result['products_price'],$products_tax)) * $qty;
}
$order_total=$order_total - $gv_amount;
}
}
if ($this->include_tax == 'false') $order_total=$order_total-$order->info['tax'];
if ($this->include_shipping == 'false') $order_total=$order_total-$order->info['shipping_cost'];
return $order_total;
}


function check() {
if (!isset($this->check)) {
$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_DISC_STATUS'");
$this->check = tep_db_num_rows($check_query);
}

return $this->check;
}

function keys() {
return array('MODULE_PAYMENT_DISC_STATUS', 'MODULE_PAYMENT_DISC_SORT_ORDER','MODULE_PAYMENT_DISC_PERCENTAGE','MODULE_PAYMENT_DISC_MINIMUM', 'MODULE_PAYMENT_DISC_TYPE', 'MODULE_PAYMENT_DISC_INC_SHIPPING', 'MODULE_PAYMENT_DISC_INC_TAX', 'MODULE_PAYMENT_DISC_CALC_TAX');
}

function install() {
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Display Total', 'MODULE_PAYMENT_DISC_STATUS', 'true', 'Do you want to enable the Order Discount?', '6', '1','tep_cfg_select_option(array(\'true\', \'false\'), ', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_PAYMENT_DISC_SORT_ORDER', '999', 'Sort order of display.', '6', '2', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function ,date_added) values ('Include Shipping', 'MODULE_PAYMENT_DISC_INC_SHIPPING', 'true', 'Include Shipping in calculation', '6', '5', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function ,date_added) values ('Include Tax', 'MODULE_PAYMENT_DISC_INC_TAX', 'true', 'Include Tax in calculation.', '6', '6','tep_cfg_select_option(array(\'true\', \'false\'), ', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Discount Percentage', 'MODULE_PAYMENT_DISC_PERCENTAGE', '2', 'Amount of Discount(percentage).', '6', '7', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function ,date_added) values ('Calculate Tax', 'MODULE_PAYMENT_DISC_CALC_TAX', 'false', 'Re-calculate Tax on discounted amount.', '6', '5','tep_cfg_select_option(array(\'true\', \'false\'), ', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Minimum Amount', 'MODULE_PAYMENT_DISC_MINIMUM', '100', 'Minimum order before discount', '6', '2', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Payment Type', 'MODULE_PAYMENT_DISC_TYPE', 'COD', 'Payment Type to get discount', '6', '2', now())");
}

function remove() {
$keys = '';
$keys_array = $this->keys();
for ($i=0; $i<sizeof($keys_array); $i++) {
$keys .= "'" . $keys_array[$i] . "',";
}
$keys = substr($keys, 0, -1);

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")");
}
}

[/img]http://www.oscomtemplate.com/index.php?topic=2321.0[url][/url]