VirtueMart Forum

VirtueMart 2 + 3 + 4 => Plugins: Payment, Shipment and others => Topic started by: Peter Pillen on October 31, 2014, 13:22:00 PM

Title: Customer does not get forwarded to Paypal after confirm
Post by: Peter Pillen on October 31, 2014, 13:22:00 PM
* VM 2.6.12 (updated 3 days ago from 2.6.10)
* Live site and Paypal is currently deactivated ... several customers trying to order atm

After pressing confirm with Paypal selected as payment, the cart is not emptied, but thank you message is showing as if payment is succesfull. The customer is not forwarded to Paypal.

Already re-installed 2.6.12 two times, updated aio and updated the vm tables... the problem persists. With debug activated all looks normal in the paypal logs, but on the thank you page, I can see two debug warnings, but when checking the database tables the order id is present in that table.

vmdebug Attention, #__virtuemart_shipment_plg_weight_countries has not any entry for order_id = xxxx
vmdebug Attention, #__virtuemart_payment_plg_paypal has not any entry for order_id = xxxx

Al other payments work perfectly without any problems, just Paypal is "kaput". I have no clue where to look
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: kalestud on October 31, 2014, 20:33:30 PM
Have the same issue myself.
Last week it all worked.

Updated VM this week to the latest version, that went all wrong (menues went missing in the backend), reinstalled VM over the old and did the AIO.
Now people who want to pay by paypal are not forwarded anymore. Settings have not been changed, although I did notice that Joomla/VM could not write to a safepath. Fixed that. all on 777 with right ownership.

Other payment (iDeal) does work correctly though!
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: Peter Pillen on October 31, 2014, 23:07:20 PM
Dito with the safe path... but in your case...change it to 755. 777 is a disaster waiting to happen if I'm not mistaken.

Does anyone have a clue for this PayPal problem?
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: Peter Pillen on November 01, 2014, 08:39:45 AM
John ... that is truly no solution to this problem.

I have tested this with the standard template and it doesn't work neither.
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: Peter Pillen on November 01, 2014, 11:44:29 AM
I read your post as "don't try to fix it... it will resolve itself depending on the device your using". Maybe someone of the mods can move this to the bug section?

I now disabled Paypal as an automated payment and I send customer a payment invitation from the paypal platform. I'm not to keen to take risks with downgrading because this is a live site.
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 03, 2014, 17:01:00 PM
Actually I've the same problem (it ouccurs after the last upgrade to version 2.6.12).
Customer is not redirected to Paypal site and no button is now present (I mean the button that says "please wait while redirecting... etc. or push this button).
This button is displayed if I use the plugin in debug mode.
Any suggestions? Should I downgrade the site o the last working version?

Thanks!

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: Peter Pillen on November 03, 2014, 17:08:00 PM
Alatak will contact me tomorrow to find a solution. I will post as soon as I know. I think this is a bug related to the upgrade to 2.6.12.

Just one question ... did you also have the warning come up that the safe path for the vm files was not correct? I hadn't seen that warning since more than one year and after the update I had to set the permissions and root directory right again for the vm files folders. Then re-installing VM created a folder called "keys" in the vmfiles folder.

Maybe the paypal payments are also logged in a folder that isn't accessible anymore which disturbs the payment process?
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 03, 2014, 20:25:42 PM
No Peter, I've set the safe path just once, when installed virtuemart on the server. And I don't have any folder called "keys" in my files.
I've compared the previous and the present folders/files (plugins/vmpayment/paypal/) and noticed some notable difference between files. I think it's normal to have differences since a programmer tries to improve a system... Nevertheless I've overwritten the old paypal plugin to that recently updated (and it works good)...at least as far as a solution won't be find...

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 03, 2014, 21:19:55 PM
I've found that different behaviour (at leas for us) is caused from this file: /plugins/vmpayment/paypal/paypal/helpers/paypalstd.php on the lines 177-191.
There aren't errors in php syntaxis but a slight variant:

OLD:
vmText::_('VMPAYMENT_PAYPAL_REDIRECT_MESSAGE') . '" />

NEW:
vmText::_('VMPAYMENT_PAYPAL_REDIRECT_MESSAGE', true).'" );

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: Peter Pillen on November 03, 2014, 21:51:13 PM
tested that by leavin out the "true", but it doesn't change anything for me.
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 04, 2014, 01:05:29 AM
To change just that line doesn't work, of course. I had just highlithed a changelog. If you overwrite the new with your old paypalstd.php file, probably it works.
In any case this is only a short-term solution, since the problem must be resolved.

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 04, 2014, 02:05:26 AM
Hello
QuotevmText::_('VMPAYMENT_PAYPAL_REDIRECT_MESSAGE', true).'" );

the 'true' is there to make it js safe, in case there is some '(quotes) in the string VMPAYMENT_PAYPAL_REDIRECT_MESSAGE

Can i have a URL of a (test) website where you have that problem? I will check.
In all cases, i have Peter Pillen on Skype, and i will check tuesday what is the problem.
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 04, 2014, 14:40:37 PM
Dear alatak,

I've recreated this typical situation for you.
1) Go here: http://www.orthotes.com/store/
2) Add a book to the chart;
3) Go to the chart and login with these credentials: test (user) and test (pwd);
4) Complete the purchase (go on "Avanti");
5) Select the shipping method (Standard);
6) Select the payment method (Paypal);
7) Confrim the order.

