Jump to content
majoshop

Modulo Contrassegno con Maggiorazione (COD) 1.5

Recommended Posts

Salve amici, per chi fosse interessato ho trovato un modulo gratuito per il pagamento in contrassegno che vi permette di aggiungere una maggiorazione di prezzo, compatibile per PS 1.5 provato e testato, non fa altro che modificare il modulo cashondelivery originale aggiungendo la possibilità di impostare una maggiorazione al prezzo finale.

cashondelivery.zip

Share this post


Link to post
Share on other sites

Io sto cercando un modulo con sconto su bonifico...ce ne sono solo a pagamento eppure non mi sembra una cosa molto difficile da attuare...

Share this post


Link to post
Share on other sites

ragazzi ma la nuova versione è piena di bug.

Quando si fa un ordine non appare la notifica nel BO e quando appare dopo un po' (se appare) l'ordine è vuoto o mancano prodotti.

Meno male che il mio sito non è attivo ma dovendo partire tra 1 giorno sono abbastanza preoccupato.

Credo che torno alla 1.5.2

:wacko:

siamo messi bene

Share this post


Link to post
Share on other sites

Ciao a tutti, qualcuno ha trovato una soluzione pe ril modulo ''Cash on Delivery'' contrassegno, per prestashop 1.5.3.1 ???

Quando tento di effettuare un ordine e selezione questo metodo di pagamento, l'ordine viene convalidato, ma nel BO non appaiono poi prodotti relativi all'ordine, mentre in fase di acquisto la pagina rimane bianca e si blocca l'acquisto.

 

Qualcuno ha soluzioni?

Grazie mille

Share this post


Link to post
Share on other sites

Intanto grazie a lucarobo che ha postato l'ultima versione! Ho un problema con questo modulo sulla 1.5 se uso la pagina di ordine veloce (express checkout) se mi registro come nuovo utente, quando vado poi a cliccare salva e mostra quindi i metodi di pagamento cioè quelli che ho impostato paypal, bonifico ma manca COD.. se però ricarico la pagina poi esce.. è fastidioso anche perchè io so che esce se aggiorni, ma per un cliente probabilmente pensa che non c'è contrassegno.

 

Qualcuno mi può aiutare? Cosa dovrei modificare per correggere questa cosa?

Share this post


Link to post
Share on other sites

difatti al momento ho ripristinato le 5 fasi e tutto sembra funzionare correttamente :)

 

avevo provato a smanettare nei file php ma francamente non so dove mettere le mani, sembrerebbe un problema con l'ajax che molto probabilmente non è abilitato nel modulo e quindi la sua implementazione non credo richieda solo qualche linea di codice.

 

Ti ringrazio comunque.

Share this post


Link to post
Share on other sites

mi aggrego su questo modulo. per la ver. 1.5.3.1

 

ottimo che funzioni.

 

peccato che non funzioni con lo express checkout.

 

ma mi viene una domanda banale, per express checkout intendete quello con un unica fase al posto delle 5 giusto ? domando questo per evitar di far confusione con "Guest Express Checkout" <- che e' la possibilita di dare ai clienti di poter acquistare senza che si registrino.

 

io come checkout uso quello standard 5 fasi, mi interessa pero il discorso che i guest possano fare checkout. <- c'entra niente vero? :rolleyes:

Edited by carmico

Share this post


Link to post
Share on other sites

Vorrei segnalare che con questo modulo si può anche, con una piccola modifica del codice, inserire una maggiorazione in percentuale.

 

Nel file modules/cashondeliveryplus/controllers/front/validation.php

sostituire la riga $total=$this->context->cart->getOrderTotal(true, Cart::BOTH);

con la riga $total=($this->context->cart->getOrderTotal(true, Cart::BOTH))*1.05;

 

Bisogna mettere tra parentesi ciò che viene dopo l'uguale e moltiplicare per il valore che vogliamo (l'ho evidenziato in grassetto).

(In questo caso, moltiplicando per 1.05 il prezzo viene maggiorato del 5%)

 

In pratica si prende il totale del carrello e lo si moltiplica per 1,05. Se volete un'altra percentuale, bisogna mettere un coefficiente diverso.

Share this post


Link to post
Share on other sites

Ho scaricato questo modulo, però come sapete i corriere applicano una commissione fissa (tipo € 5,00) fino a certi importi, per importi maggiori la commissione del contrassegno è calcolata in percentuale.

Come si può modificare questa cosa??

Share this post


Link to post
Share on other sites

Ciao a tutti, anch'io uso questo modulo e funziona benissimo. Ma vorrei apportare una piccola modifica che credo possa tornare utile anche ad altri...

