News:

You may pay someone to create your store, or you visit our seminar and become a professional yourself with the silver certification

Main Menu

Paypal not changing status to confirmed

Started by DarkeEdge, November 25, 2008, 03:15:03 AM

Previous topic - Next topic

blindMoe

I am having the same problem.. what is weird is that everything was working OK and then one day it just stopped.  Nothing changed in the code but the confirmations stopped automatically processing. Maybe this thread should now be directed to "Can someone give the name of a Paypal Module that Works" :)

blindMoe

I think that the order status was not changing due to having a .htaccess rule that protected the /administrator/ folder.  Because the notify.php script is inside the folder I believe the access rule was stopping paypal from contacting the script.  I removed the rule and it seems to work properly now.

devilman

I'm still having this problem - not a single order has been changed to 'confirmed' as yet.  Could it be something related to sh404sef at all?  That's the only thing on my site that would differ from a normal installation of VM as far as I can tell.

Lee Wilson

I'm using the paypal and paypal pro payment modules on my site with sh404sef and all is ok.

May need to get a coder for a paid job me thinks !

belindab

I'm having this problem too. The PayPal status comes back as 'Pending', even though the Payment is made instantly in PayPal, it never gets set to Confirmed. I think it's very confusing. I'm running 1.5.8 with VM 1.1.2 and SEF is off.
If anyone has the solution to this, please share.

devilman

Sorted it on my site now.  The bit in the Paypal setup about trying to access the notify.php script helped me track the problem down - when I access that page in a browser, I'd get a 500 Internal Server error.  When I looked into the Cpanel error logs, it was telling me that the Administrator folder had Group Write permissions, so I switched it from 777 to 755 and that seems to have worked.  I even had the confirmations come through that had been outstanding over the past week.

belindab

Hmm, nice thought there, but I get no errors when i try to access notify.php and I do get all the messages I'm expecting.
I'm wondering whether it is because we are using a French PayPal account, rather than a UK or US one - perhaps it has a slightly different protocol?

frank walls

We've been having the same problem in our store, and it just started up out of the blue. I already posted this in a couple of wrong places on here, but here's what I've got. I'm not the tech guy, but he's not sure what the problem is either. So if there's any solution I can pass it on to him.

Previously when a transaction completed it would say this under the payment log:

Payment information captured for later processing.

Then just about a week or 2 ago it started saying this:

./.

As far as I know nothing was changed anywhere in the settings. Also, products that cost $0.00 still finish the transaction correctly.

Here's the code from the payment method form configuration:

<?php
$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" => "_xclick",
"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_subtotal")+$tax_total-$discount_total, 2),
"shipping" => sprintf("%.2f", $db->f("order_shipping")),
"currency_code" => $_SESSION['vendor_currency'],"first_name" => $dbbt->f('first_name'),
"last_name" => $dbbt->f('last_name'),
"address_street" => $dbbt->f('address_1'),
"address_zip" => $dbbt->f('zip'),
"address_city" => $dbbt->f('city'),
"address_state" => $dbbt->f('state'),
"address_country" => $dbbt->f('country'),
"image_url" => $vendor_image_url,
"return" => SECUREURL ."index.php?option=com_virtuemart&page=checkout.result&order_id=".$db->f("order_id"),
"notify_url" => SECUREURL ."administrator/components/com_virtuemart/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) ."&";
}
mosRedirect( $url . $query_string );
} else {

echo '<form action="'.$url.'" method="post" target="_blank">';
echo '<input type="image" name="submit" src="http://images.paypal.com/images/x-click-but6.gif" border="0" alt="Make payments with PayPal, it is fast, free, and secure!" />';

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

echo '</form>';

}
?>


Any help would be greatly appreciated. I now have to check our store every hour or two and manually confirm all sales.

cchhita

Hi There,
Same problem here! I have read the post from Soeren but that did not help.  I have also tried several other things such as creating a notify.php in the root of my site with a php includes pointing to the main notify.php script, but that does nothing either. 

My client gets lots of orders, and the orders are in the $1000's of dollars, so would like to get this correct for him. 
Am willing to get a paid solution to this, as many people are asking the same question.

I have also setup a test site with the latest version of virtuemart, but still get the same problem of status never changing from Pending. 

The email error I get is:
Subject: PayPal IPN Fatal Error on your Site

Hello,
        A fatal error occured while processing a paypal transaction.
        ----------------------------------
        Hostname: www.paypal.com
        URI: /cgi-bin/webscr
        Connection timed out (110)
        Status: FAILED

Any help on this would be appreciated.

Thanks

Lee Wilson

If I were you I would post this in the paid work forum as it is likley to not get acted upon in this thread.



cchhita

Thanks for that.  I have posted on a few other sites to see if I can get a paid solution.  It seems from reading other threads that people have either given up on finding the solution.
I have tried all the possible fixes, but one has yet to work!

belindab

Hi cchhita,
If you do find a solution, I hope that you will come back here to let us know; this is really frustrating, but I don't have the resources to do anything to solve it right now.
Good luck!

gboy

Quote from: blindMoe on February 07, 2009, 02:07:47 AM
I think that the order status was not changing due to having a .htaccess rule that protected the /administrator/ folder.  Because the notify.php script is inside the folder I believe the access rule was stopping paypal from contacting the script.  I removed the rule and it seems to work properly now.

I agree, I have been testing a new site I'm building today and I was receiving confirmed emails up until I added htaccess to administrator folder to lock down the backend. I then tested again and no confirmation, removed the htaccess from administrator folder and re-tested and confirmed emails now coming through.

Is there anyway you can have htaccess for admin folder but allow notify.php to stay unlocked?


Maxmmize

For the IPN and IDN notify issue:

The solution is here

http://myjoomlaextensions.com

They have the solution for PayPal Pro US, PayPal Pro UK, PayPal Pro Ca, Canada

You should pay special attention to modifying the database as described in their documentation. If you find it useful and it works, let everyone know. As far as I know, on thousands of Joomla servers this solution works and has never failed.