News:

Support the VirtueMart project and become a member

Main Menu

PayPal status never updates from Pending

Started by sleepigrl, July 21, 2009, 20:01:50 PM

Previous topic - Next topic

sleepigrl

My apologies in advance for such a long post, but I cannot seem to get my order/payment status to update from Pending to Confirmed.  I'm currently using the PayPal Sandbox, with both a buyer and seller account set up there.

Using Joomla 1.5.12 & VirtueMart 1.1.3

Payments are all showing received (completed) in PayPal.

So far, I've done the following:

1)  Paypal payment email in Virtuemart is set to the Sandbox seller email.

2)  I'm using the buyer email set up in the Sandbox to pay.  I see that the payment is being processed.

3)  Just in case, I've added the IPN listener in my seller profile in the Sandbox as "https://www.mesofunny.com/joomla/administrator/components/com_virtuemart/notify.php

4)  I'm using the default "Payment Extra Info" for PayPal with one change (to use the sandbox):


<?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.sandbox.paypal.com/cgi-bin/webscr";
$tax_total $db->f("order_tax") + $db->f("order_shipping_tax");


5)  I am using the notify.php script from RC 1.1.4 as that seems to reference the sandbox correctly vs using the old call to eliteweaver.

6)  When I use the Sandbox IPN tester, I get the response verified. In both cases, I see a POST to notify.php in the server logs, with a response of "200"

"POST /joomla/administrator/components/com_virtuemart/notify.php HTTP/1.0" 200 - "-" "-"

7)  I'm getting confirmation emails to both accounts (inside the Sandbox) that the transaction is complete.

8)  I've tried changing the status for Pending payments to "Confirmed," but that causes me to get the error message stating that the order status cannot be updated.

9)  I've also tried changing the return URL from
"return" => SECUREURL ."index.php?option=com_virtuemart&page=checkout.result&order_id=".$db->f("order_id"),
to
"return" => SECUREURL ."index.php?option=com_virtuemart&page=checkout.thankyou&order_id=".$db->f("order_id"),

That change causes PayPal to say that payment has already been made for the order.  The status remains "Pending"

I'm kind of lost here.  I've read many threads, but it seems that most of the changes I've seen have already been incorporated in the version of VM that I'm using.  And yet, my order status still won't update.  I've really appreciate some ideas about what to try next!




MoneyMagnets

When I had this issue I had testing mode set to Yes when for sandbox testing it needs to set to No.

It's worth checking if you have test mode in the paypal payment method set to No.

Hope that helps,
Karen   

jedi_vader

I'm having the same problem - status does not change to Complete.

I'm using real PayPal accounts for this, transferring real money and the transfer completes succsessfully, I get the PayPal reciept emails and the money and all. Still at the end the status of the order does not change to "Confirmed".

Please, help!

sleepigrl

I only wish I could!  No success yet, and I did verify that I had testing mode set to No.  (I set it to Yes to do IPN testing, then back for full checkout testing.)

jedi_vader

Yes, I set it to "No" as well (naturally for real PayPal). I'm using the same as you - Joomla 1.5.12 & VirtueMart 1.1.3.

I noticed yet even another problem - when I try to create a status type for pending PayPal orders only, so it could say "Awaiting payment" (instead of the default "Pending" for non-paypal orders) when returning to the site after a transaction a red cross appears and a text saying there was a problem with the payment. Yet there was not, ofcourse, transaction was successful.

MoneyMagnets

One other thing that stumped me was that in the sandbox I had to go into the business test account and accept the transaction to get the confirmation to go to virtuemart.

Hope you solve it soon - I know how frustrating this can be!

Regards,
Karen   

sleepigrl

Quote from: MoneyMagnets on July 25, 2009, 01:28:10 AM
I had to go into the business test account and accept the transaction to get the confirmation to go to virtuemart. 

I don't see this option, and in fact all of my transactions are accepted automatically in PayPal.  Did you create your test accounts manually?

MoneyMagnets

I think that some test accounts I created manually while others were preconfigured.

When I go into my sandbox business and look at the transactions, I think the order is on review and then when I go into the details I have the option to accept it.
Maybe your ones are doing that automatically but I know that stopped mine from showing as confirmed.

Regards,
Karen

sleepigrl

Thanks for the idea.  My payments seem to be going through automatically.  When I look at the sandbox account, all of the orders show as "completed" and the only payments that are not yet accepted are some that don't relate to these purchases.


austen1977

when you log into developer.paypal.com, go to Test Accounts and make sure that you have the "Payment Review" column set to "Disabled". Took me hours to figure out why the payments kept coming back as Pending. This was the problem. You do not need to turn "Test Mode" in the virtuemart PayPal config to No for testing the sandbox.

sept171787

I am complete new to VM. SO I started off poking in the dark to figure out this issue. I did two things which have solved my issue.

First I was getting erros in the error logs about path could not be found. I hard codded my path in the notify.php file. I was still having issue but the first error went away.
I then performed a TCPDUMP durn a transaction and saw I was getting a response back. So I....

....added this line into my .htaccess file and it started working.
RewriteRule ^(checkout.result.php) - [L]

Just thought I would help.