Il mio sito ha spedizioni in tutta Europa con un unico CORRIERE e più ZONE, io vorrei associare il pagamento in contrassegno solamente alle ZONE Italia e Italia/Isole minori. Dalla configurazione del modulo possiamo selezionare i CORRIERI che godranno di contrassegno, mentre io vorrei poter associare le ZONE.

Purtroppo il php non è il mio forte <_< ma credo che il codice da modificare sia questo:

 

 

$this->_html .='<br /><label>'.$this->l('Allowed carriers').'</label><small> ( Leave empty for ALL carriers )</small><br /><br /><div class="margin-form">'.$this->fetchCarriers($this->allowed_carriers).'</div><br />

 

<p class="clear"> <div class="margin-form">'.$this->l('(Hold CTRL to select multiples)').' </div></p>

<div class="margin-form"> <input class="button" name="btnSubmit" value="'.$this->l('Save').'" type="submit" /> </div>

</fieldset>';

 

$this->_html .=' </form>';

}

 

private function _postProcess()

{

if (Tools::isSubmit('btnSubmit'))

{

 

Configuration::updateValue('COD_FEE', intval(Tools::getValue('COD_FEE')));

$this->fee =intval(Tools::getValue('COD_FEE'));

Configuration::updateValue('COD_FEEFREE', intval(Tools::getValue('COD_FEEFREE')));

$this->feefree =intval(Tools::getValue('COD_FEEFREE'));

 

$carrier= Tools::getValue('carrier');

if(!empty($carrier) && is_array($carrier)) {

$this->allowed_carriers =array_keys($carrier);

Configuration::updateValue('COD_CARRIERS', serialize($this->allowed_carriers ));

}

else

{

$this->allowed_carriers =array();

Configuration::updateValue('COD_CARRIERS', null );

}

 

$this->_html .= '<div class="conf confirm"><img src="../img/admin/ok.gif" alt="'.$this->l('OK').'" />'.$this->l('Saved').'</div>';

}

}

 

private function _displayCod()

{

 

}

 

protected function isAllowedCarrier($id_carrier) {

// no restriction if allowed_carriers is empty

if(!is_array($this->allowed_carriers) || !count($this->allowed_carriers))

return true;

 

if(in_array($id_carrier, $this->allowed_carriers))

return true;

 

return false;

}

 

protected function fetchCarriers($selected) {

$id_lang=Configuration::get(PS_LANG_DEFAULT);

$carriers=Carrier::getCarriers($id_lang, true);

$retval='';

foreach ($carriers as $carrier) {

$retval.= "<input type='checkbox' name='carrier[{$carrier['id_carrier']}]' value='{$carrier['id_carrier']}'";

if(is_array($selected) && in_array($carrier['id_carrier'], $selected))

$retval.=' checked="checked"';

 

$retval.="/>".$carrier['name'].'<br />';

}

return $retval;

}

 

protected function _renumberCarriers($params) {

if($params['carrier']->id && ($params['carrier']->id != $params['id_carrier']) && is_array($this->allowed_carriers) ){

$carriers=array();

foreach($this->allowed_carriers as $carrier) {

$carriers[]=($carrier==$params['id_carrier'])?$params['carrier']->id:$carrier;

 

}

$this->allowed_carriers=$carriers;

}

}

}

Share this post


Link to post
Share on other sites

Non esiste un modulo dove si può inserire fino a certi importi una maggiorazione fissa e poi per importi superiori una maggiorazione a percentuale?

I corriere infatti per importi sopra i 520 euro applicano una commissione in percentuale.

Aiuto..grazie!

Share this post


Link to post
Share on other sites

buongiorno a tutti,

 

io vorrei poter mettere sul mio sito queste opzioni:

 

- fino a 516,46 €. non si applica la maggiorazione in contrassegno

 

- da 516,46 €. fino a 999,00€. viene applicato il contrassegno supplementare di €. 8,00

 

come devo fare questo modulo non permette di farlo, avete altre soluzioni?

 

grazie.

Share this post


Link to post
Share on other sites

anche io vorrei farlo da 516 euro fino a 999 euro si paga 8 euro in piu.

 

se ordini fino a 515 euro di merce non paghi il supplemento.

 

se trovo un modulo ti faccio sapere! ciao

 

Non esiste un modulo dove si può inserire fino a certi importi una maggiorazione fissa e poi per importi superiori una maggiorazione a percentuale?

I corriere infatti per importi sopra i 520 euro applicano una commissione in percentuale.

Aiuto..grazie!

Edited by artur82

Share this post


