Hello,
I searched for a solution everywhere, ubercart site, drupal.org, but I found nothing that could explain how to solve the problem.
Payment has worked for a couple of months., then suddenly stopped working.
I updated the views yesterday, but payment was not working even before the upgrade.
My problem is with the last step of payment, when I click the button review order, it returns me to the cart checkout page!

/cart/checkout rather than /cart/checkout/review

I use the last stable version of drupal 6, acquia_prosper theme, 1 contrib module, uc_tablequote, and paypal for payment.
In table "users" I have the user with id 0!

The site, in production :(, is www.x-kombat.com

Thanx in advance for help!

Comments

tr’s picture

Category: bug » support
bentekwork’s picture

Does it work in Firefox? If so then you may have the same issue as http://drupal.org/node/684552

fr34ck’s picture

Hi, thanks for your answer!
Does not work with any browser. Problem looks different from other issue. I will try to disable some js and see if it solves the problem!

For now I solved by sending the user directly to PayPal.

gnook’s picture

Version: 6.x-2.2 » 5.x-1.9

Hey bud,

I have the same issue as well! Have you made any headway yet? I am puzzled...

gnook’s picture

Quote from http://www.ubercart.org/forum/bug_reports/2660/warning_implode_functioni...

""
I executed the following query:
INSERT INTO `uc_order_statuses` VALUES ('canceled', 'Canceled', 'canceled', -20, 1);
INSERT INTO `uc_order_statuses` VALUES ('in_checkout', 'In checkout', 'in_checkout', -10, 1);
INSERT INTO `uc_order_statuses` VALUES ('pending', 'Pending', 'post_checkout', 0, 1);
INSERT INTO `uc_order_statuses` VALUES ('processing', 'Processing', 'post_checkout', 10, 1);
INSERT INTO `uc_order_statuses` VALUES ('completed', 'Completed', 'completed', 20, 1);

and it worked. Thanks

""

Whew, that solves it!

fr34ck’s picture

Version: 5.x-1.9 » 6.x-2.2

In my database I have other values entered

canceled Canceled canceled -20 	1
in_checkout In checkout in_checkout  -10 	1
pending Pending post_checkout 0 	1
processing Processing post_checkout 5 	1
completed  Completed completed  20 	1
payment_received Payment received payment_received 	10 	1
paypal_pending PayPal pending payment_received 	   7 	1

And still not working.

longwave’s picture

Status: Active » Closed (cannot reproduce)

Old issue with what seems to be a number of different problems, closing.

screenage’s picture

So then, where do we find the solution?

screenage’s picture

I found out that it is the Payment method checkout pane that is causing the trouble, but don't know why (yet)

screenage’s picture

Turns out Ubercart needs a payment method. As I don't need payment methods, my fix was to set the Payment Pack payment method, and to hide all the elements produced by this module everywhere i could.

TC44’s picture

Version: 6.x-2.2 » 6.x-2.6
Status: Closed (cannot reproduce) » Active

I'm getting this issue both with Ubercart 6.x-2.6 and the latest dev. Has anyone else who's had this problem been able to get it sorted out successfully?

I've upgraded a site from D5 with lots of existing customer data and products, so unfortunately a complete clean installation/reinstall is not an option. Payment methods are enabled, etc. On review order, it just loops back to checkout.

longwave’s picture

What payment method are you using? Is anything logged at /admin/reports/dblog?

TC44’s picture

I'm using paypal as well as the payment method pack, same issue regardless of method selected (paypal/check/mo). I'll test again and check the logs, I just did a db rollback on my 5 to 6 update to try and rebuild it in steps again to see if it makes any difference.

TC44’s picture

This looks like the error in /dblog that is related to this..

Type: Form
Message: Illegal choice in Payment method element.
Severity: error

longwave’s picture

Do you have any other modules enabled that may alter payment methods or the checkout page?

TC44’s picture

Thanks for the reply. Here's what's installed related to UC.

Ubercart 6.x-2.x-dev (all core UC mods enabled)

attribute 6.x-2.x-dev
file downloads 6.x-2.x-dev
shipping 6.x-2.x-dev
shipping quotes 6.x-2.x-dev
taxes 6.x-2.x-dev
cp shipping 6.x-1.x-dev
payment method pack 6.x-2.x-dev
paypal 6.x-2.x-dev

I did also have workflow_ng installed on V5, and I was not able to uninstall it on the upgrade. The module has been removed from the modules dir, but attempting to uninstall generated errors. (Fatal error: Cannot redeclare node_action_info() )

TC44’s picture

I attempted another update from Drupal 5 to 6 dev this time. Minimal modules enabled to get Ubercart running, default Garland theme.

Same thing happens, loops back on review order.

Similar to this issue? - http://drupal.org/node/1187632

drupalworlds’s picture

I had a trouble that the checkout page was looping when I clicked the review order button with credit card payment method (but the paypal payment was ok) in ubercart.

Before the action, I had already produced some products with the default currency, AUD and tried to buy them in test mode several times and then, I changed the currency into USD in the store setting.

I found that the reason the looping problem in the process of checkingout the order was caused by the changing the default currency.

So I revoke the currency change and there is no looping problem anymore.

If you have the same problem, it may be helpful to check whether you change the setting for products already set.

tr’s picture

Priority: Critical » Normal
longwave’s picture

Status: Active » Closed (cannot reproduce)

Still unable to reproduce this. Will probably need full access to a site/database that demonstrates the issue to be able to diagnose it.

Dan_Ar’s picture

Version: 6.x-2.6 » 6.x-2.9
Priority: Normal » Critical
Status: Closed (cannot reproduce) » Active

Yesterday I started finalizing our site to start selling things online. I made a few test purchases. Then I switched the payment gateway and the UPS shipping quotes from test modes to production. I made another test purchase with a real credit card (the only gateway at the moment is authorize.net). Everything went fine. Then I cancelled the order through authorize.net, and deleted the order in ubercart. I added a user and changed some permissions (not sure that's relevant, but if you think it is, I can probably give you more details). Then when I went to make another test purchase I couldn't get passed the checkout screen.

Here is everything I can think of that might help you diagnose this problem:

  1. Since checkout stopped working, I cannot get UPS shipping quotes to work in test mode (works fine in production mode). When I switch from production mode to test mode (and not vice-verse) I get this error:
    warning: array_shift() [function.array-shift]: The argument should be an array in /home/username/public_html/includes/form.inc on line 1343.
  2. When I submit the checkout form with a typo: I get a validation error, and all address fields are wiped out and credit card fields remain (I know this is not default drupal behavior, is it intentional?). When there are no typos: all fields are wiped out (like a refresh) and no validation errors, no drupal log errors, and no /var/log/httpd errors.
  3. I have a separate development server with a copy of the almost-production servers database and files from last Tuesday. It's working fine (order review page and all). I can't give you access to the database, but I'd be happy to execute some queries for you or look something up if you think it would help.

I'm at a standstill here right before the big day, so any help you could offer would be greatly appreciated.

Thank you!

tr’s picture

Priority: Critical » Normal
Status: Active » Postponed (maintainer needs more info)
Dan_Ar’s picture

Priority: Normal » Critical
Status: Postponed (maintainer needs more info) » Active

I found out where I'm being redirected back to 'cart/checkout': It's line 373 of uc_cart.pages.inc

All of the orders in the 'uc_orders' table have the order_status: in_checkout. Would more information about this table help you?

Dan_Ar’s picture

Priority: Critical » Normal

Sorry, didn't change the priority on purpose

Dan_Ar’s picture

Status: Active » Postponed (maintainer needs more info)
longwave’s picture

Are you using Secure Pages?

Dan_Ar’s picture

Yes I am.

I also figured out that the if statement on line 373 is TRUE because $_SESSION['cart_order'] == 0 and $order === FALSE

longwave’s picture

$_SESSION['cart_order'] stores the order ID between pages, so somehow this is being lost. If you disable Secure Pages module, does that make a difference? You could also try copying your production site back to your development environment to rule out server configuration issues. I have no idea where that array_shift() warning is coming from either, I'm afraid.

Dan_Ar’s picture

Once I disabled and uninstalled secure pages the problem went away.

Does that give you an idea of what caused this, or do I have to just stop using secure pages?

longwave’s picture

Status: Postponed (maintainer needs more info) » Fixed

There have been lots of issues with Secure Pages, search the ubercart.org forums for details and possible solutions.

You could try using uc_ssl module as an alternative. If you are accepting credit cards on site, you must either force all your pages through SSL or use a module to keep the checkout page secure.

Dan_Ar’s picture

I tried uninstalling secure_pages and installing uc_ssl, and same problem.

Thanks for all your help, I'll check the forums...

tr’s picture

That's why I moved this back to support request - Secure Pages is the most likely cause, and the explanation of why this happens appears in many different threads here in the issue queue and on Ubercart.org. Probably your theme is loading resources like CSS or images via HTTP on a secured page, which breaks the secure session. As noted above, we can't look into this for you without a URL to your site. But you should be able to find it yourself by inspecting the page info in your browser. Try using the default Bartik theme, if it works for Bartik then the problem is with your theme. Also look for JavaScript errors on cart/checkout. And carefully check your Secure Pages configuration - if things work with *all* pages secured or *no* pages secured, then the problem is in your configuration. Using uc_ssl is *not* a good idea for many reasons, which again have been mentioned many times before.

Dan_Ar’s picture

I'm pretty sure I found the problem:

http://www.ubercart.org/forum/support/4240/there_are_no_products_your_sh...

The ssl cert I had has no www and I had secure pages to redirect to https://www.example.com

For some reason it looks like this was only causing problems in that one spot. I don't know. On Thursday I'm gonna have to do more testing.

I didn't know anything about uc_ssl. I just tried it because I couldn't get secure pages to work.

Status: Fixed » Closed (fixed)

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