Postponed (maintainer needs more info)
Project:
e-Commerce
Version:
6.x-4.x-dev
Component:
ec_customer
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
23 Jul 2009 at 21:02 UTC
Updated:
17 Aug 2010 at 12:37 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
rc2020 commentedI can confirm this bug and it prevents the system from processing the payment. I'm marking it as critical as the system can not function at all while this loop exists.
Note: This happens on rc-11 version for me, not the latest -dev. I'm putting on the latest -dev to test to see if this problem exists. I'll report back to see if it still does on -dev.
Comment #2
rc2020 commentedI can confirm the bug still happens in the dev release.
Comment #3
gordon commentedI have taken a look at this and it works for me.
If you install simpletest and run the ecommerce tests it will test this very situation.
Comment #4
gordon commentedComment #5
xen commentedDoesn't work for me, I've hacked ec_customer_email_checkout_form in order to be able to work on my payment module.
The problem is as follows:
The default value for the email field gets set to $txn->mail in ec_customer_email_checkout_form, which is empty.
When the user types the real address, the javascript make disables 'place order' and the user has do 'update order'.
That apparently only runs the validation, which rebuilds the form, using $txn->mail (still empty) as the default value.
ec_customer_email_checkout_submit actually copies the submitted value to $txn->mail, but that never gets called.
(HEAD as of today)
Sounds like the same problem as the original poster is experiencing.
Comment #6
moodeyit commentedWe have a similar issue. Whereby filling in form details, then clicking on 'Update order' button clears the email field. We are using IIS6, clean URLs are switched on using ISAPI Rewrite 3, and using the latest release.
I noticed that the issue arrises when the clean URL is being used. ie http://weburl/checkout.
When filling in details the 'Place you order' button is greyed out. Clicking on 'Update order' button changes the Clean URL to the full URL, ie. http://weburl/index.php?q=checkout. Then it will allow you to fill out the email address and only then we are able to click the 'Place your order' button.
Comment #7
funkyhat commentedI can also confirm this bug.
I've installed the simpletest module and run the e-commerce tests, it appears to be trying to run the product tests on nodes that are not products, but other than that, I can see some errors on the "anonymous purchasing" tests, this error appears:
"Call to undefined function ctools_include() PHP Fatal error ec_checkout.module 97 Unknown"
I don't know if that's helpful, let me know if/how I can provide any more information.
Comment #8
carissa85 commentedI am also having this problem. I would like to be able to remove the update order function entirely. Is this possible? I don't want to have to post a list of directions for my customers so that they can trick the system and actually buy something without going through this never ending loop? Thanks for any help.
Comment #9
carissa85 commentedComment #10
javelinarach commentedI'm also getting this error and cannot complete transactions on my site. Each time I enter info into one of the checkout fields, an error message appears at the bottom of my screen that says "* Checkout has been changed. Please update the order to ensure the totals are correct." When I fill out each field of checkout, I've got about 6 error messages (all the same) listed at the bottom of the page.
I've tried reinstalling eCommerce and also tried disabling clean URLs. Anything else I can try? My site is essentially down right now.
Thanks much!
rachael
Comment #11
carissa85 commentedTo clarify-I would like to have anonymous purchasing. I do not mind the "update order" function per se, as long as they only have to do it once. I would really like to have the "update order" function removed, but if that is not possible, I would like my customers to have the ability to click "Buy Now", enter their information, click "Update Order", review their order, and then be able to click "Place Your Order". As it stands they cannot click "Place Your Order" AT ALL because each time they "Update Order" their email address is removed and they must re-enter, thus making the system THINK that they must update their order again. This is neverending. Please help!
Comment #12
xen commentedThe attached patch allows me to submit an order, though I'm not convinced that it's the right fix, nor whether it behaves properly in real life (where users might type the wrong address, resubmit, use the back button, etc).
Comment #13
funkyhat commentedI can confirm that this patch seems to fix the issue. Have not tested extensively, and I can't comment on the method it uses, I don't know enough about how ec modules work.
Comment #14
epg commentedI have the same problem, running rc11 on Drupal 6.13. Problem occurs both with FF and Chrome. (Haven't tested in IE6). I cannot complete checkout because after entering email address the "update order" button clears the email address.
And an "you must update your order" messsage pops out every time I hit "enter" after I fill the email address field. This occurs both with anonymous and logged in checkout.
I updated the priority to critical because being able to check out or submit an order is a crucial task of any shopping cart or ecommerce system!
Comment #15
carissa85 commentedThe patch posted above does not work for me! Please help! It's really important that I get this to work!
Comment #16
nerkn commented+1
Patch didn't worked for me either!
Comment #17
gordon commentedThanks, I have committed this to dev, and will be in the next rc.
I have also added a test so this doesn't break in future.
Comment #18
funkyhat commentedThis is still intermittently an issue in rc13
Comment #19
xen commented"This is still intermittently an issue in rc13"
Likely, but try RC15 and see if that doesn't fix it.
Comment #21
SestuDeus commentedHi,
seems I'm here too late, but I've just installed the rc18 and this bug appears.
I thought it was fixed from rc15
please help
Comment #22
SestuDeus commentedI have tested out every combination I can think of. I've noticed if I login as first user, the problem doesn't appear, but for anonymous purchasing the bug is still there.
I'm interested in anonymous purchasing for many reasons ... I've upgraded the priority to critical because no one is able to use the e-commerce module in my site (not for paying).
Hope someone read this.
Comment #23
SestuDeus commentedI ran simpletest and here the results:
Cart Login
Check that when a customer logs into the system the current cart is retained.
15 passes, 2 fails, and 0 exceptions:
Product exists in cart Other ec_cart.test 132 ecCartLoginKeepCart->testCartLogin()
Product still exists in cart after login Other ec_cart.test 138 ecCartLoginKeepCart->testCartLogin()
Check loading address on checkout
Check to make sure that changing payment gateway is not losing address information on the page
34 passes, 0 fails, and 2 exceptions:
implode() [function.implode]: Invalid arguments passed Warning form.inc 833 form_get_error()
implode() [function.implode]: Invalid arguments passed Warning form.inc 833 form_get_error()
Test Update Order
Test update order to make sure an entered address is retained
24 passes, 0 fails, and 1 exception
implode() [function.implode]: Invalid arguments passed Warning form.inc 833 form_get_error()
eMail Update
Check that when updating the order the email for anonymous customers is retained.
9 passes, 0 fails, and 2 exceptions
implode() [function.implode]: Invalid arguments passed Warning form.inc 833 form_get_error()
implode() [function.implode]: Invalid arguments passed Warning form.inc 833 form_get_error()
Check Generic Transaction
Check that when a general product is purchased the transaction will be complete
18 passes, 0 fails, and 1 exception
implode() [function.implode]: Invalid arguments passed Warning form.inc 833 form_get_error()
Check Zero Charge
Check when a zero charge transaction is made allocation is set correctly
18 passes, 0 fails, and 1 exception
implode() [function.implode]: Invalid arguments passed Warning form.inc 833 form_get_error()
... that's all
Comment #24
SestuDeus commentedI tried now the 6.x-4.x-dev and the simpletest run without errors, but the issue remains. Same loop, same useless checkout.
Comment #25
gordon commentedComment #26
gordon commentedJust reactivate and fix the issues
Comment #27
SestuDeus commentednope, won't fix for me. I've tried in a simpler test-site too (with everything functioning right).
I think the module is too much unstable.
If someone has experienced this particular issue AND resolved it, AND now is using ec module for real-life commerce, please write down some instruction on how has done. PLEASE.
Comment #28
GemVinny commentedDid you manage to fix it? Or come up with a solution?
Gemma
Comment #29
GemVinny commentedDid you manage to fix it? Or come up with a solution?
Gemma
Comment #30
gordon commentedAt this stage I have not been able to replicate this issue. However I did find what I consider a bug in SimpleTest #883520: Form errors should automatically assert an error where form errors are created there is no assertion in the tests, so the errors are ignored.
The only thing that I can ascertain is that this only occurs for anonymous users. Does this happen with caching on and off? is there anything else that maybe relevant.
Please let me know.
Comment #31
johngonole commentedYea this is still occurring even in the latest release of the drupal 6 version. I know this project appears to be dead but thought I'd post this anyways. I'm trying to set up a receipt to be emailed using rules. However to do this I must have the customers fill out their address when they checkout. Sadly as soon as I mouse click from one address box to the next it blanks out the place order button and prompts to update. Upon updating the credit card info is lost in most cases. Checkout can still work but can't have my customers getting aggravated. So I'm back to PayPal standard for the time being. Of course I upgraded to PayPal pro because they were having some serious issues last week with PayPal standard.
At any rate I'm going to keep toying around with combinations to see if I can find a solution. If I do I'll post it here.
Update: 3-5-17 - So I found the javascript for the update button and just deleted it and then used CSS to make the button invisible. My products are all No Quantity so this has worked as a temp work around. Since they don't need the update button I just removed it. I'm now using PayPal Pro. Every now and then I get some PHP errors and trying to track down the cause. But yea I have no idea why this particular issue was never corrected. Pretty consistent problem.