Closed (cannot reproduce)
Project:
Ubercart
Version:
7.x-3.4
Component:
Orders
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
5 Apr 2013 at 13:46 UTC
Updated:
15 May 2013 at 17:08 UTC
Hi,
Today a client notified me that several orders on their store are coming through with a status of "completed", and no products. I've never seen this before.
It seems to happen about once every 50 orders or so, but not so consistently that I would consider it a pattern. There's not really anything notable about the orders beyond that, except that they have no products.
I really don't have enough information to expect a "fix", but was wondering if anyone has experienced this issue before, or might have some suggestions to point me in the right direction.
Thanks!
Comments
Comment #1
longwaveWhat payment method are you using? Do you have any contrib modules or custom code that may affect the checkout process?
Comment #2
longwaveComment #3
DanZ commentedA likely place to look is in Rules. Do you have any rules set up that set the status of an order to "Completed"? It's possible that they're triggering at the wrong time.
New orders should have a status of "Payment Received" (or possibly "Pending"). If they're in "Completed", something is creating them wrong. Do you have any custom code that creates orders?
Comment #4
drum5ormore commentedI have quite a few customizations, but the only one, I know of, that would effect the checkout process is exclusive to admin orders.
The payment methods I have enabled are Credit (using Authorize.net), Check and "Free Order". The last explains why these orders are being set to "Completed". The "Free Order" payment method is automatically triggered when an order total is 0, and all the orders in question happen to show this as the active payment method.
It would make sense to me, then, that the error is occurring before the hook_uc_payment_method_checkout_alter() method is called. Is it possible the customer could be making it to the checkout page without products in their cart?
Here's an example of one of the products customer's are trying to purchase when they receive this error: http://www.thebuffmom.com/boot-camp-class/cambridge-evening-1. (It's a website offering boot camp classes for moms)
Comment #5
longwaveThere is a specific check at the start of uc_cart_checkout() which should ensure that the user is not allowed to proceed if their cart is empty at that point.
What discount module are you using at checkout? Is it possible the customers in question are trying to use a discount, and this is interfering somehow? I also notice the product you link to is free, but the individual options are priced; that shouldn't be an issue, but I wonder if it's related.
Comment #6
longwaveNo further info provided.
Comment #7
drum5ormore commentedSorry for the delay...
I am using http://drupal.org/project/uc_discounts_alt for discounts. There are about 4 discounts on the site, created by the client. I've tested each, and am able to get to the review order page with my cart intact. I'm also not sure if this is the issue, since none of the orders in question show that a discount has been applied to the order. Also, if it was a problem with discounts, I would expect to see an issue with the subtotal, not an absence of products altogether.
At first I thought the fact that products have no price until options are selected might be the cause. But as much as I've tried, I can't get to the cart without selecting some option first. Plus, if that was the issue, I would expect to see an order with products that have a price of $0.00. But again, no products are in the orders at all.
It's strange, because it should be impossible for a customer to checkout without any products in their cart. But that seems to be what's happening. And I know it's not some rule that's completing the order before the customer has checked out, because the client found out about the issue from customers who checked out, and received an invoice with a $0.00 order total.
Comment #8
longwaveI am still at a loss as to what could cause this in Ubercart core alone, and suspect that uc_discounts_alt 7.x-2.0-alpha1 may be the source of this issue, judging by the fact it's a relatively new, alpha quality release for Drupal 7, and uc_discounts_alt had lots of problems in Drupal 6. But without a reproducible set of steps to create an order with no products, it's impossible to diagnose further.
Comment #9
drum5ormore commentedFor a while there were a cluster of orders like this happening, but I haven't seen one in over a month. Perhaps it was related to some product, or discount setting the user created.
I decided to add a custom validate handler to uc_cart_checkout_review_form(), so I can detect if at this point the order doesn't have any products. I'll update this issue if I find out anymore information.
Thanks,
Comment #10
longwaveSo let's mark this "cannot reproduce" for now, but if you see this again or are able to recreate it at will, please reopen!