As you can see you go on the ending page ("Grazie per la preferenza..." - "Thank you for having...") where usually is performed an automatic redirection towards paypal. But now (after updating) nothing happens.

Please, let me know if you need more and if you track down the issue.

Thanks a lot!


Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 04, 2014, 16:01:47 PM
Hello

Peter Pillen problem is solved :)
In his case it was because the template compresses the js file.
And the old version of the js file was then used, instead of the new one.
We added a version number to load the query files now, to force the browser to load the latest version:
https://www.site.com/components/com_virtuemart/assets/js/vmsite.js?vmver=Revision:%208535

but in this case the template is loading the old compressed version
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 04, 2014, 16:10:13 PM
Have you found a solution for me too?
I see you had a look to my site. Should I simply overwrite the present file with the previous working file?

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: Peter Pillen on November 04, 2014, 16:13:55 PM
check the folder components/com_virtuemart/assets/js  and look if the date of the vmsite.js corresponds to your date of upgrading. Look if you have a compressed vmsite.js.gz from an old date and remove it. DO NOT REMOVE vmsite.js itself. Then also refresh your browsercache to be sure.

From alatak

actually the other (from Orthotes) problem is the following: if you have already customers that browsed your page, they still get the old version

to force the browser to load the new version, you have to change here
administrator/components/com_virtuemart/version.php
static $REVISION = 'Revision: 8515';
put
static $REVISION = 'Revision: 8516';
that should solve the issue
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 04, 2014, 17:02:38 PM
hello

Sorry Peter :) there was a misunderstanding.

Quoteto force the browser to load the new version, you have to change here
administrator/components/com_virtuemart/version.php
static $REVISION = 'Revision: 8515';
put
static $REVISION = 'Revision: 8516';
that should solve the issue
This is for you.

I am looking now at orthotes website
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 04, 2014, 20:34:31 PM
Hello

orthotes: Please try this
replace

jQuery(document).ready(function() {
    jQuery(window).load(function(){
if(jQuery("#vmPaymentForm")) {
jQuery("#vmPaymentForm").vm2front("startVmLoading","Si prega di attendere mentre si viene reindirizzati a PayPal" );
jQuery("#vmPaymentForm").submit();
}
});
});

by

jQuery(window).load(function(){
            if(jQuery('#vmPaymentForm')) {
                jQuery('#vmPaymentForm').submit();
            }
        });
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 04, 2014, 22:27:15 PM
Where should these lines be located?

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: GJC Web Design on November 04, 2014, 22:46:48 PM
plugins\vmpayment\paypal\paypal\helpers\paypalstd.php  around line 179
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 04, 2014, 22:47:46 PM
Ok the code is here: plugins\vmpayment\paypal\paypal\helpers\paypalstd.php

I've tried your solution and now the paypal page is loaded (and the button "Please wait..." disappeared). So, it seems to work and thank you for your help and patience.
However I test the site in the next days and report you if something goes wrong.

I've read this post too, where the same problem is discussed: http://forum.virtuemart.net/index.php?topic=126418.0 . According to GJC this is not a bug but I think this is exactly what a bug is meant to do.

All my best!
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 04, 2014, 23:57:01 PM
Hello

Quote(and the button "Please wait..." disappeared).
yes i forgot to ask you to add the submit button also.

Please replace
if ($this->_method->debug ) {

$html .= '<div style="background-color:red;color:white;padding:10px;">
<input type="submit"  value="The method is in debug mode. Click here to be redirected to PayPal" />
</div>';
$this->debugLog($post_variables, 'PayPal request:', 'debug');

}


