Joomla.it Forum

Componenti per Joomla! => Gestione e-commerce => : beatricek204 27 Jan 2012, 11:55:21

: problema lingua Paypal con sito multilingua
: beatricek204 27 Jan 2012, 11:55:21
Buongiorno,
ho un ecommerce multilingua e ho notato che quando si acquista su Paypal si viene reindirizzati al sito in italiano (oppure in francese settando l'indirizzo di spedizione in francia!). Sul sito di Paypal ho trovato che esiste una variabile lc per settare la lingua della pagina di login/pagamento su Paypal. C'è la possibilità di assegnare a questa variabile la lingua impostata sul sito?
L'ecommerce è configurato con Joomla 1.5.25, Virtuemart 1.1.8 e Joomfish 2.1.7
Grazie!

Beatrice
: Re:problema lingua Paypal con sito multilingua
: Murphz 09 Feb 2012, 16:32:52
Sul form di pagamento di paypal c'è un input hidden LC con valore la lingua, puoi ad esempio utilizzare una variabile php per prendere la lingua del sito e inserire il valore all'interno dell'input hidden.


:
<input type="hidden" name="lc" value="<?php echo $lingua_sito->getName() ?>">


In questo modo setti te dinamicamente la lingua che vuoi, per prendere la lingua usi JFactory:


:
$lingua_sito =& JFactory::getLanguage();
: Re:problema lingua Paypal con sito multilingua
: beatricek204 09 Feb 2012, 16:40:27
Ti ringrazio! Ma il form di Paypal dove inserire il codice dove lo trovo? Nel backend del sito nella parte di Virtuemart ho i tipi di pagamento, se vado nella configurazione di paypal ho "Informazioni Aggiuntive Pagamento" e sotto questo codice

<?php
$db1 = new ps_DB();
$q = "SELECT country_2_code FROM #__vm_country WHERE country_3_code='".$user->country."' ORDER BY country_2_code ASC";
$db1->query($q);

$url = "https://www.paypal.com/cgi-bin/webscr";
$tax_total = $db->f("order_tax") + $db->f("order_shipping_tax");
$discount_total = $db->f("coupon_discount") + $db->f("order_discount");
$post_variables = Array(
"cmd" => "_ext-enter",
"redirect_cmd" => "_xclick",
"upload" => "1",
"business" => PAYPAL_EMAIL,
"receiver_email" => PAYPAL_EMAIL,
"item_name" => $VM_LANG->_('PHPSHOP_ORDER_PRINT_PO_NUMBER').": ". $db->f("order_id"),
"order_id" => $db->f("order_id"),
"invoice" => $db->f("order_number"),
"amount" => round( $db->f("order_total")-$db->f("order_shipping"), 2),
"shipping" => sprintf("%.2f", $db->f("order_shipping")),
"currency_code" => $_SESSION['vendor_currency'],

"address_override" => "1",
"first_name" => $dbbt->f('first_name'),
"last_name" => $dbbt->f('last_name'),
"address1" => $dbbt->f('address_1'),
"address2" => $dbbt->f('address_2'),
"zip" => $dbbt->f('zip'),
"city" => $dbbt->f('city'),
"state" => $dbbt->f('state'),
"country" => $db1->f('country_2_code'),
"email" => $dbbt->f('user_email'),
"night_phone_b" => $dbbt->f('phone_1'),
"cpp_header_image" => $vendor_image_url,

"return" => SECUREURL ."index.php?option=com_virtuemart&page=checkout.result&order_id=".$db->f("order_id"),
"notify_url" => SECUREURL ."vmipn/paypal/notify.php/notify.php",
"cancel_return" => SECUREURL ."index.php",
"undefined_quantity" => "0",

"test_ipn" => PAYPAL_DEBUG,
"pal" => "NRUBJXESJTY24",
"no_shipping" => "1",
"no_note" => "1"
);
if( $page == "checkout.thankyou" ) {
$query_string = "?";
foreach( $post_variables as $name => $value ) {
$query_string .= $name. "=" . urlencode($value) ."&";
}
vmRedirect( $url . $query_string );
} else {
echo '<form action="'.$url.'" method="post" target="_blank">';
echo '<input type="image" name="submit" src="https://www.paypal.com/en_US/i/btn/x-click-but6.gif" alt="Click to pay with PayPal - it is fast, free and secure!" />';

foreach( $post_variables as $name => $value ) {
echo '<input type="hidden" name="'.$name.'" value="'.htmlspecialchars($value).'" />';
}
echo '</form>';

}
?>
: Re:problema lingua Paypal con sito multilingua
: Murphz 09 Feb 2012, 16:48:04
Devi inserirlo all'interno dell'array post_variables che contiene tutte le variabili per paypal.


Ad esempio puoi inserire sotto $db1->query($q) il codice $lingua_sito =& JFactory::getLanguage();

Successivamente sotto a "receiver_email" => PAYPAL_EMAIL, (ad esempio) inserisci "lc" => $lingua_sito->getName(),
: Re:problema lingua Paypal con sito multilingua
: beatricek204 09 Feb 2012, 16:56:50
Grazie mille, provo subito!
: Re:problema lingua Paypal con sito multilingua
: beatricek204 09 Feb 2012, 17:04:12
Ultima cosa che vorrei esser sicura.. dentro l'array va bene se metto "lc"=> &lingua_sito->getName() ?

: Re:problema lingua Paypal con sito multilingua
: Murphz 09 Feb 2012, 17:33:50
in che senso va bene?


dopo getName() ricorda che c'è una virgola.
: Re:problema lingua Paypal con sito multilingua
: beatricek204 10 Feb 2012, 10:00:37
Ho provato ma continua ad andare su Paypal in italiano anche se la lingua del sito è impostata su di un'altra lingua..  :(
: Re:problema lingua Paypal con sito multilingua
: Murphz 10 Feb 2012, 17:06:34
Riesci in qualche modo a controllare la variabile che passa a paypal? Magari ci sono errori lì. Oppure, sei sicuro di non aver definito una lingua definitiva su paypal? Non utilizzo paypal da un po' ma magari c'è un opzione sul pannello di controllo ora.
: Re:problema lingua Paypal con sito multilingua
: beatricek204 13 Feb 2012, 17:38:14
Su Paypal non ho trovato impostazioni che possono centrare... Non so proprio cosa può essere!
Ti ringrazio comunque per il tuo aiuto
: Re:problema lingua Paypal con sito multilingua
: Murphz 14 Feb 2012, 00:10:30
magari c'è un errore sulla variabile, sia di come manda i dati sia di vedere se cambia dinamicamente. Infatti da quel che vedo paypal accetta come valori di LC i valori della lingua non-standard, quindi IT, JP, DE. Quindi con quella variabile $lingua_sito passi valori non validi (dovrebbe dare it/it mi pare).


Prova a fare una prova, al posto di $lingua_sito->getName() metti "EN" e vediamo che succede.


Altra cosa, se hai un cookie di paypal con un conto ti viene salvata la lingua preferita quindi non penso che LC faccia l'ovverride della sessione....ovvero non vedresti nessuna modifica.