示例#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;
 }
示例#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;
 }
示例#3
0
 public function getResult($queryRow)
 {
     $o = Order::getByID($queryRow['orderID']);
     return $o;
 }