/** * Updates the orders totalPaid and datePaid date and completes order * * @param Market_OrderModel $order */ public function updateOrderPaidTotal(Market_OrderModel $order) { $totalPaid = craft()->market_payment->getTotalPaidForOrder($order); $order->totalPaid = $totalPaid; if ($order->isPaid()) { if ($order->datePaid == null) { $order->datePaid = DateTimeHelper::currentTimeForDb(); } } $this->save($order); if (!$order->dateOrdered) { if ($order->isPaid()) { craft()->market_order->complete($order); } else { // maybe not paid in full, but authorized enough to complete order. $totalAuthorized = craft()->market_payment->getTotalAuthorizedForOrder($order); if ($totalAuthorized >= $order->totalPrice) { craft()->market_order->complete($order); } } } }