with
if ($this->_method->debug ) {

$html .= '<div style="background-color:red;color:white;padding:10px;">
<input type="submit"  value="The method is in debug mode. Click here to be redirected to PayPal" />
</div>';
$this->debugLog($post_variables, 'PayPal request:', 'debug');

} else {
            $html .= '<input type="submit"  value="' . vmText::_('VMPAYMENT_PAYPAL_REDIRECT_MESSAGE') . '" />';

        }

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 05, 2014, 13:58:59 PM
Dear alatak,

it works (but also the file taken from the old release worked).
I hope in future releases the job you've made here could be taken into consideration.
(However I've noticed the not-working plugin [at least for me] comes with the upgrading of aio component, that also uploads a quantity of plugins devoted to different payment methods).

Thanks for your help!
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 06, 2014, 21:49:18 PM
Hello

Please try the file i have provided here http://forum.virtuemart.net/index.php?topic=126418.msg433853#msg433853

I have tried the fix on orthotes website: http://www.orthotes.com/store/
but it will be great to test with the php version of the file.
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 06, 2014, 23:21:37 PM
Dear alatak,

I've tried the fix prepared by you. Actually now it works only when the button ("Wait while redirecting... etc.") is pushed but, if not, there isn't any automatic forwarding to paypal page.
Please, let me ask a question: is this an issue that only afflicts my site? And if yes, why? Are not the files the same for everyone who upgrades VM?

Thanks!
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 13, 2014, 14:30:16 PM
Hello

Quotethere isn't any automatic forwarding to paypal page.
are you using the file i provided here http://www.orthotes.com/store/ ?
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 13, 2014, 14:40:23 PM
Yes, I've used them. But since the issue wasn't resolved I've restored those of the old VM version, which correctly work.

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 13, 2014, 14:54:26 PM
Hello
I solved the issue using your website. I am surprise it does not work.
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 13, 2014, 15:28:35 PM
Dear alatak,

I'm going to write you a private pm with access credentials.

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: alatak on November 18, 2014, 13:40:32 PM
Hello
Thank you very much. I used your test site to fix the problem.
Attached is the file that we are going to release. If someone could test it, that will be great.
Thank you

[attachment cleanup by admin]
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: NaZz on November 20, 2014, 23:41:53 PM
Quote from: alatak on November 18, 2014, 13:40:32 PM
Hello
Thank you very much. I used your test site to fix the problem.
Attached is the file that we are going to release. If someone could test it, that will be great.
Thank you

I tried overwriting with this last file you posted and checkout is still not redirecting to paypal.
(The problem is still here)
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: dorkus on November 21, 2014, 14:23:11 PM
we have the same problem with joomla 2.5.27 and vm 2.6.12 ;(

please help!

Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: orthotes on November 24, 2014, 06:31:53 AM
Alatak,

your fix works for me (as tested by youself) with this slight difference:
with the old file the page was normally redirected to paypal (with a lag of 2 or 3 seconds) and, if not, there was a button to force the process, while now there is any possibility to push the button (and there is no lag).
Actually for me this is not a big dirrerence, and the main thing is that the customer could reach the paypal page. Even though I have to admit that the previous behaviour seemd more effective.
Please, let me know if you don't need my test site any longer, so I can delete it.

Thank you!
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: shockoe on July 10, 2015, 19:14:49 PM
Thanks for the updated file paypalstd.php and fix... [SOLVED]
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: fritschle on December 31, 2016, 07:54:27 AM
I'm having this same issue.  When ordering it goes from the cart to a confirmation page but does not redirect to paypal.  I've looked to see if the js is compressed but I can't see that it is.   I thought about updating the paypalstd.php file that you posted but I'm running Joomla 3.6.5 and VM 3.0.18. 

One note...   When I'm signed into my account on the website it redirect me to paypal.  If I try to check out as a guest it doesn't.

My site is grandpastractor.com
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: jjk on January 01, 2017, 21:27:15 PM
Maybe you have a firewall issue? In your cart view there is a '403 - forbidden' error for .../images/stories/virtuemart/payment/index.html.
Title: Re: Customer does not get forwarded to Paypal after confirm
Post by: Jumbo! on January 02, 2017, 11:59:49 AM
Disable the 3rd party one page checkout extension and try using standard VirtueMart checkout system.