Carrello Virtuemart – Non funziona il redirect automatico a PayPal
Abbiamo riscontrato un problema di pagamento PayPal su un sito realizzato in Joomla 3.9.11 + VirtueMart 3.6.1: non funzionava il redirect automatico al login di PayPal.
Per procedere con il pagamento dell’ordine era necessario cliccare sul bottone che riporta solitamente il messaggio “Please wait while redirecting to paypal”, presente nella pagina di ringraziamento.
In questa stessa pagina veniva mostrata una riga di codice, che faceva pensare a un probabile problema di sintassi:
"); jQuery("#vmPaymentForm").submit(); }) //]]>
Il file incriminato si trova in plugins/vmpayment/paypal/paypal/helpers/paypalstd.php intorno alla riga 177
Per risolvere il problema abbiamo rimosso il pezzo di codice che dovrebbe mostrare una div con il messaggio di attesa.
La div avrebbe dovuto generarsi via Javascritp, ma pare ci sia una scorretta interpretazione degli apici che genera un errore sintattico.
Codice originale
vmJsApi::addJScript('vm.paymentFormAutoSubmit', ' jQuery(document).ready(function($){ jQuery("body").addClass("vmLoading"); var msg="'.$msg.'"; jQuery("body").append("
"); jQuery("#vmPaymentForm").submit(); }) ');
Codice modificato
vmJsApi::addJScript('vm.paymentFormAutoSubmit', ' jQuery(document).ready(function($){ jQuery("body").addClass("vmLoading"); var msg="'.$msg.'"; jQuery("#vmPaymentForm").submit(); }) ');