I'm running

Drupal 6.17
UC 6.x-2.4

On the final PayPal page when I let the page redirect automatically or click the "If you are not redirects in 10 seconds click here" I end up with a blank page still at the PayPal site. I've included the screen shots.

Every thing works good still and the payment is processed and the cart is processed. There are no other errors.

Comments

longwave’s picture

Status: Active » Postponed (maintainer needs more info)

Have not seen this before, and not sure how to reproduce it, or even how Ubercart has any control over this - PayPal should redirect to the URL specified in the 'return' parameter, but it doesn't appear to be doing this if the URL isn't changing.

If you view source or use Firebug on the "review order" page (before you are redirected to PayPal) and look for a <input type="hidden" name="return">, what is "value" set to?

drupjab’s picture

same thing happens to me. Subscribing.

drupjab’s picture

In my source, the field is as follows:

<input type="hidden" name="return" id="edit-return" value="http://[mysite]/uc_paypal/wps/complete/[orderid]"  />

Is that correct?

In Paypal, I have my return URL set as per the Ubercart documentation to:

http://[mysite]/content/cart/checkout/complete
calebm12’s picture

subscribing. Have the exact same issue.

longwave’s picture

http://[mysite]/uc_paypal/wps/complete/[orderid] is correct. But if the browser is never getting redirected to this URL, surely this is a problem on PayPal's side. Can you check your webserver logs to see if this page is ever hit? Are there any errors recorded in your watchdog logs?

drupjab’s picture

This actually works for me if the person logs into their PayPal account during checkout for both Express and WPS, but WSOD of they are not logged in. So it does sound like a PayPal problem. Sigh.

calebm12’s picture

I had no problem though being redirected properly when i was using paypal sandbox (even if i placed a credit card order and not a paypal account order). When i switched to live site that is when the redirection stopped working.

I found a few postings related to this issue. But have not attempted to dig into uc_paypal code as i am worried i would mess something up further. The last 2 postings point to it being a paypal problem.

https://www.paypal-community.com/t5/Merchant-services/PayPal-doesn-t-red...

https://www.x.com/message/198101;jsessionid=B86286934256B4B898E771432512...

https://www.x.com/message/197761#197761

longwave’s picture

Title: PayPal WPS return to merchant ends in blank page. » PayPal WPS return to merchant ends in blank page (awaiting fix from PayPal)
Status: Postponed (maintainer needs more info) » Postponed

Thanks for finding those - the last link in particular confirms this is a known issue with PayPal, only affecting live transactions where the customer does not have a PayPal account. So much for the sandbox and live environments being the same!

This should be marked "won't fix", but let's leave this open until PayPal resolve it, otherwise there will likely be duplicates opened. The payment should still be processed via IPN, so this isn't a huge problem - just the customer never gets returned to the site as expected.

end user’s picture

I will test this again but I'm pretty sure except for the customer not being returned to my site the payment and emails are sent out. I know someone said its not doing this but for me it was. I'll have to set up a second install of my site to test this out, don't wanna be reverting back and forth as there are too many steps.

calebm12’s picture

For my site the IPN is still being received and the order emails are being sent out. I have also confirmed that the user account gets created in drupal (allowing anonymous purchases). But if the user returns back to your site (by typing in the address).....the shopping cart is full of the items they just purchased.

In addition, when you show a buyer a "white screen of death" it doesnt do much to further their confidence.

I would appreciate you leaving this issue open until paypal resolves it. Is there anything we can do to push their buttons. I am 2 for 2 on bad experiences with them.....

Anonymous’s picture

subscribing.

just spent about a day or two making 1 dollar transactions with the live server to troubleshoot this paypal WSOD garbage. sandbox was fine- live server crapped out.

hopefully they fix it soon. site is ready to launch!

longwave’s picture

Status: Postponed » Fixed

Supposedly this is now fixed at PayPal's end.

https://www.x.com/message/201058#201058

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

stg11’s picture

Status: Closed (fixed) » Active

I'm still getting blank screens returning from PayPal for WPS

longwave’s picture

Status: Active » Postponed (maintainer needs more info)

@stg11: Does the URL of the blank page begin with www.paypal.com, similar to http://drupal.org/files/issues/uc-paypal-06.png ?

If so, this is the same PayPal issue, and you should contact PayPal. If not, something else is wrong with your installation, and you should follow instructions at http://drupal.org/node/158043 to debug it further.

