Inserire una funzione nel modulo pay pal

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

Orsi
membro Junior
membro Junior
Messaggi: 18
Iscritto il: 23/05/2006, 14:41

Inserire una funzione nel modulo pay pal

Messaggio da Orsi »

Salve a tutti

nel modulo che invia le informazioni a PayPal dovrei aggiungere una funzione per avere il formato corretto dei decimali ; ad esempio una funzione “numer_format” oppure “round”.

qualcuno sa dirmi come devo fare?

Grazie

Saluti
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da hsg26 »

sei nella sezione sbagliata. ti sposto.
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
Avatar utente
xnetus
membro Senior
membro Senior
Messaggi: 371
Iscritto il: 08/09/2008, 17:50
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da xnetus »

Precisamente di quali informazioni stai parlando?

Dei paramentri che passi o altro?
Assistenza osCommerce e Realizzazione Moduli!
Solo una piattaforma ben gestita può garantirti dei benefici notevoli. Contattaci e scopri quali sono le potenzialità del tuo business.
(email: info@xnetus.net)
Scopri il servizio...
Orsi
membro Junior
membro Junior
Messaggi: 18
Iscritto il: 23/05/2006, 14:41

Re: Inserire una funzione nel modulo pay pal

Messaggio da Orsi »

Praticamente per la tiologia di prodotti che vendo io ho bisogno di lasciare 3 decimali dopo la virgola nei prezzi esposti in vetrina

il problema nasce quando il cliente che paga con pay pal che invia il totale con 3 decimali dopo la virgola ed esce un messaggio di errore da parte di paypal che dice che il formato prezzo non è compatibile

mi hanno detto che si potrebbe creare una funzione nel modulo pay pal che quando vengono inviati i dati a paypal riduca i decimali a 2

mi hanno detto che si può fare in 2 modi: funzione “numer_format” oppure “round”.

sai dirmi come va scritta questa funzione?

Grazie.
Avatar utente
xnetus
membro Senior
membro Senior
Messaggi: 371
Iscritto il: 08/09/2008, 17:50
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da xnetus »

La funzione è questa:

Codice: Seleziona tutto

$var = round(1.95583, 2);
Restituisce 1.96
Assistenza osCommerce e Realizzazione Moduli!
Solo una piattaforma ben gestita può garantirti dei benefici notevoli. Contattaci e scopri quali sono le potenzialità del tuo business.
(email: info@xnetus.net)
Scopri il servizio...
Orsi
membro Junior
membro Junior
Messaggi: 18
Iscritto il: 23/05/2006, 14:41

Re: Inserire una funzione nel modulo pay pal

Messaggio da Orsi »

Grazie per la risposta

scusa la mia ignoranza in materia ma devo inserirla in un punto ben preciso del file paypal.php ?

se si sai dirmi anche dove?

Grazie ancora

Luca
Avatar utente
xnetus
membro Senior
membro Senior
Messaggi: 371
Iscritto il: 08/09/2008, 17:50
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da xnetus »

Ok, mi chiedevi la funzione....

Cmq, premesso che nn conosco il tuo file paypal.php, se è quello standard, devi modificare la funzione process_button
Assistenza osCommerce e Realizzazione Moduli!
Solo una piattaforma ben gestita può garantirti dei benefici notevoli. Contattaci e scopri quali sono le potenzialità del tuo business.
(email: info@xnetus.net)
Scopri il servizio...
Orsi
membro Junior
membro Junior
Messaggi: 18
Iscritto il: 23/05/2006, 14:41

Re: Inserire una funzione nel modulo pay pal

Messaggio da Orsi »

ecco cosa c'è nel file paypal.php a riguardo la sezione process_button

sai dirmi dove devo inserire la funzione?

Grazie.

-----------------------------------------------------------------------------------------------------------------------------------------

