diff --git a/lib/WebGUI/Shop/Cart.pm b/lib/WebGUI/Shop/Cart.pm index e6ce6201d..043033128 100644 --- a/lib/WebGUI/Shop/Cart.pm +++ b/lib/WebGUI/Shop/Cart.pm @@ -911,6 +911,8 @@ sub www_update { } if ($self->readyForCheckout()) { my $total = $self->calculateTotal; + ##Handle rounding errors, and checkout immediately if the amount is 0 since + ##at least the ITransact driver won't accept $0 checkout. if (sprintf('%.2f', $total + $self->calculateShopCreditDeduction($total)) eq '0.00') { my $transaction = WebGUI::Shop::Transaction->create($session, {self => $self}); $transaction->completePurchase('zero', 'success', 'success');