stg11’s picture

no, it is mysite.com/cart/checkout/complete

here is my settings from reports/status in case that helps. I had Website Payments Pro turned on but turned it off in Ubercart. Same result either way, and also same result with Website Payments Pro/express pay. When I turned of WPP I now get a status bar underneath the Paypal payment option that looks active and doesn't stop that wasn't there before. But as I said, in either case I get the blank screen. There are no errors showing in Drupal log or site host log.

Access to update.php Protected
CAPTCHA Already 1538 blocked form submissions
CKEditor 3.1
CTools CSS Cache Exists
Configuration file Protected
Cron maintenance tasks Last run 38 min 42 sec ago
You can run cron manually.
Database updates Up to date
Drupal core update status Up to date
File system Writable (public download method)
GD library bundled (2.0.34 compatible)
Module and theme update status Up to date
MySQL database 5.0.92
PHP 5.2.17
PHP memory limit 160M
PHP register globals Disabled
Page title version Enabled (page_title table contains 0 rows)
Panels operating normally
Panels is operating normally - no out-of-date plugins or modules are forcing it into legacy mode
Unicode library PHP Mbstring Extension
Update notifications Enabled
Upload progress Not enabled
Your server is not capable of displaying file upload progress. File upload progress requires PHP be run with mod_php and not as FastCGI.
Web server Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 mod_fcgid/2.3.6
XML sitemap Last attempted generation on 07/25/2011 - 10:03 (23 hours 38 min ago).
XML sitemap cache directory Writable
Zlib library Enabled
jQuery UI 1.7.3
jQuery Update 1.3.2

stg11’s picture

StatusFileSize
new756 bytes
new9.03 KB
new9.81 KB

Here is an update to my problem: the completion page appears when running the Bluemarine theme, but fails with my Artisteer 2.3 theme. This is a pretty good sign that it's something in the theme. However, I've reviewed the template.php and other related .php theme files for non-compliant code and have found nothing. However, I am not a php expert, though I dabble. Attached are the php files from my theme, renamed with .txt suffix.

I would be grateful for any clues anyone could give on this. I really DON'T want to start over with another theme.

stg11’s picture

Important addendum to #17:

the Dtools/WSOD module gave me these errors (among others which look irrelevant)

Included render file: uc_paypal.pages.inc
Checking uc_paypal_ipn() page callback...
ERROR: Callback: uc_paypal_ipn() returned empty content!
NOTICE: router_item = Array ( [path] => uc_paypal/ipn [load_functions] => [to_arg_functions] => [access_callback] => uc_paypal_ipn_access [access_arguments] => a:0:{} [page_callback] => uc_paypal_ipn [page_arguments] => Array ( [0] => 141 ) [fit] => 3 [number_parts] => 2 [tab_parent] => [tab_root] => uc_paypal/ipn [title] => PayPal IPN [title_callback] => t [title_arguments] => [type] => 4 [block_callback] => [description] => [position] => [weight] => 0 [file] => sites/all/modules/ubercart/payment/uc_paypal/uc_paypal.pages.inc [href] => uc_paypal/ipn [options] => Array ( ) [access] => 1 [localized_options] => Array ( ) [map] => Array ( [0] => uc_paypal [1] => ipn [2] => 141 ) ) !

The order is properly completed in Ubercart -- the order is shown in the store admin and the download is available to the customer, so I don't really believe that the ipn isn't working.

longwave’s picture

uc_paypal_ipn() only communicates with PayPal and does not return any content, so that Devel error is not relevant.

As you say it must be something in your theme, but from a quick glance at the code, I can't see anything obvious.

stg11’s picture

StatusFileSize
new222.66 KB

I am including the entire error output of the dtools/wsod in case there is something else there that you notice. All the messages look like they resulted from the WSOD rather than caused it, unless it's the first line:

menu_execute_active_handler(): returned NULL - it's very bad!

I am still trying to find the offending code in the theme.

longwave’s picture

Status: Postponed (maintainer needs more info) » Closed (fixed)

The devel error log is not relevant. uc_paypal_ipn() works like that by design, and as your orders are getting marked as completed, that code is working.

There is something specifically wrong with your theme, but the Ubercart issue queue is not the place to solve that problem.

Resetting status as this is not the same issue that was originally described, either.