I just reinstalled my joomla+vm and after paypal payment the order remain pending even if the payment is made and i receive this email error :
"PayPal IPN Transaction on your site: Order ID not found
The right order_id wasn't found during a PayPal transaction on your website.
The Order ID received was: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx ".
Also after the payment is complete when i hit "return to merchant website" brings me back and show me a "PAY NOW" button and this error :
"Notice: Trying to get property of non-object in /home/tshirtco/public_html/components/com_virtuemart/themes/default/templates/pages/account.order_details.tpl.php(55) : eval()'d code on line 3"
When i push "Pay Now" button he takes me to a PayPal page with the message "Payment already made for this invoice".
Thank you in advance for all your help.....
I found the solution for this error:
"Notice: Trying to get property of non-object in /home/tshirtco/public_html/components/com_virtuemart/themes/default/templates/pages/account.order_details.tpl.php(55) : eval()'d code on line 3"
The problem is that $user is an object within an array, so just go to the PayPal payment method, click on Configuration and change line 3 in 'Payment Extra Info' to:
$q = "SELECT country_2_code FROM #__vm_country WHERE country_3_code='".$user[0]->country."' ORDER BY country_2_code ASC";
I can't say for certain that $user is always an object within an array, but if that's not the case, administrator/components/com_virtuemart/html/account.order_details.php should be changed to check for this condition and have the object be $user, without the envelopping array...
Can't say anything about your actual issue though. This seems unrelated..
When placing a new PayPal order and using the above modification, I got:
Fatal error: Cannot use object of type stdClass as array in /var/www/ardordevel/components/com_virtuemart/themes/default/templates/pages/checkout.thankyou.tpl.php(61) : eval()'d code on line 3
So this issue is easily fixed by modifying administrator/components/com_virtuemart/html/account.order_details.php (around line 66):
$user = $dbbt->record;
if(is_array($user)) { $user = $user[0]; }
/** Retrieve Payment Info **/
And don't change the query according to my above post, as it uses the array...
Soeren, can you add this little fix into the next version? I hate maintaining hacks ;)
I just downloaded virtuemart 24/9/2009 and afterwards had the same problem. Thanks for the fix.