First Ubercart setup on a Drupal 7 install, although I have set up several on 6, so please forgive me if I am missing something obvious.
I have set up, and everything seems to be working well until the customer fill out their details and clicks "Review Order".
The summary box turns up, and the button to 'Submit Order' appears. However, when you click 'Submit Order', it takes you back to /cart/checkout.
Clicking 'Review Order' takes you back to the 'cart/checkout/review' page to submit the order, and so on. So it seems to be stuck in a loop.
I've got no errors being thrown up so it may be my setup.
Currently my payment settings are set to 'Other', although I can't find out any details about how to set this up (I need to take credit cards manually for now), so I'm not sure if this is the issue.
Thanks for your help.
| Comment | File | Size | Author |
|---|---|---|---|
| #17 | 1187632-checkout-review.patch | 2.18 KB | longwave |
| paymentsettings.jpg | 86.17 KB | petarb |
Comments
Comment #1
petarb commentedUpdate: I have enabled the 'test' credit card gateway as an alternative payment method, tested, and the same behaviour occurs.
Still a problem.
Update: changing the payment method to COD throws up the following error:
Notice: Undefined variable: review in uc_payment_method_cod() (line 201 of /home/desclass/public_html/sites/all/modules/ubercart/payment/uc_payment_pack/uc_payment_pack.module).
Now changing this to a bug.
Comment #2
petarb commentedComment #3
petarb commentedLooks like it's not just me.
http://www.ubercart.org/forum/support/22028/review_order_submit_order_re...
No one else have this issue?
Comment #4
petarb commentedJust did a test with Paypal. Seems to work fine. So it's an issue with COD or Check.
As a quick way to get around this, anyone suggest any other 'manual' payment methods I could put in for now?
Comment #5
petarb commentedI just tried another 'manual' payment method:
http://drupal.org/project/uc_bank_transfer
The behaviour is the same. Pressing 'Submit Order' takes you back to the /cart/checkout page, with no error messages - an loop. The order is not completed, recorded, etc.
So somewhere along the line ubercart is not taking non-financial payment seriously (joke!). ;)
Any help would be appreciated.
Comment #6
tr commentedSounds more like a problem with your https setup, or with some contributed module. I would disable all your Ubercart-related contributions and turn off https if you're using it and test again. Then turn on one at a time until you figure out which one is causing the problem.
Comment #7
petarb commentedhttps setup? ? It sounds like something I have not configured at all!!! Is there some setting within drupal in relation to this? I don't recall doing anything in regards to it, not sure if I should have. I've only ever used https for other cart systems when taking cc details, didn't think I would need it for this.
I'm currently testing without other modules, but I was running a pretty lean install as it is.
Thanks, will report back.
Comment #8
petarb commentedAfter stripping down all other modules, taking a backup, and reinstalling, restoring the backup, I can confirm this issue is resolved.
1) It could have been a bad install
2) It could have been a bad module interaction
If it's (2), I'll probably report back at some time, since I will be reactivating modules to check. It's it (1), I guess we'll just leave it there. Thanks TR.
Comment #9
JohnDoranNY commentedI have the same issues happening.. it works okay with like PayPal Website Payment Standard, but when I try with PayPal Website Payment Pro, I am stuck in the same loop. It brings me back to the Checkout page with all my prior information filled in but only last 4 digits of credit card displayed.
I have verified my WPP settings against paypal sandbox...
I also notices if I turn on any textboxes like the CVV textbox, it throws the error "Undefined index: cc_cvv in uc_payment_method_credit() " and on the review page, CVV is blank.
Comment #10
JohnDoranNY commentedComment #11
JohnDoranNY commentedUpdate.. I installed and configured an SSL certificate, set up Secure Pages to include "cart" and "cart/checkout" and now my loop skips the review page.. it just redirects back to itself over and over and over again.... I've tried with every possible configuration I can think of in settings for cart and checkout and payment and nothing seems to correct the problem (and I have a client expecting to see this in action during our meeting tomorow.. I have no clue what I am going to do about that!).
Has anyone run into this and fixed it???
Comment #12
JohnDoranNY commentedComment #13
JohnDoranNY commentedComment #14
mandreato commentedSame issue here: setup just "other" payment method, but when confirming order on the cart/checkout/review page, it returns to cart/checkout.
All mandatory field are filled, no error message is shown, repeating the sequence get to same situation.
Flushed cache (two times), upgraded to latest Ubercart dev and latest D7 dev.
Comment #15
JohnDoranNY commentedI thought I had solved it by making the 'entire site' HTTPS ... it worked ONE TIME it seemed.. but now its back to the looping again. This system is supposed to be demo'd to the client today and I can't get the payment to work. Has anyone figured out a way to fix this issue???
Comment #16
juves commentedSame problem on a clean Drupal+Ubercart installation with uc_bank_transfer as payment method
I don't use https
Comment #17
longwavePlease test the attached patch. This changes the way the 'do_review' session variable is handled during checkout, so could also do with a code review if anyone is able and has time.
Comment #18
mandreato commentedPatch #17 does the trick for me !
Comment #19
tr commentedHow did this get so totally broken in the past week? #17 works, so I committed it because the current -dev release is unusable without it.
Comment #20
JohnDoranNY commentedI applied the patch to the latest version (dev as of 6/18/2011) and when I clicked to pay I got the following errors;
•The credit card type did not pass validation.
•Notice: Undefined index: cc_type in uc_paypal_wpp_charge() (line 332 of /home/content/21/7420121/html/sites/all/modules/ubercart/payment/uc_paypal/uc_paypal.module).
•Notice: Undefined index: message in uc_payment_process_payment() (line 518 of /home/content/21/7420121/html/sites/all/modules/ubercart/payment/uc_payment/uc_payment.module).
•We were unable to process your credit card payment. Please verify your details and try again. If the problem persists, contact us to complete your order.
•Notice: Undefined index: do_complete in uc_credit_cart_review_post_form_submit() (line 1314 of /home/content/21/7420121/html/sites/all/modules/ubercart/payment/uc_credit/uc_credit.module
and using the back button on the review page to change credit card I got:
•Notice: Undefined property: stdClass::$weight in _uc_usps_package_products() (line 690 of /home/content/21/7420121/html/sites/all/modules/ubercart/shipping/uc_usps/uc_usps.module).
•Notice: Undefined property: stdClass::$weight in _uc_usps_package_products() (line 691 of /home/content/21/7420121/html/sites/all/modules/ubercart/shipping/uc_usps/uc_usps.module).
•Notice: Undefined offset: 2 in uc_ups_quote() (line 982 of /home/content/21/7420121/html/sites/all/modules/ubercart/shipping/uc_ups/uc_ups.module
entering a REAL credit card (for sandbox???) I still get:
•The credit card type did not pass validation.
•Notice: Undefined index: cc_type in uc_paypal_wpp_charge() (line 332 of /home/content/21/7420121/html/sites/all/modules/ubercart/payment/uc_paypal/uc_paypal.module).
•Notice: Undefined index: message in uc_payment_process_payment() (line 518 of /home/content/21/7420121/html/sites/all/modules/ubercart/payment/uc_payment/uc_payment.module).
•We were unable to process your credit card payment. Please verify your details and try again. If the problem persists, contact us to complete your order.
•Notice: Undefined index: do_complete in uc_credit_cart_review_post_form_submit() (line 1314 of /home/content/21/7420121/html/sites/all/modules/ubercart/payment/uc_credit/uc_credit.module
But at least.. it DID solve the looping problem..
Comment #21
simonswiss commented#17 works for me too! Thanks a whole heap!!
Comment #22
petarb commentedI ended up hacking a solution, not the best. However I would like to thank longwave for quickly addressing the issue. #17 seems to be good for now!
Comment #24
akalata commentedI've hit the same issue with 6.x-2.x-dev and patch from http://drupal.org/node/1192018#comment-4617604 applied. Should I open a new issue, or was this version fixed along with 7.x?edit: Issue exists even without that patch applied.Nevermind, I'm an idiot. Missed a db update.
Comment #25
m4712ix commentedI am still lost on the patching ubercart/drupal section. It seems like everything is ran through cmd line. I don't have that access to my server at this time and was wondering if I am supposed to use another module or if I can just copy and paste that code somewhere. This is the error I get when trying to check out.
Notice: Undefined variable: review in uc_checkout_pane_quotes() (line 715 of (site path) /sites/all/modules/ubercart/shipping/uc_quote/uc_quote.module).
any ideas videos or other ways of figuring this out?
Comment #26
tr commented@m4712ix: What does that have to do with this issue? You're saying you have an entirely different error than anything discussed here. You need to open a new issue with the details of what versions of Drupal and Ubercart you're using, where that error occurs, in response to what actions do you see the error, and what steps do we have to take to reproduce the error.
Comment #27
m4712ix commentedAllow me to explain myself. The issue is exactly the same, and # 17 suggests applying a patch, I have never done this and checked a lot of the drupal documentation and am still unable to figure out how to apply that patch. I have a looping checkout screen when trying to pay via a cc. (authorize.net). It happens when you enter all the payment information get past the review checkout and then click submit to submit your payment it takes you back to the checkout page and doesn't have any errors until after you submit it and then you see the error that I posted in my last post.
This is on drupal 7.7's latest install / minor patch and the error there is the only one that comes up(mentioned before). When you click review checkout this error is at the top now "Notice: Undefined variable: review in uc_checkout_pane_quotes() (line 715 of ../../sites/all/modules/ubercart/shipping/uc_quote/uc_quote.module).", and everything looks good on the status page. This is ubercart 3.0 beta. Sorry for the confusion I am a little new here.
Comment #28
drupalworlds commentedMy drupal is D6 version, however, 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.
If you may have the same problem, it must be helpful to check whether you change the setting for products already set.
Comment #29
nomadlancer commentedDrupal 7.12 / Ubercart 7.x-3.0
I've experienced the same problem when using COD method. Whenever I pressed the submit button from the checkout/review page, the order was not accepted and i just ended up looking at the same review page.
It appeared that the problem was wrong configuration. I have set a value for "Maximum order total eligible for COD" and my order exceeded it.The real problem was actually not the configuration itself, but the lack of information about it. It appeared later that the module was exiting with error message, but I never received any notification about it. There was nothing in the Reports page. I had to debug the module in order to find the error and thus figure out that my configuration is wrong.
So whenever you end up in such a loop, when using any payment methods, the real problem is really hidden, but it may be revealed by wasting some time on debugging.
Happy debugging.
Cheers
Comment #30
Anonymous (not verified) commented#17 ... the code does not exist in the uc_cart.module
unset($_SESSION['cart_order'], $_SESSION['do_complete'], $_SESSION['new_user']);Not sure if this is outdated or what. And is it just me or is everyone else concerned that this did not pass simpletest? Considering this module has to do with the exchange of money I think this should not be so easily overlooked. If any section of drupal should be using standards it should be the payment modules.
Comment #31
longwave#17 was committed 8 months ago, and the code has changed since, so this is definitely outdated.
If you are having similar issues as described here, please open a new issue with full details, rather than reopening this one which was considered fixed.
Comment #32
mcdoolz commentedI just encountered this glitch while plodding along and after much research I discerned that it was in fact a javascript conflict.
I had javascripts in my html.tpl (sue me).
I added an 'if $is_front' and now the checkout page has no loops. Orders are processed correctly.
I wouldn't have bothered posting given the thread status, but this whole thread is discussing the Ubercart and the Payments Pack module which I am using, so it seemed pertinent.
Comment #33
normindr commentedMaybe some think this is a closed issue. Its not for me.
If this looping issue is closed, so why I'm I experiencing the problem?
I experience looping at check-out with COD (restaurant with pay the delivery man)
Some post a patch solution with no instructions so impossible for the neophytes to address this!
Folks isn't the whole idea of having an online shop about being to conclude an order?
I am new to Drupal 6.2 & Ubercart 2.9 and Uber POS 6.x-1.0 (not working by the way)
I have installed several php based shops and 1 Prestashop but this is the pits.
So far my review of Drupal-Ubercart-UberPOS is NEGATIVE
WHY? If you are not a rocket scientist - YOU WILL NEVER GET ANYTHING TO WORK
Where are the product developers? why don't they fix their DIS FUNCTIONAL product
Comment #34
tr commentedReturning thread to previous status.
Since you've also posted your rant on ubercart.org, your support issue can be dealt with there. Assuming of course anyone is willing to help you after your offensive post.
Comment #35
drum5ormore commentedHi,
I am currently encountering this error and would appreciate any kind of help in determining the problem.
As far as I can tell, the "looping" effect mentioned above is occurring for me under uc_cart_checkout_review():
This happens both when I refresh the page (which I imagine is intended) and when I click "Submit order" (which I'm sure is not intended). For some reason the $_SESSION['uc_checkout'] variable is getting set to an empty array, and I can't tell where.
It's not happening before uc_cart_checkout_review_form() is called, because printing this variable inside the form callback returns the correct results. I've also printed the $_SESSION variable at the end of Drupal's index.php file, and uc_checkout dumps out correctly. So I know it can't be anything that occurs from anything invoked while the page is rendering.
When I submit the form, I've confirmed the redirect occurs before any form processing functions are called.
What's strange is that it's as if the uc_checkout variable gets reset right when the session is initialized. To test this, I went to the review form, and then changed index.php so it would only initialize the session without loading any other files. Then I went into drupal_session_start() and dumped $_SESSION right after session_start() is called. The output showed uc_checkout had been set to an empty array.
Those two tests make me feel pretty confident there isn't some rogue module resetting uc_checkout. If that wasn't enough, I changed the name of the uc_checkout variable wherever it occurs inside uc_cart.page.inc, the idea being that if it was some other file or module causing the problem, they wouldn't know to touch the new variable name. But when I did this, and clicked "Submit order", the same behavior occurred; where the new variable was set to an empty array.
This seems to suggest that problem is somewhere inside uc_cart.page.inc. But there are only so many places the variable is reset, and in all my tests, the only time the variable is reset explicitly is inside uc_cart_checkout_form(). Which shouldn't be causing the problem.
I'm wondering if it's some session settings related to my server. This is a different hosting provider than I've used before. But I've compared my current PHP session settings against ones that have worked before, and they're exactly the same. Also, if it were a settings issue, why is it that only one variable gets reset, instead of the whole session? Variables like 'uc_order' and 'uc_addresses' are preserved through the entire process.
I guess I could just comment out the line that's causing the redirect, but does that make the cart insecure?
Again, any help would be greatly appreciated.
Thanks!
Ethan
Comment #36
drum5ormore commentedThis is the version I'm using...
Comment #37
tr commentedPlease repost your support request in #1785746: Review order page keeps looping back to itself???. You might also mention whether you're using HTTPS and whether you've tried turning it off ...
Comment #38
sstedman commentedSame exact issue here, with Secure Pages and Ubercart, when clicking "Submit Order" at cart/checkout/review, I get redirected to cart/checkout.
After spending a day debugging the same issue, it boiled down to setting a $base_url in settings.php.
I did not have one set.
I can now complete an order under https without getting stuck in a redirect loop, FWIW.
Comment #39
pavagadhijatin commentedI have still the same problem in the drupal-7, i am not able to redirect on "Review Page" when clicking on the "Review Order" button.