I'm still not sure if that gets at the issue or not. I think I may have solved the problem, but it will require the folks having troubles to test. The issue is that it had a hardcoded check on the order status, and so if your site was configured to do something different with orders it would fail on the return. Open up uc_paypal.module and change the function uc_paypal_complete() around line 693 to look like the following:
<?php
function uc_paypal_complete($order_id = 0) {
if (intval($_SESSION['cart_order']) != $order_id) {
$_SESSION['cart_order'] = $order_id;
}
if (!($order = uc_order_load($order_id))) {
drupal_goto('cart');
}
// This lets us know it's a legitimate access of the complete page.
$_SESSION['do_complete'] = TRUE;
drupal_goto('cart/checkout/complete');
}
?>


Joined: 08/07/2007