function process_button() {
global $order, $currencies, $currency;

if (MODULE_PAYMENT_PAYPAL_CURRENCY == 'Selected Currency') {
$my_currency = $currency;
} else {
$my_currency = substr(MODULE_PAYMENT_PAYPAL_CURRENCY, 5);
}
if (!in_array($my_currency, array('CAD', 'EUR', 'GBP', 'JPY', 'USD'))) {
$my_currency = 'USD';
}
$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .
tep_draw_hidden_field('item_name', STORE_NAME) .
tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
tep_draw_hidden_field('currency_code', $my_currency) .
tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

return $process_button_string;
}

function before_process() {
return false;
}

function after_process() {
return false;
}

function output_error() {
return false;
}

function check() {
if (!isset($this->_check)) {
$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYPAL_STATUS'");
$this->_check = tep_db_num_rows($check_query);
}
return $this->_check;
}
Avatar utente
xnetus
membro Senior
membro Senior
Messaggi: 371
Iscritto il: 08/09/2008, 17:50
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da xnetus »

Dove c'è la definizione di amount
Assistenza osCommerce e Realizzazione Moduli!
Solo una piattaforma ben gestita può garantirti dei benefici notevoli. Contattaci e scopri quali sono le potenzialità del tuo business.
(email: info@xnetus.net)
Scopri il servizio...
Orsi
membro Junior
membro Junior
Messaggi: 18
Iscritto il: 23/05/2006, 14:41

Re: Inserire una funzione nel modulo pay pal

Messaggio da Orsi »

Ciao ho risolto solo in parte

mi arrotonda i 2 decimali sempre a .00 per eccesso o per difetto

sai dirmi come posso risolvere?

Grazie
Avatar utente
xnetus
membro Senior
membro Senior
Messaggi: 371
Iscritto il: 08/09/2008, 17:50
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da xnetus »

Scusami non ho capito,
vuoi un numero a due cifre ma nn vuoi arrotondarlo?
Assistenza osCommerce e Realizzazione Moduli!
Solo una piattaforma ben gestita può garantirti dei benefici notevoli. Contattaci e scopri quali sono le potenzialità del tuo business.
(email: info@xnetus.net)
Scopri il servizio...
Orsi
membro Junior
membro Junior
Messaggi: 18
Iscritto il: 23/05/2006, 14:41

Re: Inserire una funzione nel modulo pay pal

Messaggio da Orsi »

Si esatto...

praticamente il terzo decimale del totale dell'ordine è quasi sempre 0 es 10.820 , 12.750 , 15.380, 16.500

la funzione mi dovrebbe solo togliere solo l'ultimo decimale che è quasi sempre 0

ora se io ho un totale di 7.500 mi riporta 8.00 e se ho un totale di 7.400 mi riporta 7.00

pensi che si possa risolvere?

Grazie per la risposta.
Avatar utente
xnetus
membro Senior
membro Senior
Messaggi: 371
Iscritto il: 08/09/2008, 17:50
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da xnetus »

Cosa hai utilizzato round o number_format?
Assistenza osCommerce e Realizzazione Moduli!
Solo una piattaforma ben gestita può garantirti dei benefici notevoli. Contattaci e scopri quali sono le potenzialità del tuo business.
(email: info@xnetus.net)
Scopri il servizio...
Orsi
membro Junior
membro Junior
Messaggi: 18
Iscritto il: 23/05/2006, 14:41

Re: Inserire una funzione nel modulo pay pal

Messaggio da Orsi »

Li ho provati tutti e 2 e mi danno lo stesso risultato
Avatar utente
xnetus
membro Senior
membro Senior
Messaggi: 371
Iscritto il: 08/09/2008, 17:50
Contatta:

Re: Inserire una funzione nel modulo pay pal

Messaggio da xnetus »

Prima di $process_button_string, inserisci:

Codice: Seleziona tutto

$amount_price = ($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency);
Sostituisci:

Codice: Seleziona tutto

tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
con:

Codice: Seleziona tutto

tep_draw_hidden_field('amount', substr($amount_price, strpos($amount_price, "."), 3) .
Assistenza osCommerce e Realizzazione Moduli!
Solo una piattaforma ben gestita può garantirti dei benefici notevoli. Contattaci e scopri quali sono le potenzialità del tuo business.
(email: info@xnetus.net)
Scopri il servizio...
Rispondi