public function processCheckoutForm($data) { $orderID = $data['order_id']; $amount = $data['amount']; $order = Order::getByID($orderID); // get or make user account $u = new User(); $userExists = $u->isLoggedIn(); if (!$userExists) { $ui = $this->addUserAccount($data); } else { $ui = UserInfo::getByID($u->getUserID()); } // save user field data foreach ($data['akID'] as $key => $value) { Field::update($key, $value['value'], 'user'); } // process payment $payment_type = $data['payment_type']; $payment_method = PaymentMethod::getByHandle($payment_type); $charge = $payment_method->process($order, $ui, $data); // record payment $typeReference = json_encode($charge); Payment::add($orderID, $payment_type, $amount, $typeReference); // update order status $order = Order::getByID($orderID); $order->updateStatus('checkout_complete'); // redirect user to finish page return true; }
public static function getCurrentCart() { $db = Loader::db(); $u = new User(); $orderDate = date('Y-m-d'); if ($u->isRegistered()) { $customerID = $u->uID; $orderID = $db->GetOne("select orderID from RazorOrders where customerID = ? and status = 'cart'", array($customerID)); if ($orderID) { $order = Order::getByID($orderID); } else { $order = Order::add($customerID, $orderDate, 'cart'); } } else { $sid = Session::getId(); $orderID = $db->GetOne("select orderID from RazorOrders where customerID = ? and status = 'cart'", array($sid)); if ($orderID) { $order = Order::getByID($orderID); } else { $order = Order::add($sid, $orderDate, 'cart'); } } return $order; }
public function getResult($queryRow) { $o = Order::getByID($queryRow['orderID']); return $o; }
public static function getByID($orderID) { $db = Loader::db(); $order = new Order(); $orderQuery = $db->query("select orderID, customerID, orderDate, subtotal,\n taxTotal, shippingTotal, total, tax, shipping, status\n from RazorOrders where orderID = ? ", array($orderID)); $orderRecord = $orderQuery->fetchRow(); $order->orderID = $orderID; $order->customerID = $orderRecord['customerID']; $order->orderDate = $orderRecord['orderDate']; $order->subtotal = $orderRecord['subtotal']; $order->taxTotal = $orderRecord['taxTotal']; $order->shippingTotal = $orderRecord['shippingTotal']; $order->total = $orderRecord['total']; $order->tax = $orderRecord['tax']; $order->shipping = $order->decodeShippingReference($orderRecord['shipping']); $order->status = $orderRecord['status']; $order->items = $order->getItemList(); return $order; }