Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 public function getResult($queryRow)
 {
     $o = Order::getByID($queryRow['orderID']);
     return $o;
 }
Ejemplo n.º 4
0
 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;
 }