Link to post
Share on other sites

Vorrei segnalare che con questo modulo si può anche, con una piccola modifica del codice, inserire una maggiorazione in percentuale.

 

Nel file modules/cashondeliveryplus/controllers/front/validation.php

sostituire la riga $total=$this->context->cart->getOrderTotal(true, Cart::BOTH);

con la riga $total=($this->context->cart->getOrderTotal(true, Cart::BOTH))*1.05;

 

Bisogna mettere tra parentesi ciò che viene dopo l'uguale e moltiplicare per il valore che vogliamo (l'ho evidenziato in grassetto).

(In questo caso, moltiplicando per 1.05 il prezzo viene maggiorato del 5%)

 

In pratica si prende il totale del carrello e lo si moltiplica per 1,05. Se volete un'altra percentuale, bisogna mettere un coefficiente diverso.

 

ciao e se volessi modificare per fare da 516,46 €. fino a 990,00 €. paghi 8 euro in piu? come si fa? thanks

Share this post


Link to post
Share on other sites

Vorrei segnalare che con questo modulo si può anche, con una piccola modifica del codice, inserire una maggiorazione in percentuale.

 

Nel file modules/cashondeliveryplus/controllers/front/validation.php

sostituire la riga $total=$this->context->cart->getOrderTotal(true, Cart::BOTH);

con la riga $total=($this->context->cart->getOrderTotal(true, Cart::BOTH))*1.05;

 

Bisogna mettere tra parentesi ciò che viene dopo l'uguale e moltiplicare per il valore che vogliamo (l'ho evidenziato in grassetto).

(In questo caso, moltiplicando per 1.05 il prezzo viene maggiorato del 5%)

 

In pratica si prende il totale del carrello e lo si moltiplica per 1,05. Se volete un'altra percentuale, bisogna mettere un coefficiente diverso.

 

Il suggerimento del costo in percentuale sarebbe comodissimo.

Lo cercavo da tempo. Ma ho fatto la modifica e purtroppo quando seleziono questo pagamento mi appare la pagian bianca,

Uso Ps 1.5.4 può dipendere da questo?

Grazie

Share this post


Link to post
Share on other sites

a me da questo errore su 1.4.9.0

 

"Nessun modello trovato per il modulo cashondeliveryplus"

 

qualcuno sà come risolvere? grazie.

Edited by tanprice

Share this post


Link to post
Share on other sites

Preso e funziona su prestashop 1.5.4 ... unica cosa non carica il logo ed escono scritte in inglese.

come faccio a modificarle?

Share this post


Link to post
Share on other sites

Preso e funziona su prestashop 1.5.4 ... unica cosa non carica il logo ed escono scritte in inglese.

come faccio a modificarle?

Scusa, preso dove?

Share this post


Link to post
Share on other sites

Ciao a tutti.

io ho risolto diversamente con un "accrocchio".

Ho direttamente modificato la classe PaymentModule.php (prestashop 1.4.10) dovrebbe essere più o meno la stessa cosa nella 1.5

 

 

il modulo cacheondelivery originale va a richiamare una funzione validateOrder() direttamente dal file validation.php

Questa funzione è inclusa nella classe PaymentModule.php

nella riga 126 ho apportato la seguente modifica

 

if ( $paymentMethod == 'nomedelmodulo') ****

{

$order->total_paid_real = $amountPaid+(valore contrassegno);*

$order->total_shipping = (float)($cart->getOrderShippingCost()+(valorecontrassegno));*

$order->total_paid = (float)(Tools::ps_round((float)($cart->getOrderTotal(true, Cart::BOTH)+(valorecontrassegno)), 2));*

}

else

{

$order->total_paid_real = $amountPaid;

$order->total_shipping = (float)($cart->getOrderShippingCost());

$order->total_paid = (float)(Tools::ps_round((float)($cart->getOrderTotal(true, Cart::BOTH)), 2));

}

 

dove "nomedelmodulo" è il nome assegnato al modulo nella traduzione, e "valorecontrassegno" è il valore numerico aggiuntivo al contrassegno.

 

ovviamente se volessimo aggiungere altri parametri dovrei effettuare operazioni differenti ma per quello che serve ame funziona benissimo, devo solo segnare le modifiche che effettuo per poi riportarle negli aggiornamenti successivi di prestashop.

 

