I have a perfectly working version 2.4 running free orders. I updated to 2.7 and it no longer works correctly. The orders just stay as Pending.

Comments

vasrush’s picture

This seems to be the case with me too.
No errors in dblog, the order stays in Pending mode
and the product stays in the cart.

vasrush’s picture

I made some progress on investigating the problem.
The call to uc_cart_complete_sale on uc_payment_enter function
breaks UberPOS and it seems that it breaks this module too.

Hacking ubercart uc_payment.module in line 650 seems to fix it for me

// Ensure user has an account before payment is made.
  // Ensure that this is not a free order first
  if (uc_order_get_total($order_id) !== 0) {
  uc_cart_complete_sale($order);
  }

but I don't know if this is a right solution. I will probably stay with ubercart 2.4
and wait for a 'real' fix.

More info in http://drupal.org/node/1340782

EDIT: Working again! Find out that it was a bad conditional action that causes the problem for me. So the above code is not right. There is no reason to hack ubercart.

Anonymous’s picture

Hi Vasrush,

Could you please provide the conditional action configuration that you used to get this working?

Thanks,
Mike

vasrush’s picture

Mike,

My problem was a ca that used to redirect the user to a different checkout-complete page with a condition of
payment method.
Try to disable your custom conditional actions and re-enable them one by one.

Good luck!