Inutile dire che la cosa migliore è creare una nuova funzione validateOrderFEE() in cacheondelivery.php (contenuto all'interno del modulo ), copiando la validateOrder() dalla classe PaymentModule.php e modificandola per quello che serve, senza dover toccare la classe stessa.

io l'ho fatto anche così e funciona perfettamente almeno a livello di dati ...non capisco perchè non carica la pagina di avvenuta conferma ordine.. appena ho un po di tempo ci smaetto un po ....

fatemi sapere se qualcuno di voi ha risolto prima di me ..un saluto a tutti!!

Edited by alepul

Share this post


Link to post
Share on other sites

hey lucarobo and all.

 

in the "cashondeliveryplus.zip" version is there a way to apply a % instead of a fixed amt. of euros?

 

thanks!

jez...

Share this post


Link to post
Share on other sites

a me da questo errore su 1.4.9.0

 

"Nessun modello trovato per il modulo cashondeliveryplus"

 

qualcuno sà come risolvere? grazie.

anch'io ho lo stesso problema... :(

Non funziona su 1.4.9.0 ?

Share this post


Link to post
Share on other sites

Salve amici, per chi fosse interessato ho trovato un modulo gratuito per il pagamento in contrassegno che vi permette di aggiungere una maggiorazione di prezzo, compatibile per PS 1.5 provato e testato, non fa altro che modificare il modulo cashondelivery originale aggiungendo la possibilità di impostare una maggiorazione al prezzo finale.

 

Scusate sono nuovo e ancora poco pratico, ma come si installa???

Sono andato in moduli, Aggiungi nuovo modulo e selezionato il file zip, caricato e mi dà questo messaggio:

2 errori 

  1. Si è verificato un errore durante l'estrazione del modulo (il file può essere corrotto).
  2. Il modulo ".$folder.' che hai caricato non è un modulo

 

Quindi che devo fare? Grazie

Share this post


Link to post
Share on other sites

Scusate sono nuovo e ancora poco pratico, ma come si installa???

Sono andato in moduli, Aggiungi nuovo modulo e selezionato il file zip, caricato e mi dà questo messaggio:

2 errori 

  1. Si è verificato un errore durante l'estrazione del modulo (il file può essere corrotto).
  2. Il modulo ".$folder.' che hai caricato non è un modulo

 

Quindi che devo fare? Grazie

 

Ciao! sei riuscito ad installare il modulo??

Anche io ho lo stesso problema :-(

Share this post


Link to post
Share on other sites

Ciao! sei riuscito ad installare il modulo??

Anche io ho lo stesso problema :-(

 

 Alla fine si, ci sono riuscito ho dovuto cambiare i permessi della cartella modules tramite FTP in 777 poi dopo un paio di tentativi per modulo corrotto ho cancellato la cache ed ha funzionato.

Share this post


Link to post
Share on other sites

per aggiungere una percentuale io ho aggiunto nel file validation, dopo la riga:

 

if( $zdarma > 0 && $this->context->cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING) >$zdarma )
        $dobirecne=0;

 

questa riga:

if ( ($this->context->cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING))/100*1.5 > $dobirecne )
$dobirecne=($this->context->cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING))/100*1.5 ;
 

Si può modificare l'1,5 a piacere per ottenere la percentuale voluta.

 

Sembra funzionare. L' ho provato in locale su 1.5.6.0

 

Funziona in questo modo:

 

Impostate il minimo del contrassegno nel modulo. La riga controlla se la percentuale è superiore al minimo e se è vero, applica la percentuale.

Edited by simo1978

Share this post


Link to post
Share on other sites

Ciao a tutti,

scusate se mi inserisco in questa discussione :(

ho scaricato il file zip cashondelivery e caricato sul sito, mi dice "modulo scaricato con successo" ma nella lista non lo trovo per poterlo settare e tantomeno vene è traccia durante la transazione...... dove caspiterina è finito? o.O 

grazie per l'attenzione, spero qualcuno riesca a far luce ( io incompetente :P )

Share this post


Link to post
Share on other sites

ciao a tutti,

attualmente uso PS 1.4.5.1 ed avevo questo problema

"Nessun modello trovato per il modulo validation"

 

cercando sul web ho trovato la soluzione:

sostituire nel file validadion.php

 echo Module::display(__FILE__, 'validation.tpl');

 

con

 

 echo Module::display('/miosito.it/modules/nomemodulo', 'validation.tpl');

 

e cioé il percorso completo

 

ciao

Edited by mma87

Share this post


Link to post
Share on other sites

Salve ho istallato il modulo plus sulla versione 1.5.5.0 e funziona perfettamente, l'unico problema è che quando si inoltra l'ordine la spiegazione della maggiorazione del pagamento è in inglese This includes COD fee 5,00 € come posso cambiarla in italiano? non la trovo da nessuna parte

Share this post


Link to post
Share on other sites

Ciao,

di solito per le traduzioni basta andare su back office e scegliere il sottomenu traduzioni, in quella pagina si sceglie nel menu a tendina l'opzione dei moduli.

se sposta il template vuol dire che si deve o aggiustare il css o il tema, se metti il link esatto magari gli do un'occhiata

 

ciao

Share this post


Link to post
Share on other sites

Allora per cambiare la  traduzione This includes COD fee basta entrare nel  modules/cashondeliveryplus/views/templates/front/validation.tpl apri il file editor e nella riga 49 dovrebbe essere  sostituisci dove c'è scritto This includes COD fee con le parole in linguaggio italiano.

Share this post


Link to post
Share on other sites
Allora per cambiare la  traduzione This includes COD fee basta entrare nel  modules/cashondeliveryplus/views/templates/front/validation.tpl apri il file editor e nella riga 49 dovrebbe essere  sostituisci dove c'è scritto This includes COD fee con le parole in linguaggio italiano.

per correttezza....

questo è un workaround, funziona perchè il modulo non è di default ... altrimenti in caso di aggiornamenti perderesti le modifiche e dovresti riapplicarle ogni volta che fai un aggiornamento di versione.....a meno che tu crei una cartella nome-modulo con all'interno il file tpl modificato in themes/tuo_tema/modules .... B)

la soluzione ottimale resta quella proposta sopra da mma87 anche se spiegata un po approssimativamente:

di solito per le traduzioni basta andare su back office e scegliere il sottomenu traduzioni, in quella pagina si sceglie nel menu a tendina l'opzione dei moduli.

più precisamente

BO > Localizzazione > Traduzioni

Traduzioni moduli installati

Tuo tema

lingua

scorri fino a trovare il modulo e la stringa da tradurre  

Share this post


Link to post
Share on other sites

Modificare il file direttamente per me è il sistema più veloce e anche facile per chi come me mi da questo errore nella back office

Attenzione! La tua configurazione PHP limita il numero di campi dei post nel form: 1000 per max_input_vars.....

e quindi senza crearmi tanti problemi preferisco il mio sistema che funziona senza causare nessun problema in quanto si cambiano delle parole di testo che poi vengono inserite  nel pagamento contanti al corriere.

Share this post


Link to post
Share on other sites

scusate l'intromissione, ma il pagamento alla consegna e' possibile per i prodotti virtuali?

Intendo prenotazioni, in modo che passiamo noi nell'albergo dove alloggia il cliente a prendere i soldi dell'escursione acquistata...

Share this post


Link to post
Share on other sites

per aggiungere una percentuale io ho aggiunto nel file validation, dopo la riga:

 

if( $zdarma > 0 && $this->context->cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING) >$zdarma )

        $dobirecne=0;

 

questa riga:

if ( ($this->context->cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING))/100*1.5 > $dobirecne )

$dobirecne=($this->context->cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING))/100*1.5 ;

 

Si può modificare l'1,5 a piacere per ottenere la percentuale voluta.

 

Sembra funzionare. L' ho provato in locale su 1.5.6.0

 

Funziona in questo modo:

 

Impostate il minimo del contrassegno nel modulo. La riga controlla se la percentuale è superiore al minimo e se è vero, applica la percentuale.

 

Un saluto a tutti,

 

ho seguito questo metodo, ho impostato 2.5 come percentuale e messo 5.50 € nel modulo come contrassegno minimo.

Facendo un ordine di prova, viene eseguito con il calcolo corretto, ma nel backoffice mi dà "Errore di pagamento".

 

Attenzione 483,82 € pagato al posto di 477,89 €

In pratica, si aspetta sempre 5,50 € di maggiorazione.

Qualcuno sa aiutarmi?

Share this post


Link to post
Share on other sites

Ciao a tutti, so dell'esistenza del cashondeliveryplus totalmente gratuito, tuttavia mi crea dei problemi di formattazione con il mio attuale tema, che preferisco mantenere. Quindi vorrei agire direttamente sul modulo COD originale aggiungendo direttamente a quest'ultimo la sovrattassa fissa di 5€. Chi mi aiuta perfavore? 

Share this post


Link to post
Share on other sites

scusate qualcuno ha per caso risolto il problema dal BO anche a me da il problema ma io sto gestendo l'aumento a valore e mi genera l'errore:

 

Attenzione 43,80 € pagato al posto di 45,80 € (la mia maggiorazione e' di 2€ sempre)

 

l'erroe si presenta solo creando l'ordine in BO ma la cosa brutta e' la mail con l'errore che arriva al cliente

 

grazie

Edited by gokuale

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×